DarkMoon 自主渗透测试平台
以受控工具执行和本地隐私网关实现持续自动化渗透测试。
- Star 数
- ★ 1.2k
- 最近更新
- 9 天前
- License
- GPL-3.0
- 主语言
- Python
- FA 评分
- 48/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 安全团队在已授权的内部基础设施中持续运行自动化评估,并需要可复核的漏洞证据。
- 不适合
- 需要图形化 Web 界面或自动修复的团队,这些属于付费 Pro 版
- 无法运行 Docker 与 Docker Compose 的环境
- 未获授权、无法自行界定测试范围的使用者
这个 Agent 能做什么,适合哪些场景?
DarkMoon 是一个开源的自动化渗透测试平台,通过 AI 安全代理编排完整的安全评估。用户从 DarkmoonCLI 提交目标后,OpenCode 负责推理与任务委派,MCP Darkmoon 作为执行控制层,Docker Toolbox 在隔离容器中运行安全工具。平台可按发现的技术栈调度 Web、Active Directory、Kubernetes、CMS 和无头浏览器等专用子代理,并生成包含证据的结构化审计报告。其隐私网关会将 IP、主机名、凭据和内部路径替换为确定性占位符,仅在本地工具执行前还原,并在结果返回前重新脱敏。它适合已获授权、希望把评估流程自动化并保留本地部署边界的安全团队;采用者仍需负责目标授权、Docker 环境及模型供应商或本地模型配置。
执行 ./darkmoon.sh "TARGET: example.com" 后,DarkmoonCLI 将目标交给 OpenCode;OpenCode 选择并委派 AI Agent,代理通过 MCP Darkmoon 发起函数调用。MCP 控制可执行操作,并把命令交给 Docker Toolbox;工具结果以结构化输出返回给代理,供后续决策使用。流程覆盖端口与服务发现、技术指纹识别、攻击面建模、按技术栈派发子代理、漏洞扫描与自适应验证,并产出带请求、载荷和响应证据的结构化审计报告。工具箱示例包括 Naabu、Masscan、Nuclei、ffuf、sqlmap、NetExec、BloodHound、kubectl、Kubescape 和 Lightpanda。
- 安全团队在已授权的内部基础设施中持续运行自动化评估,并需要可复核的漏洞证据。
- DevSecOps 团队在构建完成后启动自动安全测试,希望在进入生产前发现关键问题。
- 负责 Active Directory 环境的授权测试人员,需要结合 NetExec、BloodHound 和 Impacket 相关工具进行评估。
- 管理 Kubernetes 工作负载的安全人员,需要将 kubectl、Kubescape 与 Kubeletctl 纳入测试流程。
- 参与已授权漏洞赏金项目的研究人员,需要用
FOCUS=sqli,xss,idor等范围指令聚焦测试。 - 培训或教学场景中,学习者需要可复现的 Web、网络或目录服务评估流程。
如何安装或部署这个 Agent?
前提:Docker、Docker Compose,以及 LLM API 密钥(OpenRouter、Anthropic、OpenAI 等)或本地模型。执行:
git clone https://github.com/ASCIT31/Dark-Moon.git
cd Dark-Moon
./install.sh --init按交互提示配置云端或本地模型;随后运行 ./install.sh 构建并启动完整栈。
如何使用这个 Agent?
首次评估可运行:
./darkmoon.sh "TARGET: example.com"可用 ./darkmoon.sh --log <session_id> 查看实时会话日志和 MCP 服务器执行的命令。若需限定范围,可运行:
./darkmoon.sh "TARGET: http://172.19.0.3:3000 PROGRAM=\"Juice Shop\" FOCUS=sqli,xss,idor NOISE=moderate FORMAT=h1"README 还列出 EXCLUDE、CREDS、TOKEN、SEVERITY 等范围参数。
这个 Agent 有哪些优点和局限?
- 采用 OpenCode → MCP Darkmoon → Docker Toolbox 的分层执行模型,模型不直接运行系统工具。
- 隐私网关对 IP、主机名、域名、URL、邮箱、凭据和内部路径使用可逆的本地确定性占位符,并在工具结果中重新脱敏。
- 按已发现技术动态调度 CMS、应用栈、GraphQL、AD、Kubernetes 和无头浏览器子代理,可覆盖混合架构。
- Docker Toolbox 集成 50 多种安全工具,并自动生成包含请求、载荷和响应证据的报告。
- 运行依赖 Docker 与 Docker Compose;安装流程会构建并启动完整容器栈。
- 需要配置 LLM API 密钥或本地模型运行时;云端模型配置带来外部供应商依赖。
- 平台会运行真实的进攻性安全操作,采用者必须自行确保测试目标与凭据的授权和范围正确。
- 所给材料没有说明报告导出格式、CI/CD 集成方式、访问控制机制或失败后的恢复行为。
这个 Agent 与同类方案有什么区别?
相较于人工渗透测试,DarkMoon 的定位是自动完成发现、代理调度、验证和报告流程;README 同时明确其并非用于取代渗透测试人员。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| DarkMoon 自主渗透测试平台 当前 | 48 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.2k | 9 天前 | Python | OpenAI API · Claude API |
| PentestCode | 55 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 928 | 1 天前 | TypeScript | OpenAI API · Claude API |
| PentesterFlow | 73 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 1.4k | 2 个月前 | TypeScript | OpenAI API |
| PentestAgent | 50 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 3.2k | 11 天前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:架构将AI与工具执行隔离,通过MCP网关控制,且测试证明敏感值被令牌化,命令执行前本地还原,输出被清理,阻止外传。但用户确认机制仅提及授权,未详细说明;依赖安全未提及;回滚机制未提及;发布者身份未验证。因此,最小权限、数据流透明、敏感数据处理得2分,用户确认、外部影响、来源归属得1分,依赖安全、回滚得0分。
证据显示:README与测试文件一致,架构描述清晰,测试覆盖隐私网关。但依赖可用性未验证,失败消息未详细说明。因此,自洽性得2分,依赖可用性、失败消息得1分。
证据显示:面向安全团队、DevSecOps、漏洞赏金猎人等,支持多种场景,能力边界明确(如凭据相关代理需授权),触发条件基于技术检测,环境适配支持Docker和本地LLM。因此,各得2分。
证据显示:README结构清晰,安装说明详细,示例丰富,许可证为GPL-3.0。但命名稳定性未提及,已知限制未明确,版本变更日志缺失,维护责任仅提及贡献指南。因此,信息架构、安装说明、示例FAQ得2分,命名稳定性、已知限制、维护责任得1分,许可证得3分,版本变更日志得0分。
证据显示:输出为结构化报告,提供证据,边际价值高(自动化渗透测试),但成本效益未量化。因此,输出可用性、边际价值得2分,成本效益得1分。
证据显示:基准测试声称57个漏洞,但未提供复现细节;外部媒体报道存在,但未提供独立验证;事实与推断未明确区分。因此,各得1分。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 发布者身份未验证,需谨慎评估供应链风险。
- 依赖安全未提及,需检查依赖漏洞。
- 回滚机制缺失,需考虑失败恢复。
- 基准测试声称57个漏洞,但未提供复现细节,需独立验证。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v1.6.0 DarkMoon v1.6.0 — Signal-driven vulnerability scanning
发布说明摘录
DarkMoon v1.6.0 — Signal-driven vulnerability scanning This release makes the open-source engine find the vulnerabilities a version string already proves, without the slow, blind scans that used to block a campaign. The sub-agents now dispatch nuclei / vulnx the way a human pentester would: only once a product and version are confirmed, scoped to that product, and bounded in time. 🎯 Targeted vuln sweep — generic, signal-driven, fast …在 GitHub 查看 ↗ -
v1.5.0 DarkMoon v1.5.0 — DarkMoon everywhere
发布说明摘录
DarkMoon v1.5.0 — DarkMoon everywhere This release brings DarkMoon into the tools you already build with, and sharpens the open-source engine. 🧩 DarkMoon everywhere — official integrations Run DarkMoon from your IDE, CI/CD, automation and SOC. Integrations marked OSS + Pro work with this open-source edition (local CLI + JSON); the rest consume the DarkMoon Pro REST API. | Platform | What it does | Get it | Edition | |---|---|---|---| …在 GitHub 查看 ↗ -
v1.4.0 Darkmoon v1.4.0 — LLM/AI endpoint pentest agent, privacy gateway hardening & garak toolbox
发布说明摘录
This release adds a dedicated LLM / AI inference-endpoint pentest agent, closes several privacy-gateway leaks found during live engagements, and extends the toolbox with NVIDIA's garak LLM vulnerability scanner. Everything below was validated end to end — detection → dispatch → exploitation → report — with no regression to the existing agent roster. --- 🔒 Privacy gateway hardening …在 GitHub 查看 ↗
常见问题
模型会看到真实 IP、主机名或凭据吗?
是否必须使用云端模型?
如何监控一次评估实际执行了什么?
./darkmoon.sh --log <session_id>;README 说明实时日志会显示 MCP 服务器执行的每条命令。可以限制测试范围吗?
TARGET、FOCUS、EXCLUDE、CREDS、TOKEN、NOISE、SEVERITY 和 FORMAT 用于表达范围和重点。