NeveuGregor/mcp-noctua
GitHub: NeveuGregor/mcp-noctua
mcp-noctua 是一个将沙箱化渗透测试工具箱通过 MCP 协议暴露给 LLM 编排器的安全审计网关,用于在授权场景下实现 AI 驱动的自动化渗透测试。
Stars: 0 | Forks: 0
# mcp-noctua
一个 MCP Server (stdio),用于向强大的 LLM 编排器暴露 **pentest 工具箱**
(Claude Code,在交互模式下),以进行**已授权**的安全审计。
受 [Darkmoon](https://github.com/ASCIT31/Dark-Moon) MCP 启发的全新重写版本
(GPL v3) **未复制代码** → 采用 CeCILL-B 许可证,零 GPL 债务。保留的核心价值
是*工具箱*(sqlmap, nuclei, ffuf, httpx, naabu, katana, whatweb…);脆弱的编排逻辑
(opencode + 本地模型) 已被抛弃,取而代之的是一个会**验证**的强大大脑。
## 架构
```
[Claude Code] --stdio--> [mcp-noctua (hôte)] --docker.sock--> [conteneur darkmoon = toolbox]
(cerveau) (passerelle contrôlée) (sqlmap, nuclei, ffuf…)
```
mcp-noctua **复用**了 `darkmoon` 容器(`ascit/darkmoon:latest`)作为工具箱:
它通过 `docker.sock` 调用该容器。在容器中调用工具不属于衍生作品 → 没有许可协议问题。该容器会
保持运行;如果它已停止,noctua 会在一次 run 之前自动启动它。
## 暴露的 MCP 工具
| 工具 | 功能 |
|-------|------|
| `run_tool(command, timeout?)` | 在工具箱中执行一个**已加入白名单**的工具。 |
| `web_crawl(url, depth?, timeout?)` | 有边界的 Crawl (katana)。 |
| `port_scan(target, ...)` | naabu + httpx,有边界。 |
| `vuln_scan(url, tags?)` | 有边界的 nuclei。 |
| `list_tools()` | 工具箱中可用的工具。 |
| `health()` | 工具箱容器的状态(running / 已启动 / 未找到)。 |
## 安全防护
- 严格的工具**白名单**;拦截危险模式(`rm -rf`、fork bomb、exfil…)。
- 能**真正杀死**工具箱中 process 的 Timeout(修复了 Darkmoon 的缺陷)。
- **仅限用于已授权的测试**;操作员需验证每个 target。
## 配置 (`.env`)
参见 `.env.example`。键值:`DOCKER_CONTAINER_NAME`, `NOCTUA_TIMEOUT`,
`NOCTUA_REPORTS_DIR`, `NOCTUA_COMPOSE_DIR`, `DEBUG`。
## 安装
```
git clone https://github.com/NeveuGregor/mcp-noctua.git
cd mcp-noctua
python3 -m venv venv && source venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # ajuster si besoin
pytest
```
在 `~/.claude.json` 中注册为 stdio MCP Server:
`venv/bin/python -m src.main` (cwd = `mcp-noctua`)。
## 许可证
CeCILL-B — 参见 [LICENSE](LICENSE)。
标签:CISA项目, DLL 劫持, Docker, MCP, 大语言模型, 安全防御评估, 密码管理, 对称加密, 插件系统, 自动化审计, 请求拦截, 逆向工具