Skip to content

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