一句话定位
DarkMoon 是一个开源、AI 驱动的自动化渗透测试平台:用户给出目标,AI 代理自主完成从发现、指纹识别、攻击面建模到漏洞验证和报告生成的全流程。
项目于 2026 年 6 月 29 日由安全团队 ASC-IT(法国)正式发布,GitHub 仓库约 2000 Stars,最新版本 v1.1.0(2026-06-15)。许可证 GPL-3.0。
⚠️ 定位说明:DarkMoon 并非"AI 安全测试"工具(如测试 Prompt Injection 或模型越狱),而是用 AI 代理驱动的通用渗透测试平台——它调用的 50 多个工具是传统的安全测试工具(Nuclei、sqlmap、BloodHound 等),AI 扮演的是"测试规划与编排者"的角色。
解决的问题
传统渗透测试面临几个硬伤:
| 问题 | 传统方式 | DarkMoon 方案 |
|---|---|---|
| 耗时长 | 手动测试需要数周 | AI 代理 7×24 持续扫描 |
| 成本高 | 专家咨询每天数千美元 | 开源免费,自带 Docker 环境 |
| 结果因人而异 | 依赖测试人员经验 | 标准化流程 + 证据留存 |
| 难以规模化 | 受限于人力 | CI/CD 可集成,每次构建后自动执行 |
DarkMoon 的思路不是"用 AI 替代渗透测试工程师",而是让 AI 承担重复的枚举、扫描和验证工作,将人的精力留给需要判断力的环节。
架构设计
DarkMoon 采用四层架构,核心设计原则是 AI 不直接操作系统:
用户 → DarkmoonCLI → OpenCode (AI 大脑) → MCP (安全网关) → Docker Toolbox (真实工具)
- DarkmoonCLI:命令行入口,接收目标参数和策略
- OpenCode:AI 推理层,负责理解目标、规划攻击路径、分配子代理
- MCP(Model Context Protocol):安全网关层——所有工具调用必须通过 MCP,AI 无法直接执行系统命令
- Docker Toolbox:预装 50+ 工具的隔离容器环境
此架构与 Anthropic 提出的 MCP 标准一致——AI 只做推理决策,执行层通过协议接口隔离,避免 AI 失控操作宿主机。
子代理编排
DarkMoon 根据发现的目标技术栈,动态调度专用子代理:
| 检测到的技术 | 触发的代理 |
|---|---|
| WordPress / Drupal / Joomla / Magento / PrestaShop / Moodle | CMS 专项代理 |
| PHP / Node.js / Flask / ASP.NET / Spring Boot / Ruby on Rails | 技术栈专项代理 |
| GraphQL | GraphQL 代理 |
| Active Directory | AD 代理 |
| Kubernetes | K8s 代理 |
| 需要无头浏览器 | Headless Browser 代理 |
多个代理可并行执行,覆盖混合架构场景。
内置工具集
DarkMoon 通过多阶段 Docker 构建打包了 50+ 安全工具:
| 类别 | 工具(部分) |
|---|---|
| 端口扫描 | Naabu, Masscan |
| Web 扫描 | Nuclei, ffuf, dirb, sqlmap, Arjun, wafw00f |
| 信息收集 | Subfinder, Katana, Waybackurls, httpx |
| CMS | WPScan, CMSeeK, WhatWeb |
| Active Directory | NetExec, BloodHound, Impacket(30+ 脚本) |
| Kubernetes | kubectl, Kubescape, Kubeletctl |
| 网络 | Hydra, curl, dig, SNMP tools |
| 浏览器 | Lightpanda(无头浏览器) |
所有工具在容器内可直接调用,无需额外配置 PATH。
快速上手
前提:需安装 Docker 和 Docker Compose,以及一个 LLM API Key(支持 Anthropic、OpenAI、OpenRouter 及 Ollama/llama.cpp 等本地模型)。
# 1. 克隆仓库
git clone https://github.com/ASCIT31/Dark-Moon.git
cd Dark-Moon
# 2. 配置 LLM 提供商(交互式)
./install.sh --init
# 3. 构建并启动
./install.sh
# 4. 执行首次测试
./darkmoon.sh "TARGET: example.com"
# 5. 实时监控
./darkmoon.sh --log <session_id>
DarkMoon 的 FOCUS/EXCLUDE 参数通过自然语言传入,例如针对 Bug Bounty 场景:
./darkmoon.sh "TARGET: https://app.example.com \
PROGRAM=\"Example BB\" FOCUS=sqli,rce,ssrf FORMAT=h1"
适用场景
| 场景 | 说明 |
|---|---|
| 安全团队持续测试 | 对内部基础设施定期执行自动化渗透 |
| DevSecOps CI/CD | 集成到构建流水线,上线前自动检测关键漏洞 |
| Bug Bounty 加速 | 用 AI 做前期枚举和扫描,人工集中在高价值目标 |
| 安全研究教学 | 可复现的自动化渗透流程,适合培训场景 |
局限与注意事项
- 依赖 LLM 质量:测试效果直接受所选 LLM 的推理能力影响——本地小模型可能不如云端大模型
- 非零配置:至少需要一次 Docker 安装和 API Key 配置,不是开箱即扫描
- 非 AI 安全测试工具:不支持 Prompt Injection、模型越狱等 AI 专项安全测试——它测试的是传统基础设施,不是 AI 系统本身
- 误报风险:自动化工具链必然有误报,生成报告后仍需人工审核
- 资源消耗:Docker 工具箱 + LLM 推理对硬件有一定要求,GPU 配置可能涉及额外调试
- 不是全量替代:复杂的业务逻辑漏洞、权限绕过等仍需人工渗透测试
竞品对比
| 维度 | DarkMoon | Pentera | Metasploit | Burp Suite Pro |
|---|---|---|---|---|
| 开源 | ✅ GPL-3.0 | ❌ 商业 | ✅ 部分开源 | ❌ 商业 |
| AI 代理编排 | ✅ 是 | ❌ 规则驱动 | ❌ 脚本驱动 | ❌ 手动 |
| CI/CD 集成 | ✅ Docker 原生 | ✅ 有 API | ⚠️ 需额外配置 | ⚠️ 需插件 |
| 工具数量 | 50+ | 专有引擎 | 数千模块 | 扫描器 + 扩展 |
| 部署复杂度 | 低(Docker) | 中 | 中 | 低 |
| 学习曲线 | 中等 | 高 | 高 | 中等 |
参考资料
- GitHub 仓库:https://github.com/ASCIT31/Dark-Moon
- 官方完整文档:https://github.com/ASCIT31/Dark-Moon/blob/master/docs/full.md
- 演示视频:https://youtu.be/1bFRVuMkZzY
- HelpNetSecurity 报道(2026-06-29):https://www.helpnetsecurity.com/2026/06/29/darkmoon-open-source-ai-pentesting-platform/
- ASC-IT 团队:https://asc-it.fr/
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/sec/darkmoon-autonomous-pentesting-platform.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)