infobyte/faraday-cli

GitHub: infobyte/faraday-cli

Faraday 安全平台的官方命令行客户端,让安全团队能在终端中管理工作区、导入漏洞报告并自动化渗透测试流程。

Stars: 52 | Forks: 22

# 终端中的 Faraday 直接在您最喜欢的终端中使用 faraday ![示例](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c6c94330d0033118.gif) faraday-cli 是官方客户端,让您的安全工作流自动化变得更简单。 在安装之前,我们建议创建并激活一个 Python 虚拟环境,以免影响系统的 Python 包。例如: ``` python3 -m venv .venv source .venv/bin/activate ``` 如果您愿意,也可以使用 `virtualenv`。虚拟环境激活后,运行以下安装命令。 ## 通过 pip 安装 ``` pip install faraday-cli ``` ## 从源码安装 ``` git clone https://github.com/infobyte/faraday-cli.git cd faraday-cli pip install . ``` ## 文档 有关更多信息,请查看我们的[文档][doc] ## 作为命令使用 ### 登录 为 faraday-cli 配置认证 ``` $ faraday-cli auth ``` ![示例](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/69e1405314033119.gif) ### 创建工作区 默认情况下,创建工作区时会将其选为活动状态,除非您使用了 "-d" 标志 ``` $ faraday-cli workspace create some_name ✔ Created workspace: some_name ``` ### 选择活动工作区 ``` $ faraday-cli workspace select some_name ✔ Selected workspace: some_name ``` ### 列出工作区 ``` $ faraday-cli list_ws NAME HOSTS SERVICES VULNS ACTIVE PUBLIC READONLY --------- ------- ---------- ------- -------- -------- ---------- some_name 14 13 39 True False False ``` ### 列出工作区的主机 ``` $ 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 - ``` ### 获取主机 ``` $ 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 ``` ### 创建主机 ``` $ faraday-cli host create -d \''[{"ip": "stan.local", "description": "some server"}]'\' ``` 或者通过管道传递 ``` $ echo '[{"ip": "1.1.1.5", "description": "some text"}]' | faraday-cli host create --stdin ``` **转义单引号 (\\') 仅在将其作为命令使用时需要。 在 shell 中或使用管道时不需要** ### 从工具报告导入漏洞 ``` $ faraday-cli tool report "/path/to/report.xml" ``` ![示例](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4567a84230033121.gif) ### 从命令导入漏洞 ``` $ faraday-cli ping -c 1 www.google.com ``` ![示例](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a530bc1907033121.gif) ### 列出代理 ``` $ faraday-cli agent list id name active status executors ---- -------- -------- -------- ----------- 8 internal True online nmap ``` ### 运行执行器 ``` $ faraday-cli agent run -a 1 -e nmap -p \''{"target": "www.google.com"}'\' Run executor: internal/nmap [{'successful': True}] ``` ## 作为 shell 使用 Faraday-cli 可以作为 shell 使用,并且拥有与 cli 相同的所有命令 ![示例](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/3c44570b11033123.gif) ## 使用场景 ### 使用 Faraday 持续扫描您的资产 例如,对 faraday 中所有监听 443 端口的主机运行 nmap,并将结果导回 faraday ``` $ faraday-cli host list --port 443 -ip | nmap -iL - -oX /tmp/nmap.xml && faraday-cli process_report /tmp/nmap.xml ``` ### 扫描您的子域名 使用类似 assetfinder 的工具进行域名查找,使用 nmap 扫描它们,并将结果发送到 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 ```
标签:CLI, Faraday, FTP漏洞扫描, GPT, PB级数据处理, Python, SecOps, WiFi技术, 主机管理, 云安全架构, 占用监测, 安全工作流自动化, 安全测试, 安全编排, 安全运维, 开源安全工具, 攻击性安全, 无后门, 漏洞管理, 终端, 网络安全, 虚拟环境, 资产管理, 逆向工具, 逆向工程平台, 隐私保护