Faraday Application Architecture¶
Faraday is a vulnerability management platform that centralizes security findings from dozens of scanning tools. It combines a web interface, a REST API, background processing, and real-time notifications to help security teams aggregate, normalize, and act on vulnerabilities.
System Overview¶
%%{init: {'theme': 'forest', "flowchart" : { "curve" : "basis" } } }%%
graph TD
subgraph "Clients"
UI["Web Browser"]
CLI["Faraday CLI"]
AG["Faraday Agents"]
API_C["API / Integrations"]
end
subgraph "Faraday Platform"
FS["Faraday Server\n(REST API + WebSocket)"]
CW["Background Workers\n(Celery)"]
end
subgraph "Data Storage"
PG[("PostgreSQL")]
REDIS["Redis/RabbitMQ\n(Task Queue)"]
FS_STORE["File Storage"]
end
UI -->|HTTP / WebSocket| FS
CLI -->|HTTP| FS
AG -->|WebSocket| FS
API_C -->|HTTP| FS
FS --> REDIS
REDIS --> CW
CW --> PG
FS --> PG
FS --> FS_STORE
CW --> FS_STORE
Core Components¶
| Component | Description |
|---|---|
| Faraday Server | Central API and web service. Handles authentication, all REST endpoints, and real-time WebSocket notifications. Accessible at port 5985 by default. |
| Web UI | React-based interface for managing workspaces, vulnerabilities, assets, agents, and reports. |
| Background Workers | Process uploaded tool reports, calculate statistics, and execute automation workflows asynchronously. |
| Redis / RabbitMQ | Message queue that connects the server with background workers. Redis is used by default; RabbitMQ is supported as an alternative broker. |
| PostgreSQL | Primary database. Stores workspaces, hosts, services, vulnerabilities, users, and all platform data. |
| File Storage | Local directory (~/.faraday/storage) for evidence files, uploaded reports, and generated executive reports. |
Ecosystem¶
| Component | Description |
|---|---|
| Faraday CLI | Command-line client for automation |
| Faraday Plugins | 120+ tool parsers (Nmap, Burp, Nessus, and more) |
| Faraday Agents | Distributed scanning agents |
| User Docs | Official user documentation |