环境
|-------------------|-------------------------------------------|---------------------------|---------------------------------------|
| 系统 | 需要使用的工具 | pentestswarm支持的AI厂商 | 需要另外安装的工具 |
| kali Linux 2025.4 | 1、go和python语言 2、加速器和ollma(没有国外AI的api key) | 目前暂不支持国内AI,不过允许ollma自建大模型 | httpx、nmap、amass、sqlmap、ffuf、gobuster |
简介
1. 项目立意
Pentest Swarm AI 的出现打破了这一范式。作为首个基于真正集群架构(而非多代理流水线)构建的开源 渗透测试框架,它借鉴自然界蜂群的信息素协同机制,让各个Agent通过共享黑板自主协调、涌现攻击链,实现对大规模目标(如1000+子域名)的自动化渗透测试。
项目由 Armur AI 开发并开源(Apache 2.0协议),支持一键接入 Claude、OpenAI、Ollama、LM Studio 等主流LLM,无需本地GPU即可启动完整蜂群。

2. 项目地址

3. 项目环境(Windows和kali都需要)
- go和python语言
- 需要加速器(如果有国外AI的api key,不考虑拉ollma的话就不需要)
- 不支持调用DeepSeek、通义千问、GLM等国内AI,需要本地安装大模型,也就是ollma
部署方式(建议在kali上装)
1. Windows
1.1. 下载 Windows 安装包,在下载位置右键选择"在终端中打开"

1.2. 不需要安装就可以使用,黄的框中命令作用是"在当前目录下初始化 PentestSwarm 的工作环境"

1.3. 更多命令提示
# 初始化项目/工作区
.\pentestswarm-windows-amd64.exe init
# 查看帮助
.\pentestswarm-windows-amd64.exe --help
.\pentestswarm-windows-amd64.exe --h
# 查看版本
.\pentestswarm-windows-amd64.exe --version
# 扫描类命令
.\pentestswarm-windows-amd64.exe scan --target <IP/域名>
# 如果想看到实时输出(加 --follow)
./pentestswarm-linux-amd64 scan test.example.com --scope test.example.com --swarm --follow
# 如果想看详细日志(加 --verbose)
./pentestswarm-linux-amd64 scan test.example.com --scope test.example.com --swarm --verbose
# 检查系统依赖是否就绪
.\pentestswarm-windows-amd64.exe doctor
2. kali
2.1. 有国外 AI 的 api key,不用拉 ollma 的
2.1.1. 下载数据包导入到kali中,鼠标右键点击数据包选择"在这里打开终端"


2.1.2. 不用提权,不用提权,不用提权,不然初始化不了环境

2.1.3. 安装编程语言和工具
# 更新包
sudo apt update
# 安装 go 语言,python 语言是 kali 自带的
sudo apt install golang trufflehog gitleaks pipx -y
# 使用python的pipx安装第三方库
pipx install semgrep
# 重置环境变量
source ~/.zshrc



2.1.4. 安装pentestswarm缺失工具
# 更换成国内镜像,毕竟 go 官方安装包国内也是禁止访问的
go env -w GOPROXY=https://goproxy.cn,direct
# 使用go安装缺失的工具
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
go install github.com/projectdiscovery/katana/cmd/katana@latest
go install github.com/lc/gau/v2/cmd/gau@latest
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install github.com/sensepost/gowitness@latest
# 解析工具意义
subfinder(收集子域名)
↓
dnsx(解析哪些是活的)
↓
httpx(确认哪些能访问 + 识别技术栈)
↓
naabu(扫描端口)
↓
katana + gau(爬取页面 + 收集历史URL)
↓
nuclei(对所有发现的入口进行漏洞扫描)








2.1.5. 设置环境变量
# 写入环境变量
echo 'export PATH=$PATH:~/go/bin' >> ~/.zshrc
# 重置环境变量
source ~/.zshrc

2.1.6. 初始化项目/工作区
# 检查项目
./pentestswarm-linux-amd64 init

2.1.7. 使用域名扫描渗透
./pentestswarm-linux-amd64 scan 域名 --scope 域名 --swarm

2.1.8. 更多命令提示
# 初始化项目/工作区
.\pentestswarm-windows-amd64.exe init
# 查看帮助
.\pentestswarm-windows-amd64.exe --help
.\pentestswarm-windows-amd64.exe --h
# 查看版本
.\pentestswarm-windows-amd64.exe --version
# 扫描类命令
.\pentestswarm-windows-amd64.exe scan --target <IP/域名>
# 如果想看到实时输出(加 --follow)
./pentestswarm-linux-amd64 scan test.example.com --scope test.example.com --swarm --follow
# 如果想看详细日志(加 --verbose)
./pentestswarm-linux-amd64 scan test.example.com --scope test.example.com --swarm --verbose
# 检查系统依赖是否就绪
.\pentestswarm-windows-amd64.exe doctor
2.2. 只有国内 AI 的 api key,需要拉 ollma 的
2.2.1. 下载数据包导入到kali中,鼠标右键点击数据包选择"在这里打开终端"


2.2.2. 不用提权,不用提权,不用提权,不然初始化不了环境

2.2.3. 安装编程语言和工具
# 更新包
sudo apt update
# 安装 go 语言,python 语言是 kali 自带的
sudo apt install golang trufflehog gitleaks pipx -y
# 使用python的pipx安装第三方库
pipx install semgrep
# 重置环境变量
source ~/.zshrc



2.2.4. 安装pentestswarm缺失工具
# 更换成国内镜像,毕竟 go 官方安装包国内也是禁止访问的
go env -w GOPROXY=https://goproxy.cn,direct
# 使用go安装缺失的工具
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
go install github.com/projectdiscovery/katana/cmd/katana@latest
go install github.com/lc/gau/v2/cmd/gau@latest
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install github.com/sensepost/gowitness@latest
# 解析工具意义
subfinder(收集子域名)
↓
dnsx(解析哪些是活的)
↓
httpx(确认哪些能访问 + 识别技术栈)
↓
naabu(扫描端口)
↓
katana + gau(爬取页面 + 收集历史URL)
↓
nuclei(对所有发现的入口进行漏洞扫描)








2.2.5. 设置环境变量
# 写入环境变量
echo 'export PATH=$PATH:~/go/bin' >> ~/.zshrc
# 重置环境变量
source ~/.zshrc

2.2.6. 初始化项目/工作区
# 检查项目
./pentestswarm-linux-amd64 init

2.2.7. 安装 Ollama、AI
# 拉取ollma,建议这一步开个加速器,因为ollma是美国的
curl -fsSL https://ollama.com/install.sh | sh
# 拉取一个AI模型(deepseek-r1 有多个版本可选)
ollama pull deepseek-r1:7b
# 或者更强的版本(需要至少 16GB 内存)
ollama pull deepseek-r1:14b
# 启动,一般来说安装脚本成功就已经在运行了
ollama serve &
# 查看是否有拉取下来的AI,没有的话再运行上面的启动命令
ollama list
# 也可以验证一下当前AI能否使用
ollama run deepseek-r1:7b "hello"




2.2.8. 填写pentestswarm通用配置文件
# model那里要根据自己拉取的模型更改
cat > ~/.pentestswarm/config.yaml << 'EOF'
orchestrator:
provider: ollama
model: "deepseek-r1:7b"
base_url: "http://localhost:11434"
context_window: 32000
max_tokens: 8192
temperature: 0.1
scope:
enforce_strict: true
logging:
level: info
format: console
EOF

2.2.9. 使用域名扫描渗透
./pentestswarm-linux-amd64 scan 域名 --scope 域名 --swarm

2.2.10. 更多命令提示
# 初始化项目/工作区
.\pentestswarm-windows-amd64.exe init
# 查看帮助
.\pentestswarm-windows-amd64.exe --help
.\pentestswarm-windows-amd64.exe --h
# 查看版本
.\pentestswarm-windows-amd64.exe --version
# 扫描类命令
.\pentestswarm-windows-amd64.exe scan --target <IP/域名>
# 如果想看到实时输出(加 --follow)
./pentestswarm-linux-amd64 scan test.example.com --scope test.example.com --swarm --follow
# 如果想看详细日志(加 --verbose)
./pentestswarm-linux-amd64 scan test.example.com --scope test.example.com --swarm --verbose
# 检查系统依赖是否就绪
.\pentestswarm-windows-amd64.exe doctor