aamirizwann/AutoPentest-MCP
GitHub: aamirizwann/AutoPentest-MCP
AutoPentest-MCP 是一个自主渗透测试MCP服务器,通过一键安装和AI集成,自动化执行140多个安全工具以简化渗透测试流程。
Stars: 0 | Forks: 0
# AutoPentest-MCP
## 系统要求
| 资源 | 最低配置 | 推荐配置 |
|----------|------------------------------------|------------------|
| 操作系统 | Kali / Debian 12+ / Ubuntu 22.04+ | Kali Rolling |
| 内存 | 4 GB | 8 GB+ |
| 磁盘 | 20 GB 可用空间(约 10 GB 镜像) | 40 GB+ |
| CPU | 2 核 | 4 核+ |
| 网络 | apt, GitHub, PyPI, cargo, gem 可达 | — |
| 时间 | 原生安装 30–45 分钟,Docker 构建 45–60 分钟 | — |
| Sudo | 需要(使用 `--non-interactive` 时需免密) | — |
内存紧张?Cargo 和 Nuclei 构建是最容易出现内存不足的地方 — 安装程序已经应用了预编译二进制文件的解决方法,请参阅 [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md)。
## 前置条件
你需要在运行安装程序**之前**安装一个 AI 客户端 — `install.sh` 仅为它编写 MCP 配置文件;它不会安装客户端本身。选择一个:
| AI 客户端 | 安装命令 | 费用 |
|---|---|---|
| **[Claude Code](https://claude.ai/code)** (推荐 — 原生支持 MCP) | `npm install -g @anthropic-ai/claude-code` | Anthropic API 密钥或 Claude.ai Pro/Max 套餐 |
| **[Codex CLI](https://developers.openai.com/codex/)** (OpenAI 的编码代理,原生支持 MCP) | `npm install -g @openai/codex` | OpenAI API 密钥(或任何兼容 OpenAI 的端点) |
| **[Antigravity CLI](https://antigravity.google/download)** (`agy` — Gemini CLI 的继任者,原生支持 MCP) | 从 https://antigravity.google/download 下载安装程序 | 个人 Google 账户免费(预览版) |
| **[Gemini CLI](https://github.com/google/gemini-cli)** (原生支持 MCP) ⚠️ 已弃用 — 见下方注释 | `npm install -g @google/gemini-cli` | Google 账户免费层(截至 2026 年 6 月 18 日) |
| **[mcp-cli](https://github.com/chrishayuk/mcp-cli)** (通用桥接 — DeepSeek, Ollama, Groq, Together, 任何兼容 OpenAI 的 API) | `./install.sh --client=mcp-cli` *自动安装* | 自带 API 密钥,或在本地运行 Ollama |
| **Cursor / Continue.dev / Cline** (IDE 插件,原生支持 MCP) | 从 IDE 市场安装 | 各异 |
如果这些都不在你的 PATH 中,`install.sh` 仍会写入 Claude Code MCP 条目,但会发出警告 — 你之后仍需安装 Claude Code 才能实际使用它。
### 首次运行认证
安装 AI 客户端后,**在**要求其列出 MCP 工具之前登录或设置 API 密钥 — 否则 AI 会因自身认证错误而失败,看起来像是 MCP 出了问题:
| 客户端 | 一次性设置 |
|---|---|
| **Claude Code** | `claude /login` (Pro/Max 套餐) — 或 `export ANTHROPIC_API_KEY=sk-ant-...` |
| **Codex CLI** | `export OPENAI_API_KEY=sk-...` (也接受 `OPENAI_BASE_URL` 用于兼容端点) |
| **Antigravity (`agy`)** | 启动一次 `agy` → Google 登录(预览期间个人账户免费) |
| **Gemini CLI** | 启动一次 `gemini` → Google 登录 — 或 `export GEMINI_API_KEY=...` 用于付费 API |
| **mcp-cli** | 设置提供者密钥:`export OPENAI_API_KEY=...`, `DEEPSEEK_API_KEY=...` 等 — 或在本地运行 Ollama |
## 快速开始
```
# Debian/Ubuntu 仅限 —— Kali 已预装 git
sudo apt install -y git
git clone --recurse-submodules https://github.com/aamirizwann/AutoPentest-MCP.git
cd AutoPentest-MCP
./install.sh
```
在全新的 Kali 系统上大约需要 20-40 分钟,在 Debian/Ubuntu 上更久。`install.sh` 会在最后阶段自动运行 `verify.sh`,因此绿色的摘要意味着你已准备好使用 MCP。
## 你会得到什么
| 层级 | 内容 | 端口 |
|---|---|---|
| **MCP 网关** | `pentest-mcp` — 暴露 7 个高级渗透测试命令 | 8000 |
| **后端** | `hexstrike-ai` — 编排 127 个底层工具 | 8888 |
| **移动扫描器** | `MobSF` — 完整的移动应用静态 + 动态分析 | 8081 |
| **CLI 工具链** | nmap, sqlmap, nuclei, hydra, hashcat, msfconsole, frida, adb, apktool, jadx, … (140+ 二进制文件) | — |
安装后,询问你的 AI 客户端:
AI 调用 MCP,MCP 编排工具链,工具链返回结构化结果。无需手动输入 `nmap -sV ...`。
## 支持的操作系统
| 操作系统 | 安装路径 |
|---|---|
| **Kali Linux** (滚动版, ≥2024) | `./install.sh` — 最快 |
| **Debian** 12+ / **Ubuntu** 22.04+ | `./install.sh` — 添加 Kali 仓库以获取安全工具 |
| **macOS / Windows** | `cd docker && docker compose up -d --build` |
## 支持的 AI 客户端
| 客户端 | 原生支持 MCP? | 配置方式 |
|---|---|---|
| [Claude Code](https://claude.ai/code) | ✓ | `./install.sh` (自动检测) |
| [Codex CLI](https://developers.openai.com/codex/) (OpenAI) | ✓ | `./install.sh --client=codex` (当 `codex` 在 PATH 中时自动检测) |
| [Antigravity CLI](https://antigravity.google/download) (`agy`) | ✓ | `./install.sh --client=antigravity` (当 `agy` 在 PATH 中时自动检测) |
| [Gemini CLI](https://github.com/google/gemini-cli) ⚠️ 2026 年 6 月 18 日弃用 | ✓ | `./install.sh --client=gemini` |
| **DeepSeek / Ollama / Groq / Together / 任何兼容 OpenAI 的 API** (通过 [mcp-cli](https://github.com/chrishayuk/mcp-cli)) | 桥接 | `./install.sh --client=mcp-cli --mcp-cli-provider=deepseek` |
| Cursor / Continue.dev / Cline | ✓ | 手动代码片段 (见 [ai-clients/ide-clients](ai-clients/ide-clients)) |
想要一次性配置**所有**当前支持的客户端:`./install.sh --client=all`。
## 安装标志
```
./install.sh # default: auto-detect client, install everything
./install.sh --no-mobile # skip mobile pentest stack (adb, frida, etc.)
./install.sh --no-mobsf # skip MobSF (it's heavy: poetry + ~500 MB venv)
./install.sh --client=gemini # configure Gemini CLI instead of Claude Code
./install.sh --client=mcp-cli \ # use DeepSeek via mcp-cli
--mcp-cli-provider=deepseek
./install.sh --ntp-region=eu # use European NTP pool instead of Malaysia
./install.sh --skip-system-configs # don't touch /etc (SSH keepalive, sysctl, sudo timeout)
./install.sh --non-interactive # for CI / unattended installs (assumes passwordless sudo)
```
## 验证
`install.sh` 已在最后阶段调用它 — 你无需在安装后立即手动运行。在重启、配置更改或故障排除后手动重新运行:
```
./verify.sh
```
仅在以下情况退出码为 0:
- 所有 systemd 服务 (`pentest-mcp`, `pentest-hexstrike`, `mobsf`) 处于活动状态
- MCP 网关在端口 8000 响应 JSON-RPC
- HexStrike 报告可用工具 ≥ 105 个(主机安装通常达到 114+;容器基线约为 108)
- MobSF 网页界面在端口 8081 返回 HTTP 302
- 关键 CLI (`nmap`, `sqlmap`, `nuclei`, `hydra`, `hashcat`, `msfconsole`, `adb`, `apktool`, `jadx`, `frida`, `objection`, `mobsf`) 在 PATH 中
## 使用方法
一旦 `verify.sh` 通过,MCP 服务器正在运行,并且你选择的 AI 客户端已与其连接。以下是实际使用方法:
### 1. 重启你的 AI 客户端
MCP 条目已写入其配置文件:
| 客户端 | 配置路径 |
|---|---|
| Claude Code | `~/.claude.json` |
| Codex CLI | `~/.codex/config.toml` |
| Antigravity | `~/.gemini/antigravity/mcp_config.json` |
| Gemini CLI | `~/.gemini/settings.json` |
| mcp-cli | `~/.mcp-cli/server_config.json` |
重启客户端(或关闭并重新打开 Antigravity / Cursor IDE)以便它加载新服务器。
### 2. 确认 MCP 已加载
在你的 AI 客户端中,询问:
你应该会看到 `recon_target`, `web_recon`, `web_exploit`, `pentest_target`, `run_command_sync`, `start_job`, 和 `check_job_status` 等条目。
### 3. 运行你的第一次扫描
尝试以下提示之一(均针对安全、授权的目标):
AI 会选择正确的 MCP 工具,将参数发送到 `:8000` 的网关,网关调用 `:8888` 的 HexStrike,HexStrike 运行底层 CLI。结果作为结构化 JSON 返回供 AI 总结。
### 4. 长时间运行的扫描
任何超过约 5 分钟的操作(完整的 nuclei 扫描、hashcat 运行、MobSF 动态分析)都通过 `start_job` + `check_job_status` 暴露,这样 AI 可以轮询而不是超时。AI 会自动处理 — 你无需一直盯着。
### 5. 停止/重启服务
```
systemctl --user stop pentest-mcp pentest-hexstrike mobsf
systemctl --user start pentest-mcp pentest-hexstrike mobsf
systemctl --user status pentest-mcp pentest-hexstrike mobsf
journalctl --user -u pentest-mcp -f # tail gateway logs
```
服务在重启后会自动恢复(通过 `loginctl enable-linger`)。
## 架构
```
┌─────────────┐ ┌──────────────────┐ ┌──────────────┐ ┌────────────┐
│ AI client │ MCP │ pentest-mcp │ HTTP │ hexstrike │ exec │ 140+ CLI │
│ (Claude / ├─────►│ gateway ├─────►│ backend ├─────►│ tools │
│ Gemini / │stdio │ :8000 │ │ :8888 │ │ (nmap, │
│ mcp-cli) │ │ │ │ │ │ sqlmap, │
└─────────────┘ └──────────────────┘ └──────────────┘ │ nuclei,…) │
└────────────┘
┌──────────────┐
│ MobSF │ ← drop APK/IPA via web UI
│ :8081 │
└──────────────┘
```
详细内容请参阅 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。
## 文档
- [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) — 完整的请求流程 + 桥接如何转换 stdio↔HTTP
- [`docs/TOOL_INVENTORY.md`](docs/TOOL_INVENTORY.md) — 按类别划分的完整 140 工具表
- [`docs/TARGETS.md`](docs/TARGETS.md) — 你可以合法扫描的安全练习目标
- [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md) — nuclei 构建期间内存不足、PEP 668 错误、端口冲突等
- [`docs/SECURITY.md`](docs/SECURITY.md) — 授权规则和道德使用界限
- [`docker/README.md`](docker/README.md) — Docker 快速启动
- `ai-clients/*/README.md` — 每个客户端的设置详情
## ⚠️ 需要授权
这是一个**攻击性安全工具包**。仅可针对以下目标运行:
- 你拥有的系统
- 你拥有**明确书面授权**进行测试的目标
- 公共训练目标:`scanme.nmap.org`, OWASP Juice Shop, DVWA, PortSwigger labs, 你已预约的 HackTheBox/TryHackMe 机器
在大多数司法管辖区,未经授权的扫描是非法的。详见 [`docs/SECURITY.md`](docs/SECURITY.md)。
标签:AD攻击面, AI安全, AI客户端集成, AI集成, Chat Copilot, Claude Code, Debian, DeepSeek, Gemini CLI, HexStrike, LLM评估, MCP服务器, MobSF, Ollama, OpenAI, Pentest-MCP, 一键安装, 代码生成, 内存规避, 安全工具集, 安全测试, 安装脚本, 攻击性安全, 渗透测试工具, 熵值分析, 目录枚举, 移动安全, 系统要求, 网络安全, 自动渗透, 请求拦截, 逆向工具, 隐私保护