Faraday is a web application, the Server is made with python using Flask and the frontend is made with AngularJS (we are moving to ReactJS). It is deployed as a standard WSGI application. Its possible to interact with the Server using Faraday CLI and you can automatize tool usage with Faraday agent.
The data is persisted within a PostgreSQL database, processed with python libraries as SQLAlchemy and Marshmallow.
The server has other main components as the Report Processor, or the Websocket Server. The latter provides information to the CLI and the Agents.
Faraday CLI provides an interface for interacting with a terminal that allows the user to execute commands which results will be loaded inside Faraday Server. The CLI also allows the user to upload tool reports, create workspaces and configure your instance.
The Faraday Agents allows to automate the upload of different data to the server, such as integration with other applications or services; or execute some tools that the Faraday plugins can process. Moreover, the Agents can be executed on any remote computer and its Executors can be written in any language.
Burp / Zap Addons¶
Faraday has Burp/Zap Extensions that run inside the third party application. Using Faraday addons provides flexibility to ingress information inside Faraday Server from other applications.
Faraday manage command can generate the current database schema with: