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, 一键安装, 代码生成, 内存规避, 安全工具集, 安全测试, 安装脚本, 攻击性安全, 渗透测试工具, 熵值分析, 目录枚举, 移动安全, 系统要求, 网络安全, 自动渗透, 请求拦截, 逆向工具, 隐私保护