Pentest Swarm AI部署完整指南:Docker容器化、GitHub Actions集成与CI/CD持续AI渗透
【免费下载链接】Pentest-Swarm-AIAutonomous 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.项目地址: https://gitcode.com/gh_mirrors/pe/Pentest-Swarm-AI
Pentest Swarm AI是一个开源的自主 AI 渗透测试框架,由数十个 AI 智能体(侦察、分类、利用、报告专家)协同工作,自动发现并利用 Web 应用与 API 的真实漏洞。本文是一份面向新手的部署完整指南:从 Docker 容器化一键部署,到 GitHub Actions 集成,再到搭建 CI/CD 持续 AI 渗透测试流水线,三种方式带你 5 分钟上手 🐳
3种部署方式,总有一款适合你
| 部署方式 | 适用场景 | 需要API Key | 难度 |
|---|---|---|---|
| Docker 单容器 | 快速体验、单次扫描 | 可选(本地模型可免) | ⭐ |
| Docker Compose 全家桶 | 本地模型长期运行、零外部依赖 | ❌ 无需 | ⭐⭐ |
| GitHub Actions | 云端定时扫描、团队共享结果 | ✅(或用本地模型) | ⭐⭐ |
所有方式都支持同一个核心命令:pentestswarm scan <目标> --scope <范围>。
方式一:Docker容器化部署(最快上手)
一行命令拉取镜像
项目官方镜像已内置 Go 编译的智能体主程序 + 16 余种原生安全工具(subfinder、nuclei、httpx、naabu 等),无需任何本地环境:
docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help镜像采用三阶段构建,原理可以在 Dockerfile 中看懂:
- swarm-build:编译
pentestswarm主程序(约 30 MB 的精简二进制); - tools-build:用
go install装齐 ProjectDiscovery 全家桶等 Go 安全工具; - runtime:精简 Debian 只保留运行时依赖,最终镜像约700 MB(对比 Kali 基础镜像约 3 GB)。
镜像默认以非 root 的pentester用户运行,报告输出目录为/reports——挂载宿主机目录即可持久化保存扫描报告(见 Dockerfile 运行用户配置)。
全家桶部署:本地模型 + 零 API Key
想要完全离线、零 API 成本?用项目自带的 Compose 编排一键拉起pentestswarm + PostgreSQL(pgvector) + Redis + Ollama 本地大模型四个服务:
docker compose -f deploy/docker-compose.yml up -d编排文件 deploy/docker-compose.yml 的亮点:
- 健康检查:postgres 与 redis 就绪后 swarm 才启动(
service_healthy依赖); - 本地推理:
PENTESTSWARM_ORCHESTRATOR_PROVIDER: ollama指向容器内 Ollama,数据不出内网; - 数据持久化:数据库与模型分别挂载到
pgdata、ollama_models卷。
swarm 跑起来后,你可以在localhost:7777的 Web 仪表盘实时观察几十个智能体并发攻击攻击面的全过程:
方式二:GitHub Actions集成(免本地环境)
项目内置了一个复合 Action,在 CI 环境中自动完成:下载对应架构二进制 → 执行 swarm 扫描 → 输出 Markdown 报告 + SARIF 文件 → 按严重度阈值阻断流水线。
关键输入参数一览
完整定义见 deploy/github-action/action.yml:
| 参数 | 说明 | 默认值 |
|---|---|---|
target | 扫描目标(域名/URL/CIDR) | 必填 |
scope | 授权范围(逗号分隔) | 必填 |
mode | manual / bugbounty / asm / ctf | manual |
swarm | 是否启用蜂群调度器 | false |
fail-on | 达到该严重度即失败任务 | high |
dry-run | 只规划不执行利用命令 | false |
version | 锁定版本,可复现结果 | latest |
接入只需一个 workflow 文件
参考 deploy/github-action/example-workflow.yml,核心逻辑分四步:
- 定时 + 手动双触发:
cron: "0 2 * * 1"每周一凌晨自动跑,也可手动触发(定时任务定义); - 执行扫描:
swarm: "true"开启蜂群并发,fail-on: high让高危发现直接红掉流水线; - 产物归档:报告打包为 Artifact,团队成员随时可下载;
- SARIF 入库:SARIF 结果直传仓库 Security 标签页的 Code Scanning,漏洞像代码告警一样被跟踪。
值得强调的是dry-run参数——新目标首次接入时开启它,AI 只输出攻击计划而不真正利用,非常适合先评审再放行。
方式三:源码构建与CI/CD持续AI渗透
一键克隆构建
没有 Docker 环境时,直接源码构建同样简单(scripts/install.sh 也可替代手动步骤):
git clone https://gitcode.com/gh_mirrors/pe/Pentest-Swarm-AI cd Pentest-Swarm-AI make build # 编译主程序到 ./bin/pentestswarm make tools # 安装 subfinder/nuclei/httpx 等安全工具链 ./bin/pentestswarm doctor # 体检:Go/Docker/工具/模型配置一次查清Makefile 还提供make dev(一键启动开发栈)与make test(带竞态检测的完整测试),方便二次开发。
把AI渗透变成持续安全能力
结合上文两种模式,可以搭出完整的 CI/CD 持续渗透流水线:
- 每次发版触发
dry-run快速侦察,5 分钟内给出风险摘要; - 每周定时swarm 全量扫描,报告归档 + SARIF 入库;
fail-on: high质量门禁:高危漏洞阻断发布,倒逼修复;- 配置可用 config.yaml 生成器 的
pentestswarm init生成,并在 website/docs/configuration.md 中为每个智能体单独指定模型,控制成本。
安全与合规提醒 🛡️
- 只在书面授权的系统上运行,
--scope是硬性范围围栏; - 生产目标建议先
--dry-run评审攻击计划; - 云端模型有消费上限(Spend cap),本地 Ollama 则零成本;详见 website/docs/cost-and-safety.md。
延伸阅读
- 快速上手:website/docs/quickstart.md
- 运行模式(bug bounty / CTF / ASM):website/docs/modes.md
- 工具链体检:
pentestswarm doctor命令实现位于 cli/doctor.go - 蜂群调度器源码:internal/swarm/scheduler.go
【免费下载链接】Pentest-Swarm-AIAutonomous 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.项目地址: https://gitcode.com/gh_mirrors/pe/Pentest-Swarm-AI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考