Dark-Moon
开源 AI 渗透测试平台:多 Agent 自动编排、集成 50+ 安全工具、一键 docker-co
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 AI 渗透测试平台:多 Agent 自动编排、集成 50+ 安全工具、一键 docker-co
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:某中型科技公司刚刚上线了新版本 Web 应用,安全团队只有两名工程师,而传统渗透测试公司的报价单上写着"两周交付,8万元"。等,还是不等?等,意味着带着未知的风险跑业务;不等,意味着压缩发布周期或绕过安全门控。这个两难,正是 DarkMoon 试图解决的核心问题。
DarkMoon 是一款开源的 AI 驱动的自动化渗透测试平台,GitHub 获星 428 颗(截至分析日),由法国安全团队 ASC-IT 开发维护。它不是要取代渗透测试工程师,而是充当一个"永不下班的 AI 安全助手"——让组织能够随时发起完整的渗透测试,不需要预约、不需要排队、不需要高昂的费用。
图1:DarkMoon 官方 Logo
传统渗透测试有四大痛点:耗时(专业团队手工测试通常需要 1-4 周)、昂贵(国内行情单次 Web 应用渗透测试 3-10 万元起)、结果不稳定(不同测试者经验差异导致覆盖范围参差不齐)、难以规模化(人力瓶颈限制了一家公司每天只能测试有限数量的目标)。
随着大语言模型能力的跃升,业界开始探索用 AI 自动化渗透测试流程。DarkMoon 诞生于这一趋势中,它的核心设计理念是"AI 负责思考,工具负责执行"——将 LLM 的推理能力与专业安全工具的精确性结合,由 AI 编排整个评估流程,而非让 AI 直接操作工具或系统。
当用户输入目标 URL 或 IP 后,DarkMoon 会自动执行以下七个阶段:
这个流程遵循 ISO 27001、NIST SP 800-115 和 MITRE ATT&CK 框架,体现了设计者对合规性的重视。
DarkMoon 最具特色的设计是动态 Agent 分发机制。平台内置 17+ 种专项 Agent,根据目标指纹自动触发:
| 目标类型 | Agent |
|---|---|
| WordPress/Drupal/Joomla/Magento/PrestaShop/Moodle | CMS 专项 Agent |
| PHP/Node.js/Flask/ASP.NET/Spring Boot/Ruby on Rails | 编程栈 Agent |
| GraphQL | GraphQL Agent |
| Active Directory | AD Agent |
| Kubernetes | K8s Agent |
| 需要浏览器操作 | 无头浏览器 Agent |
多个 Agent 可以并行执行,对混合架构(前端 Web + 后端 API + AD 域控)一次性完成全面评估。
DarkMoon 的 Docker 镜像预置了完整工具链,覆盖渗透测试全场景:
所有工具路径已预配置,进入容器后直接可用,无需手动安装。
图2:子 Agent 编排执行界面
DarkMoon 采用经典的分层解耦架构,数据流如下:
用户输入 → DarkmoonCLI (Bash) → OpenCode (AI Brain) → MCP Server (安全门控) → Docker Toolbox (隔离工具执行)
OpenCode(AI Brain):Go 编写的 AI 编排引擎,负责理解用户目标、制定攻击计划、协调子 Agent。使用 MCP(Model Context Protocol)作为通信协议与下层交互。
MCP Server(安全门控):Python(FastMCP)实现,扮演"安全守门人"角色。所有工具执行必须经过 MCP 路由——AI 从不直接调用系统命令。这一设计有效限制了 AI 的攻击面,防止误操作或 Prompt 注入导致的安全风险。
Docker Toolbox(隔离执行):所有真实攻击工具运行在隔离的 Docker 容器内,宿主机只暴露 Docker API。默认以 root 用户运行(容器内),并通过 network_mode: host 访问目标网络。
图3:目标枚举与 Agent 分发流程
项目提供了极其简化的安装体验:
git clone https://github.com/ASCIT31/Dark-Moon.git
cd Dark-Moon
./install.sh
install.sh 脚本会自动完成以下工作:检测 Docker 环境、引导配置 LLM Provider(支持 OpenRouter、Anthropic、OpenAI、本地 Ollama)、生成 OpenCode 配置文件、构建 Docker 镜像、启动服务。
# 基础 Web 渗透测试
./darkmoon.sh "TARGET: http://example.com"
# Bug Bounty 模式(自动匹配 HackerOne 格式)
./darkmoon.sh "TARGET: https://app.example.com PROGRAM="BugBounty" FOCUS=sqli,xss,rce"
# 实时查看执行日志
./darkmoon.sh --log <session_id>
除了 CLI,项目还提供了基于 React + TypeScript 的 TUI(终端图形界面),在容器内启动后可通过浏览器访问(默认 http://localhost:9222),提供实时仪表盘和会话管理。
图4:TUI 评估启动界面
| 项目 | 要求 |
|---|---|
| 系统 | Linux(推荐)、macOS(Docker Desktop)、WSL2 |
| 内存 | 8GB+ |
| 磁盘 | 10GB+ |
| GPU | 可选(仅本地 LLM 推理加速) |
| 网络 | 目标可达的出口网络 |
DarkMoon 的另一个亮点是证据驱动的报告机制。每条漏洞发现都附带完整证据链:原始请求包、Payload、服务器响应、截取的 HTTP 头和 Body。
图5:结构化报告生成界面
报告支持多种格式导出(HackerOne、PDF),满足不同场景需求。平台还明确建议人工分析师复核——设计者清醒地认识到 AI 自动化扫描的局限性:大量"可能是漏洞"的发现需要人工判断 exploitability(可利用性)和 severity(严重性),这是负责任的安全实践。
⚠️ 授权渗透是前提:未经授权对任何目标发起渗透测试在绝大多数司法管辖区均属违法。DarkMoon 明确要求用户自行确保拥有合法授权。
⚠️ AI 误判风险:与其他自动化扫描工具一样,DarkMoon 会产生假阳性(将无害功能标记为漏洞)和假阴性(遗漏真实漏洞)。平台内置的"人工复核建议"机制是对这一局限的直接回应。
⚠️ 网络环境依赖:在受限网络环境下(如企业防火墙、代理环境),部分工具的执行效果可能受限。
⚠️ LLM 推理成本:使用云端 API(OpenRouter/Anthropic)时,每次完整渗透测试消耗的 Token 成本不可忽视,需要关注使用量控制。
DarkMoon 代表了安全工具领域的AI 原生化趋势。从早期的规则引擎扫描(Nessus、OpenVAS),到众包渗透测试平台(Bugcrowd、HackerOne),再到 AI 驱动的自主渗透,自动化程度在持续攀升。
从增长数据看,项目自 2024 年底开源以来保持了稳定增长,GitHub 428 星的体量说明其在安全社区获得了初步认可。17+ 种专项 Agent、50+ 工具集成、docker-compose 一键部署的工程完成度,在同类开源 AI 安全工具中处于中上水平。
对于以下场景,DarkMoon 具有显著价值:
总结:DarkMoon 是目前开源生态中,集成度最高、工程完成度最好的 AI 驱动渗透测试平台之一。它不是银弹,但作为"永不疲倦的安全助手",在扩大渗透测试覆盖面、降低安全评估门槛方面,确实迈出了实质性的一步。使用它时请务必在授权范围内行动,并始终以人工复核作为最后一道防线。