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, 大语言模型, 安全防御评估, 密码管理, 对称加密, 插件系统, 自动化审计, 请求拦截, 逆向工具