Skip to main content

Faraday cli package

Project description

Faraday on the terminal

Use faraday directly from your favorite terminal

Example

faraday-cli is the official client that make automating your security workflows, easier.

Before installing, we recommend creating and activating a Python virtual environment to avoid affecting your system Python packages. For example:

python3 -m venv .venv
source .venv/bin/activate

You can also use virtualenv if you prefer. Once the virtual environment is active, run the installation commands below.

Install from pip

pip install faraday-cli

Install from source

git clone https://github.com/infobyte/faraday-cli.git
cd faraday-cli
pip install .

Documentation

For more info you can check our documentation

Use it like a command

Login

Configure auth for farday-cli

$ faraday-cli auth

Example

Create a workspace

When you create a workspace by default is selected as active, unless you use the "-d" flag

$ faraday-cli workspace create some_name
✔ Created workspace: some_name

Select active workspace

$ faraday-cli workspace select some_name
✔ Selected workspace: some_name

List workspaces

$ faraday-cli list_ws
NAME         HOSTS    SERVICES    VULNS  ACTIVE    PUBLIC    READONLY
---------  -------  ----------  -------  --------  --------  ----------
some_name       14          13       39  True      False     False

List hosts of a workspace

$ faraday-cli host list
  ID  IP           OS       HOSTNAMES          SERVICES  VULNS
----  -----------  -------  ---------------  ----------  -------
 574  127.0.0.1    unknown                            1  3
 566  127.0.0.10   unknown                            1  3
 569  127.0.0.11   unknown                            1  3
 568  127.0.0.12   unknown                            1  3
 570  127.0.0.13   unknown                            1  3
 576  127.0.0.2    unknown                            1  3
 565  127.0.0.3    unknown                            1  3
 572  127.0.0.4    unknown                            1  3
 573  127.0.0.5    unknown                            1  3
 567  127.0.0.6    unknown                            1  3
 571  127.0.0.7    unknown                            1  3
 564  127.0.0.8    unknown                            1  3
 575  127.0.0.9    unknown                            1  3
 590  58.76.184.4  unknown  www.googlec.com           0  -

Get host

$ faraday-cli host get 574

$ faraday-cli host get 574
Host:
  ID  IP         OS       HOSTNAMES    OWNER    OWNED      VULNS
----  ---------  -------  -----------  -------  -------  -------
 574  127.0.0.1  unknown               faraday  False          3

Services:
  ID  NAME    DESCRIPTION    PROTOCOL      PORT  VERSION    STATUS      VULNS
----  ------  -------------  ----------  ------  ---------  --------  -------
2638  ssh                    tcp             22  unknown    open            2

Vulnerabilities:
   ID  NAME                                      SEVERITY    STATUS    CONFIRMED    TOOL
-----  ----------------------------------------  ----------  --------  -----------  -------
13509  SSH Weak Encryption Algorithms Supported  MED         opened    False        Openvas
13510  SSH Weak MAC Algorithms Supported         LOW         opened    False        Openvas
13511  TCP timestamps                            LOW         opened    False        Openvas

Create hosts

$ faraday-cli host create -d \''[{"ip": "stan.local", "description": "some server"}]'\'

Or pipe it

$ echo '[{"ip": "1.1.1.5", "description": "some text"}]' | faraday-cli host create --stdin

The escaping of the single quotes (\') is only needed when using it as a command. In the shell or using pipes it not necessary

Import vulnerabilities from tool report

$ faraday-cli tool report "/path/to/report.xml"

Example

Import vulnerabilities from command

$ faraday-cli ping -c 1 www.google.com

Example

List agents

$ faraday-cli agent list
  id  name      active    status    executors
----  --------  --------  --------  -----------
   8  internal  True      online    nmap

Run executor

$ faraday-cli agent run -a 1 -e nmap -p \''{"target": "www.google.com"}'\'
Run executor: internal/nmap [{'successful': True}]

Use it like a shell

Faraday-cli can be used as a shell and have all the same commands you have as a cli

Example

Use cases

Continuous scan your assets with faraday

For example run nmap for all the hosts in faraday that listen on the 443 port and import the results back to faraday

$ faraday-cli host list --port 443 -ip | nmap -iL - -oX /tmp/nmap.xml  && faraday-cli process_report /tmp/nmap.xml

Scan your subdomains

Use a tool like assetfinder to do a domains lookup, scan them with nmap and send de results to faraday

$ assetfinder -subs-only example.com| sort | uniq |awk 'BEGIN { ORS = ""; print " {\"target\":\""}
{ printf "%s%s", separator, $1, $2
separator = ","}END { print "\"}" }' | faraday-cli  agent run  -a 1 -e nmap --stdin

2.2.2 [May 14th, 2026]:

  • [FIX] Fix ignore_ssl not being saved when set via interactive prompt. #98
  • [MOD] Instalation guide virtualenv recomendation. #107

2.2.1 [Jan 26th, 2026]:

  • [MOD] Pinned cmd2 to <3 to avoid breaking changes introduced in v3. #102

2.2.0 [Sep 2nd, 2025]:

  • [ADD] Added min-severity and max-severity parameters for importing vulnerabilities. #97
  • [MOD] Updated vuln list command documentation. #93
  • [MOD] Modified validators package version requirement. #100

2.1.12 [Jan 6th, 2025]:

  • [MOD] Updated report generation to support multiple workspaces. #89

2.1.11 [Feb 26th, 2024]:

  • [FIX] Fixed workspace activation. #87

2.1.10 [Apr 5th, 2023]:

  • [MOD] Change resolve_hostname to false for default, add the --resolve-hostname flag for host create and add --force flag to tool run to process the output of the command regardless of the return code. #79

2.1.9 [Dec 15th, 2022]:

  • [ADD] Add vuln delete vuln-id.

2.1.8 [OCt 27th, 2022]:

  • [ADD] New method to update existing vuln.

2.1.7 [Sep 13th, 2022]:

  • Add personal status.
  • Replace the apply_tag function with plugins parameters.
  • Update agents docs.

2.1.6 [Jul 26th, 2022]:

  • Remove workspace from get/list agent and add it to run agent.

2.1.5 [Jun 10th, 2022]:

  • Now shell mode doesn't exit if it has faraday's url and token but the server is down.
  • Support multiple tags on import and run.
  • Update gifs of readme.

2.1.4 [May 23th, 2022]:

  • Check if token is valid on start in shell mode.

2.1.3 [May 20th, 2022]:

  • Now is possible to doesn't resolve hostname by changing resolve_hostname parameter.
  • Fix the colors in Severity Stats.

2.1.2 [Jan 11th, 2022]:

  • Update Documentation.

2.1.1 [Dec 13th, 2021]:

  • ADD setting to enable/disable auto command detection.
  • Fix error message when a command dont generate valid output.
  • FIX tables visualization when host has to many hostnames.
  • Show if update is available.

2.1.0 [Nov 19th, 2021]:

  • Add fields to executive reports generation command.
  • Add KAKER_MODE easter egg.
  • Update plugins requirements to 1.5.6

2.0.2 [Aug 9th, 2021]:

  • add --create-workspace parameter for tool command
  • Ask for executive report template if not provided
  • Add for executor parameters if not provided
  • [FIX] Bug using an invalid executor name
  • Update readme to fix some examples

2.0.1 [Jun 29th, 2021]:

  • [FIX] Show help if no subcommand is provided

2.0.0 [Jun 29th, 2021]:

  • [MOD] Change commands to verbs
  • Enable and disable Workspaces
  • Fix to use cmd2 2.0 and update requirements
  • Show message if license is expired
  • [MOD] Change to V3 api of faraday
  • Add command to upload evidence to vuln

1.1.1 [Jun 9th, 2021]:

  • Fix to use cmd2 2.0 and update requirements
  • Show message if license is expired
  • [MOD] Change to V3 api of faraday

1.1.0 [Apr 16th, 2021]:

  • Add new command to process a tool execution
  • Add command to list vulnerabilities
  • Add versions to dependencies
  • Add setting to ignore INFO vulns
  • Show only active workspaces by default unless you use the --show-inactive parameter
  • [MOD] Add support for tags
  • Update faraday_plugins version dependency
  • Fix create_hosts docs typo
  • Show user in status
  • [MOD] Update faraday-plugins

1.0.2 [Feb 17th, 2021]:

  • ADD documentation (made with mkdocs)
  • MOD Convert some command and help to plural
  • FIX Exit shell in case of invalid authorization result
  • FIX faraday 3.14.1 updated security lib, and make login bugged

1.0.1 [Jan 4th, 2021]:

  • Fix error in list_host command

1.0.0 [Dec 28th, 2020]:

  • Add List Services command
  • Change the import command/report message
  • Add support for executive reports
  • Show in status if token is valid

0.1.0 [Aug 28th, 2020]:

  • First version released, use with caution as it is still beta phase.
  • Access a faraday server from your CLI, your CI o any other bash interpreter.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

faraday_cli-2.2.2.tar.gz (55.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

faraday_cli-2.2.2-py3-none-any.whl (63.1 kB view details)

Uploaded Python 3

File details

Details for the file faraday_cli-2.2.2.tar.gz.

File metadata

  • Download URL: faraday_cli-2.2.2.tar.gz
  • Upload date:
  • Size: 55.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for faraday_cli-2.2.2.tar.gz
Algorithm Hash digest
SHA256 32b1755e1ebe8a6a9ab314e028a28346b6b3672d6d87b7cc4ee4f4279dd5e962
MD5 ca0ac5edafb574529648eecf20fe9f28
BLAKE2b-256 61fd3c5e07a1d80701a23cac0332aa67a7a95402a0190fbcf16eda5ff120931b

See more details on using hashes here.

File details

Details for the file faraday_cli-2.2.2-py3-none-any.whl.

File metadata

  • Download URL: faraday_cli-2.2.2-py3-none-any.whl
  • Upload date:
  • Size: 63.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for faraday_cli-2.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9ad22467487af003d7eca41ec599d0a619d35a6c9c7421a3c4b8b285b5946bc8
MD5 a7d6cafda339af57a9c7a68c1df7013b
BLAKE2b-256 d1177f235feeebe61ae1ea1accae94ffa1c737d31b1a38f5c7233e421cc1dc20

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page