Armur-Ai/Pentest-Swarm-AI
Autonomous penetration testing using a swarm of AI agents. Orchestrates recon, classification, exploitation, and reporting specialists with ReAct reasoning — supports bug bounty, continuous monitoring, and CTF modes. Built with Go and 7+ native security tools.
Pentest Swarm AI
它是什么——一个开源、自托管的渗透测试框架,能够并行运行数十个AI代理(即“群体”),以发现、利用并报告漏洞。它适用于您提供的任何LLM(Claude、兼容OpenAI的模型、Together AI模型、Ollama等),并通过共享的“黑板”来协调代理,该黑板利用stigmergic信息素来决定接下来追踪哪些发现。
主要特性
| 特性 | 功能描述 |
|---|---|
| 真实群体架构 | 独立代理(侦察、分类、利用、报告)读写由pgvector支持的黑板;发现会释放信息素,自动触发其他代理。 |
| 并发扫描 | 数百个子域名或端口并行探测,远快于线性流水线。 |
| 自动利用 | 当发现被归类为高严重性时,利用代理会尝试真实攻击(BOLA/IDOR、JWT伪造、SSRF、注入等)并捕获概念验证证据。 |
| 基于证据的报告 | 成功的利用会转化为结构化报告,包含CVSS v3.1评分和截图/日志。 |
| 与提供商无关的LLM支持 | Claude(默认)、Together AI、兼容OpenAI的模型、Gemini、本地Ollama/LM Studio,或任何自定义端点。 |
| 零成本起步 | 可完全在本地使用Ollama运行,无需API密钥。 |
| 内置工具链 | 集成ProjectDiscovery工具(subfinder、httpx、nuclei、naabu、katana、dnsx、gau)以及nmap适配器。 |
| 实时UI | Web仪表板(localhost:7777)和全屏终端TUI,显示图表、群体拓扑和实时发现流。 |
| 范围强制执行 | 在编排层和每个执行器内部都进行范围控制,以防止越界活动。 |
| 可扩展代理 | 只需定义触发谓词即可添加新代理;无需更改中央编排器。 |
| Jev误报过滤器与自适应评分 | 可选的第二意见过滤器,对攻击路径进行评分,并优先处理最有前景的路径。 |
| 剧本与利用链 | 针对常见场景(漏洞赏金、CI/CD、内部网络、CTF)的YAML剧本,以及预构建的利用链库。 |
| 支持CI/CD | 可脚本化的pentestswarm scan …命令和GitHub Action封装。 |
群体如何工作
- 种子 – 用户(通过TUI或CLI)启动活动,并选择目标或捆绑的易受攻击实验室。
- 黑板 – 一个pgvector数据库将每个发现存储为带有信息素权重的向量。
- 代理独立运行 – 每个代理持续轮询黑板。当发现的信息素超过其阈值时,代理被唤醒并采取行动(例如,侦察写入
PORT_OPEN,分类器将其标记为SQL_INJECTION,利用尝试注入,报告记录结果)。 - 涌现 – 由于代理对共享状态作出反应,而不是遵循固定流水线,攻击链可以自发形成(侦察→分类→利用→新侦察等)。
- 衰减 – 信息素随时间衰减(每种发现类型有不同的半衰期),因此过时的路径无需手动清理就会消亡。
- 证据与报告 – 成功的利用生成截图/请求响应日志,这些自动编译成带有CVSS评分的报告。
快速开始(一行安装与运行)
# 安装——选择您喜欢的方法
npm install -g @armurai/pentestswarm # npm
curl -fsSL https://raw.githubusercontent.com/Armur-Ai/Pentest-Swarm-AI/main/scripts/install.sh | sh # 脚本
brew install Armur-Ai/tap/pentestswarm # Homebrew
go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest # Go
docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help # Docker
# 运行交互式启动器
pentestswarm run
启动器会要求您:
- 选择LLM提供商(Claude、Together AI、Ollama等),并在需要时粘贴API密钥。
- 输入目标URL 或选择捆绑的易受攻击实验室(例如,OWASP Juice Shop、crAPI)。
- 选择实时视图(Web仪表板+终端UI)。
- 点击启动 – 群体将自动开始扫描和利用。
典型使用场景
- 漏洞赏金猎人 – 一夜之间扫描新范围,并获得带概念验证的已验证发现。
- 红队/渗透测试人员 – 以最少的手动编排快速覆盖大型攻击面(许多子域名、内部网络)。
- 安全研究人员/CTF玩家 – 运行内置实验室或自定义剧本,以测试新的利用思路。
- CI/CD流水线 – 使用可脚本化的
pentestswarm scan命令,在构建过程中自动化安全扫描。
安装选项
| 方法 | 命令 | 备注 |
|---|---|---|
| npm | npm install -g @armurai/pentestswarm |
需要Node ≥ 16。 |
| Shell脚本 | `curl … | sh` |
| Homebrew | brew install Armur-Ai/tap/pentestswarm |
通过brew适用于macOS/Linux。 |
| Go | go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest |
需要Go 1.24+。 |
| Docker | docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help |
无需主机安装;在容器内运行。 |
许可证与状态
- 许可证: AGPL‑3.0(copyleft,要求任何修改都必须分发源代码)。
- 项目状态: Alpha – 核心群体调度器可用(
--swarm标志),许多组件(实时仪表板、Jev评分、利用链库)处于beta阶段,路线图概述了即将推出的适配器(Burp、Metasploit)和微调后的Pentest‑R1模型。
了解更多
- 文档网站: https://armur-ai.github.io/Pentest-Swarm-AI/
- 架构深度解析: https://armur-ai.github.io/Pentest-Swarm-AI/architecture
- Discord社区: https://discord.gg/6qtkhpW8tk
- 路线图: 仓库中的
ROADMAP.md。
法律免责声明: 该工具仅用于授权测试(漏洞赏金计划、CTF、有明确许可的红队参与)。滥用是非法的,作者不承担任何责任。
相关
- 项目
- 项目
- 项目
- 项目
- 项目