DarkMoon:AI 驱动的开源自动化渗透测试平台

2026/06/30 sec 渗透测试 · AI · 开源工具 · 安全测试 · MCP 2661 字 · 约 8 分钟 阅读 ...
介绍 DarkMoon 开源项目——一个由 AI 代理编排的自动化渗透测试平台,覆盖 Web、AD、Kubernetes 等场景,支持 50+ 安全工具的自适应调度与结构化报告生成。

一句话定位

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 / MoodleCMS 专项代理
PHP / Node.js / Flask / ASP.NET / Spring Boot / Ruby on Rails技术栈专项代理
GraphQLGraphQL 代理
Active DirectoryAD 代理
KubernetesK8s 代理
需要无头浏览器Headless Browser 代理

多个代理可并行执行,覆盖混合架构场景。


内置工具集

DarkMoon 通过多阶段 Docker 构建打包了 50+ 安全工具

类别工具(部分)
端口扫描Naabu, Masscan
Web 扫描Nuclei, ffuf, dirb, sqlmap, Arjun, wafw00f
信息收集Subfinder, Katana, Waybackurls, httpx
CMSWPScan, CMSeeK, WhatWeb
Active DirectoryNetExec, BloodHound, Impacket(30+ 脚本)
Kuberneteskubectl, 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 做前期枚举和扫描,人工集中在高价值目标
安全研究教学可复现的自动化渗透流程,适合培训场景

局限与注意事项

  1. 依赖 LLM 质量:测试效果直接受所选 LLM 的推理能力影响——本地小模型可能不如云端大模型
  2. 非零配置:至少需要一次 Docker 安装和 API Key 配置,不是开箱即扫描
  3. 非 AI 安全测试工具:不支持 Prompt Injection、模型越狱等 AI 专项安全测试——它测试的是传统基础设施,不是 AI 系统本身
  4. 误报风险:自动化工具链必然有误报,生成报告后仍需人工审核
  5. 资源消耗:Docker 工具箱 + LLM 推理对硬件有一定要求,GPU 配置可能涉及额外调试
  6. 不是全量替代:复杂的业务逻辑漏洞、权限绕过等仍需人工渗透测试

竞品对比

维度DarkMoonPenteraMetasploitBurp Suite Pro
开源✅ GPL-3.0❌ 商业✅ 部分开源❌ 商业
AI 代理编排✅ 是❌ 规则驱动❌ 脚本驱动❌ 手动
CI/CD 集成✅ Docker 原生✅ 有 API⚠️ 需额外配置⚠️ 需插件
工具数量50+专有引擎数千模块扫描器 + 扩展
部署复杂度低(Docker)
学习曲线中等中等

参考资料

文档信息