DarkMoon 自主渗透测试平台
以受控工具执行和本地隐私网关实现持续自动化渗透测试。
按维度查看评分与理由
证据显示:架构将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分。
- 发布者身份未验证,需谨慎评估供应链风险。
- 依赖安全未提及,需检查依赖漏洞。
- 回滚机制缺失,需考虑失败恢复。
- 基准测试声称57个漏洞,但未提供复现细节,需独立验证。
这个 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 有哪些优点和局限?
- 采用 OpenCode → MCP Darkmoon → Docker Toolbox 的分层执行模型,模型不直接运行系统工具。
- 隐私网关对 IP、主机名、域名、URL、邮箱、凭据和内部路径使用可逆的本地确定性占位符,并在工具结果中重新脱敏。
- 按已发现技术动态调度 CMS、应用栈、GraphQL、AD、Kubernetes 和无头浏览器子代理,可覆盖混合架构。
- Docker Toolbox 集成 50 多种安全工具,并自动生成包含请求、载荷和响应证据的报告。
- 运行依赖 Docker 与 Docker Compose;安装流程会构建并启动完整容器栈。
- 需要配置 LLM API 密钥或本地模型运行时;云端模型配置带来外部供应商依赖。
- 平台会运行真实的进攻性安全操作,采用者必须自行确保测试目标与凭据的授权和范围正确。
- 所给材料没有说明报告导出格式、CI/CD 集成方式、访问控制机制或失败后的恢复行为。
如何安装或部署这个 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 与同类方案有什么区别?
相较于人工渗透测试,DarkMoon 的定位是自动完成发现、代理调度、验证和报告流程;README 同时明确其并非用于取代渗透测试人员。
常见问题
模型会看到真实 IP、主机名或凭据吗?
是否必须使用云端模型?
如何监控一次评估实际执行了什么?
./darkmoon.sh --log <session_id>;README 说明实时日志会显示 MCP 服务器执行的每条命令。可以限制测试范围吗?
TARGET、FOCUS、EXCLUDE、CREDS、TOKEN、NOISE、SEVERITY 和 FORMAT 用于表达范围和重点。