AI驱动的渗透测试代理,可连接到Kali主机,自主运行安全工具、分析结果,并通过基于浏览器的工作流进行迭代。
一个开源的、AI 驱动的渗透测试代理。连接到 Kali 攻击机,自主运行工具,分析结果,并迭代执行。你只需描述目标,其余的交由它完成。
专为真实项目、boot2root 靶机和 CTF 打造。
Pentest Copilot 在 OWASP Juice Shop 中执行认证绕过:
在 YouTube 上观看
.ovpn/.conf 捆绑包,并从浏览器连接/断开。支持多个同时连接。git clone https://github.com/bugbasesecurity/pentest-copilot.git
cd pentest-copilot
./run.sh start
打开 http://localhost:3000,注册,然后开始一个会话。
run.sh 会等待前端、后端、MongoDB 和 Redis 就绪后再报告成功。如果启动失败,它会打印受影响的容器状态和最近的日志。首次启动后,在 Settings -> Models 下配置并分配模型。
在 Windows 上,请在启用了 Docker Desktop WSL 集成的 WSL2 中运行 Pentest Copilot。不支持原生 PowerShell 和 Windows SSH 工作主机,因为工作区命令需要 POSIX shell。为了可靠的文件权限和性能,请将仓库克隆到 WSL 文件系统中,而不是 /mnt/c 下。
Settings -> Models 会检测已认证的 Codex 和 Claude Code CLI。在运行 CLI 的机器上认证一次:
codex login
claude auth login
然后选择 Use Codex 或 Use Claude Code。官方 CLI 负责登录、刷新和订阅权益处理;Pentest Copilot 不会复制或重放 OAuth 令牌。订阅传输会接收与 API 提供方相同的对话历史和函数模式,并返回相同的助手/工具调用契约,因此 Pentest Copilot 会继续执行工具和同意检查。
Docker 后端包含 Linux Codex CLI,并且仅挂载宿主机的基于文件的 ~/.codex/auth.json,遵循 Codex 文档化的无头/Docker 登录传输流程。如果你的凭据文件位于其他位置,请在 docker compose up 之前设置 CODEX_AUTH_FILE。CLI 在正常使用期间可能会刷新该文件;切勿提交或分享它。仅主机 Keychain 凭据和 Claude Code 在配置主机推理桥接之前,仍仅在开发者/主机模式下可用。Claude 订阅使用属于本地 CLI 控制,必须遵守 Anthropic 当前的第三方产品和订阅条款。
当前的一流模型系列包括 GPT-5.6 Sol/Terra/Luna、Claude Fable/Opus/Sonnet 5 和 Kimi K3(直接 Moonshot API 或 OpenRouter)。
在 Docker 模式下,Pentest Copilot 以只读方式挂载宿主机的 ~/.ssh 和 ~/keys 目录。每个工作区可以在 Connection 下从 ~/.ssh/config 中选择一个具体的 Host 别名。该工作区中的每个会话都使用相同的主机和工作文件夹,而无需将私钥复制到 MongoDB。当这些目录位于其他位置时,请在启动 Docker 之前设置 HOST_SSH_DIR 或 HOST_SSH_KEYS_DIR。
使用命名别名而不是仅通配符条目:
Host lab-box
HostName 10.10.10.10
User root
IdentityFile ~/.ssh/lab-box.pem
run.sh 处理配置文件生成、Docker 构建和容器编排。使用 ./run.sh start -q 可复用上一次启动模式,并在后续运行中跳过提示。
有关完整的操作系统、Docker、SSH、VPN、代理、权限、恢复和部署场景矩阵,请参阅 安装与故障排除。
./run.sh stop # 停止所有容器
./run.sh logs # 跟踪日志
./run.sh status # 容器状态
./run.sh backup # 备份数据库、配置和工作区
./run.sh config # 更新配置
./run.sh dev # 开发者模式(仅基础设施,本地运行前端/后端)
./run.sh help # 完整帮助
Pentest Copilot 可以通过 MCP 将其本地控制平面暴露给 Claude Code 或 Codex 等客户端。打开 Settings -> MCP Access 以复制本地 MCP 端点和 bearer 令牌。
将该令牌视为本地管理员访问权限:它可以在配置的漏洞利用机上运行命令,操作 Burp、浏览器自动化和 VPN 流程,读取产物,写入发现结果,并更新本地 Pentest Copilot 配置。与某个项目相关的 MCP 操作会记录在该会话中,因此它们会持续显示在 Pentest Copilot UI 中。
复制端点和令牌后,你可以对 MCP 连接进行冒烟测试:
cd backend
PENTEST_COPILOT_MCP_URL=http://localhost:8080/mcp \
PENTEST_COPILOT_MCP_TOKEN=pc_mcp_... \
corepack pnpm run mcp:smoke
| 最低要求 | |
|---|---|
| RAM | 8 GB(如果使用内置 Kali 容器,则 +2 GB) |
| Disk | 20 GB |
| Docker | v20+ 且 Compose v2+ |
| Node.js | v22+(仅开发模式) |
| pnpm | v9+(仅开发模式) |
Docker 模式默认将其 UI 和服务端口绑定到 127.0.0.1。在没有 TLS、认证和刻意配置的反向代理的情况下,请勿将整个栈暴露到 LAN 或互联网。在内置 Kali 模式下,请将持久工作区文件保存在 /kali-data 下;Kali 容器中其他位置的文件在容器重建时会被删除。
仓库内的 安装与故障排除指南 是安装、配置、恢复和部署的权威来源。Wiki 包含额外的功能参考,可能滞后于当前版本:
./run.sh dev # 在 Docker 中启动 MongoDB + Redis
然后在单独的终端中:
cd backend && pnpm install && pnpm run watch # TypeScript 编译器
cd backend && pnpm run dev # 后端服务器(端口 8080)
cd frontend && pnpm install && pnpm run dev # 前端(端口 3000)
有关开发设置和故障排除,请参阅 安装与故障排除指南。
@article{goyal2024hacking,
title={Hacking, the lazy way: LLM augmented pentesting},
author={Goyal, Dhruva and Subramanian, Sitaraman and Peela, Aditya},
journal={arXiv preprint arXiv:2409.09493},
year={2024}
}
Pentest Copilot 仅用于授权的安全测试。在测试任何系统之前,请务必获得明确许可。