Pentest-Swarm-AI
首个开源渗透测试蜂群框架,多AI智能体通过信息素黑板协作,自动完成侦察→分类→利用→报告全流程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
首个开源渗透测试蜂群框架,多AI智能体通过信息素黑板协作,自动完成侦察→分类→利用→报告全流程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你在参加一场 Bug Bounty,目标是一个拥有数千个子域名的庞大系统。传统做法是手动逐个扫描, Recon → 分类 → 利用 → 报告,全程靠一个安全研究员的经验和耐心。如今,AI 大模型已经足够强大,但大多数所谓的「AI 渗透测试工具」本质上不过是一个接一个调用函数的固定流水线——LLM 只负责「下一步做什么」,实际的执行仍然靠人。
Pentest Swarm AI 真正做了一件开创性的事:让多个 AI 智能体以**群居昆虫的信息素机制(Stigmergy)**协作,形成真正的分布式渗透测试蜂群。这不是营销噱头,而是有完整架构支撑的技术实现。

图1:Pentest Swarm AI 全景架构图(来源:GitHub 官方仓库)
2026 年 4 月,Anthropic 发布 Claude Mythos,Frontier 推理能力跨过了一个关键阈值——模型本身不再是瓶颈。但与此同时,该模型也在一个月内暴露了数千个零日漏洞,覆盖所有主流操作系统和浏览器。瓶颈从模型转移到了工具链。 Pentest Swarm AI 正是为这样的模型量身打造的执行层。
项目由 Armur AI 团队开发,核心贡献者分布在安全研究和 AI 工程交叉领域。README 明确致敬了 PentestGPT(首个证明 LLM 可以做渗透测试的工具)、PentAGI(完全自主代理架构)、Strix(AI 黑客)等先驱项目,并做出了重要升级:从流水线到蜂群的架构跃迁。
Pentest Swarm AI 的核心创新在于**共享黑板(Shared Blackboard)**机制,而非传统多智能体系统中的中央调度器。
传统多智能体(PentestGPT 等): 一个规划器 LLM 按顺序决定下一步:Recon → Classifier → Exploit → Report。每个专业智能体被动等待指令,是典型的中央调度模式。
Pentest Swarm AI 的蜂群架构: 所有发现以「信息素(pheromone)」形式写入共享黑板 PostgreSQL + pgvector 数据库。每个智能体独立运行自己的触发谓词(trigger predicate),主动感知黑板状态而非被动等待指令。
例如:侦察智能体发现 PORT_OPEN → 信息素权重上升 → 分类智能体被触发(权重 > 0.2 时激活)→ 分类结果写入 CVE_MATCH → 利用智能体被触发(权重 > 0.5 时激活)→ 最终 CAMPAIGN_COMPLETE 触发报告智能体。
信息素的半衰期可配置:不同发现类型的热度衰减速度不同(PORT_OPEN 持续数小时,SESSION 仅几分钟)。这种机制让攻击路径自然涌现,而非预先规划。
1. 侦察智能体(Recon Agent)
调用 8 个 ProjectDiscovery 工具链:subfinder(子域名枚举)、httpx(HTTP探测)、nuclei(漏洞扫描)、naabu(端口扫描)、katana(爬虫)、dnsx(DNS探测)、gau(URL 历史)、nmap(深度扫描)。输出为 SUBDOMAIN、PORT_OPEN、HTTP_ENDPOINT 等发现类型。
2. 分类智能体(Classifier Agent)
将原始侦察发现映射到 CVE/CVSS 评分体系,输出 CVE_MATCH 和 MISCONFIGURATION。内置 false positive 过滤器(fp_filter.go),避免低质量发现污染黑板。
3. 利用智能体(Exploit Agent)
基于分类结果构建攻击链,包含三种执行模式:Allowlist(白名单命令,仅执行明确允许的操作)、Assist(AI 辅助,推荐但不禁用)和 Safemode(沙箱模拟)。核心逻辑在 executor.go 和 pathbuilder.go 中实现。
4. 报告智能体(Report Agent)
查询黑板状态,生成 Markdown、HTML、JSON 和 SARIF 格式报告。支持直接提交到 Bug Bounty 平台(HackerOne、BugCrowd、Intigriti)。内置去重(dedup.go)和质量门控(qualitygate)。
| 层级 | 技术选型 | 技术价值 |
|---|---|---|
| 平台核心 | Go 1.24 | 单二进制分发,goroutine 并发模型,原生调用系统安全工具 |
| CLI 框架 | Cobra + Bubbletea | 命令行 + 终端 TUI,多面板实时显示各智能体状态 |
| LLM 适配 | Claude / Ollama / LM Studio | 支持云端最强模型,也支持 100% 本地隐私部署 |
| 安全工具 | ProjectDiscovery 工具链 + nmap | 业界标准的自动化安全扫描工具 |
| 持久化 | PostgreSQL 16 + pgvector | 向量相似性搜索(信息素匹配),事务写入(数据一致性) |
| 缓存 | Redis 7 | API 速率限制、会话状态管理 |
| 仪表盘 | Next.js 15 + shadcn/ui + Tremor | 深色主题,图表化展示攻击面和任务进度 |
| 协议桥接 | MCP(Model Context Protocol) | 通过 pentestswarm mcp serve 接入 Claude Desktop 和 Cursor |
项目在 Go 生态中展现出极高的工程水准:
_test.go 文件(executor、parser、prompts、retry、dedup 等),包括边界条件测试(executor_allowlist_test、executor_assist_test、executor_safemode_test)internal/prompts/ 模块包含拒绝重试(refusal.go)、智能重试(retry.go)、Prompt 工厂(factory.go)等专门处理 LLM 不可靠性的工程模块memorygraft/detector.go),防止对抗性记忆注入攻击.air.toml(热重载)、.goreleaser.yaml(跨平台二进制发布)、GitHub Actions(SARIF 输出)Pentest Swarm AI 提供了业界最友好的部署体验,三种方式:
# Docker 一行命令(推荐)
docker run --rm -e ANTHROPIC_API_KEY=sk-ant-*** ghcr.io/armur-ai/pentestswarm:latest scan example.com --scope example.com
# Homebrew (macOS/Linux)
brew install Armur-Ai/tap/pentestswarm
pentestswarm scan example.com --scope example.com
# Go install
go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest
Dockerfile 采用三阶段构建:Stage 1 编译 Go 二进制(~30MB)、Stage 2 预装 ProjectDiscovery 工具链、Stage 3 运行时镜像(~700MB,包含了所有安全工具)。最终镜像包含 nmap、sqlmap、nuclei 等 20+ 安全工具,无需额外安装。
1. Alpha 状态的蜂群调度器
Stigmergic swarm scheduler 目前标记为 Alpha(--swarm flag),黑板后端(Postgres)标记为 Beta,生产环境建议使用默认的顺序 5 阶段运行器(Sequential Runner)。
2. 云端 API 依赖
核心能力依赖 Claude Sonnet 4 或 Opus,Ollama 本地部署虽可用但质量降级,且本地模型需要手动拉取和配置。
3. AGPL-3.0 许可证
如果你计划将其作为付费 SaaS 服务提供,必须开源你的修改——这既是约束也是设计初衷。
4. 安全边界验证
虽然代码层面实现了双重边界检查(工具层 + 执行层),但建议在任何实际渗透测试前使用 pentestswarm doctor 进行 8 项系统健康检查,并理解工具的 scope 限制机制。
Pentest Swarm AI 代表了 AI 安全工具的一个转折点:从「LLM 建议,人来执行」到「LLM 规划,工具自动执行,蜂群自主协作」。其路线图规划了三个 Waves:Wave 2 将接入 Burp MCP、Metasploit、ZAP;Wave 3 计划用 Pentest-R1 配方微调专用渗透测试模型,并发布 Cybench/AutoPenBench 基准测试数据。
一句话总结: Pentest Swarm AI 是 AI 安全工具从「单兵工具」到「协作平台」演进的标志性作品,其 Stigmergic 黑板架构为多智能体安全系统提供了新的设计范式。
本报告基于 GitHub 仓库代码分析生成,图片素材来源于项目官方仓库。