Armur-Ai/Pentest-Swarm-AI · 上手攻略
- 仓库:Armur-Ai/Pentest-Swarm-AI
- 链接:https://github.com/Armur-Ai/Pentest-Swarm-AI
- 分类:安全工程 · AI Agent · 渗透测试
- 作者:Jay
- 更新:2026-09-13
这是什么
Pentest Swarm AI 是一个基于真实群智(Swarm)架构的开源渗透测试引擎,由 Go 语言编写,支持 Claude、GLM、Qwen、DeepSeek、Gemini、Ollama 等任意具备 function-calling 能力的 LLM。与传统多 Agent 工具「单 Planner 按固定顺序调用各阶段」不同,Pentest Swarm AI 的多个专业 Agent(recon、classifier、exploiter、reporter)通过共享的 stigmergic blackboard(信息素黑板) 并发协作:某个 Agent 发现情报后直接唤醒相关 Agent,无需中央调度器指定执行顺序。
目标:让 AI 渗透测试从「扫描器报千条未验证告警」或「顾问年费五位数」的两难中跳出来,以机器速度并行作业并产出带证据的完整报告。
解决什么问题
- 扫描器盲区:传统扫描器(Nuclei、AWVS 等)只能发现已知漏洞模式,无法形成攻击链;
- 成本门槛:专业渗透顾问昂贵且无法持续;
- 流水线 Agent 的局限:单 Planner 顺序调用 recon→classify→exploit→report 是管道(pipeline),不是群智,1000 个子域名也只能串行处理;
- 隐私与覆盖矛盾:追求高质量需要云端大模型,但数据不愿出网。
Pentest Swarm AI 用并发 Agent 群 + 信息素衰减机制 + 证据驱动的报告来解决。
快速安装
支持 5 种安装方式(任选其一):
# 方式 1:官方安装脚本(macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/Armur-Ai/Pentest-Swarm-AI/main/scripts/install.sh | sh
# 方式 2:npm(需 Node ≥ 16)
npm install -g @armurai/pentestswarm
# 方式 3:Homebrew
brew install Armur-Ai/tap/pentestswarm
# 方式 4:Go 工具链
go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest
# 方式 5:Docker
docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help
验证安装:
pentestswarm doctor # 8 项系统健康检查
核心用法
1. 在靶场快速体验(零配置,推荐先跑这个)
# 启动内置 OWASP Juice Shop 靶场, swarm 模式运行,全程本地无需 API Key
pentestswarm scan --lab --provider ollama --swarm --follow
--lab 会自动拉起一个存在漏洞的靶场应用作为目标,运行后自动销毁,全程合法安全。
2. 对真实目标扫描
本地模型(100% 离线,零 API 成本):
pentestswarm scan <目标> --scope <范围> --provider ollama --swarm --follow
云端模型(最高质量):
export PENTESTSWARM_ORCHESTRATOR_API_KEY=sk-ant-your-key-here
pentestswarm scan <目标> --scope <范围> --swarm --follow
3. 观看 Agent 工作过程
pentestswarm campaign watch <campaign-id> # 实时 TUI,观看 Agent 并行工作
pentestswarm campaign explore <campaign-id> # 交互式浏览攻击面
4. 运行剧本(Playbook)
pentestswarm playbook run <name> --target <目标> # 社区剧本
# 内置剧本:bug-bounty / external-asm / ci-cd / internal-network / ctf-solver
5. MCP Server(供 Claude / Cursor 调用)
pentestswarm mcp serve # 启动 MCP 服务器
6. Provider 配置示例(config.yaml)
orchestrator:
# 使用 Together AI(GLM-5.3 等国产模型)
provider: "openai"
endpoint: "https://api.together.xyz/v1"
model: "zai-org/GLM-5.3" # 可替换为 Qwen、DeepSeek 等
api_key: "" # 或通过 PENTESTSWARM_ORCHESTRATOR_API_KEY 环境变量传入
context_window: 128000
典型适用场景
| 场景 | 推荐模式 |
|---|---|
| 靶场练习 / CTF | --lab 内置靶场,无需配置 |
| Bug Bounty 快速侦察 | bug-bounty 剧本,扫描 → 分类 → 利用全流程 |
| 内部网络 ASM | internal-network 剧本 |
| CI/CD 安全卡点 | GitHub Action + SARIF 报告 |
| 攻击面持续监控 | 定时 re-scan + 攻击面变更告警(Roadmap 规划中) |
| 安全研究 / 红队 | 全量 --swarm 并发模式 + --strict 严格错误处理 |
⚠️ 仅限授权测试。使用前必须取得目标系统所有者的书面授权。
架构解析
Pentest Swarm AI 的核心是三个群智原生特性:
- Stigmergy(信息素机制):Agent 通过读写共享黑板协调,而非中央调度器。发现情报后会在黑板上留下「信息素」,其他相关 Agent 被唤醒并偏向信息素浓度高的方向;信息素会随时间衰减,使过时路径自然消亡。
- Emergence(涌现):攻击链并非预设,而是从黑板状态中涌现——例如 recon Agent 发现端口后唤醒 classifier,classifier 标记高危后唤醒 exploiter,exploiter 的结果再反馈到黑板并唤醒 reporter。
- Decentralization(去中心化):每个 Agent 有自己的触发谓词(trigger predicate),新增 Agent 无需修改编排器即可加入蜂群。
技术栈: - Go 1.24(单二进制,高并发) - Cobra + bubbletea(TUI 多面板视图) - PostgreSQL(黑板后端,beta 阶段;当前默认使用内存黑板) - pgvector(向量存储) - ProjectDiscovery 工具链:subfinder、httpx、nuclei、naabu、katana、dnsx、gau
已知限制与坑
| 状态 | 说明 |
|---|---|
| ⚠️ alpha | --swarm 信息素调度目前为 alpha,效果不稳定,生产环境慎用 |
| ⚠️ alpha | Live Dashboard 目前为 alpha,UI 已就绪但与实际 campaign 的 wiring 仍在开发 |
| beta | PostgreSQL 黑板后端已提供迁移脚本,当前 runner 默认使用内存黑板 |
| planned | Burp MCP / Metasploit / ZAP / sqlmap 适配器(Wave 2) |
| planned | 微调 Pentest-Swarm 模型(Wave 3) |
| planned | 官方基准测试(Cybench / AutoPenBench,尚未发布) |
其他注意事项:
- --scope 范围限制在工具层和执行层双重强制,但建议仍通过配置和授权书严格约束;
- 使用 --strict 模式时,LLM 错误会直接升级为 fatal,适用于需要高可靠性的正式渗透;
- 内存黑板在 --swarm 模式下重启后会丢失状态(生产环境建议等待 Postgres 后端稳定);
- 基准测试数字尚未发布,不建议在投标/合规报告中引用性能数据。
与同类对比
| 工具 | 架构 | 是否执行 | 记忆 | MCP 支持 | 群智 |
|---|---|---|---|---|---|
| Pentest Swarm AI | Stigmergic 黑板 | ✅ | pgvector + 信息素 | ✅ | ✅ 真实 |
| PentestGPT | 单 Agent ReAct | ❌ 仅建议 | 无 | ❌ | ❌ |
| HackingBuddyGPT | 单 Agent | ✅ | 运行日志 | ❌ | ❌ |
| PentAGI | 4 Agent + Planner | ✅ | pgvector | 部分 | ❌ 管道 |
| Shannon | 白盒 + 浏览器 | ✅ | Session 状态 | ❌ | ❌ 管道 |
| Pentest-R1 | RL 微调 LLM | ✅ | Trajectory | ❌ | ❌ |
核心差异:Pentest Swarm AI 是目前唯一真正实现群智协同的渗透测试开源工具,而非固定流水线。
一句话推荐结论
如果你需要持续、并发、带证据的 AI 渗透测试能力,且希望完全本地化(Ollama)或灵活切换模型(Claude / GLM / Qwen / DeepSeek),Pentest Swarm AI 是目前开源生态中架构最清晰、扩展性最强的选择——但
--swarm模式仍在 alpha,重要任务建议先用默认顺序模式验证。
⚠️ 本工具仅供授权渗透测试、Bug Bounty、CTF 和安全研究使用。未经授权对他人系统进行扫描或利用均属违法行为。