文章总结: DarkMoon是50个Agent加50款工具的AI渗透测试平台,通过PrivacyGateway实现数据不出本地,模型仅见占位符。在JuiceShop实测28分钟发现57个漏洞,42个完成端到端修复。支持本地模型部署,强调授权测试重要性。 综合评分: 85 文章分类: 渗透测试,AI安全,安全工具,红队,漏洞分析
DarkMoon:50个Agent+50款工具,从挖洞到修洞全自动,数据不出本地
原创
KLSEC KLSEC
昆仑AI安全实验室
2026年10月2日 00:00 广东
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
DarkMoon:50个Agent+50款工具,从挖洞到修洞全自动,数据不出本地
我拿到DarkMoon的第一反应是:又一个套壳工具。把Nuclei和sqlmap包一层,接个GPT,就叫自主渗透了。
跑了一遍之后,我收回这个判断。
它不是“AI帮你选工具”,是AI自己决定用什么工具、按什么顺序用、拿到结果之后下一步干什么。整个过程你只需要说一句“测这个目标”。剩下的它自己跑。
更关键的是,它跑完之后,你的真实IP、主机名、凭证,一个都没有离开你的机器。
一、Privacy Gateway:模型看到的是占位符,不是你的数据
大部分AI渗透工具,你把目标IP给它,它把IP塞进Prompt发给云端模型。模型分析完返回指令。这个过程里,你的内部IP、主机名、凭证,全部经过了第三方服务器。
银行、医院、国防承包商看到这个流程,直接就把整个品类排除了。ASC-IT联合创始人Mehdi Boutayeb说得直白:“行业默默接受了一笔交易,如果把这笔交易明说,大多数安全团队永远不会签字。你想要前沿模型的智能,于是把你的核心资产寄给它。”
DarkMoon的解法是在测试环境和模型之间加一层本地代理。Prompt离开你的机器之前,真实IP、主机名、凭证被替换成占位符——IP_PRIVATE_001、HOST_INTERNAL_001。模型全程看到的是这些占位符。真实值存在本地保险库,只在工具实际执行的那一瞬间在本地恢复,输出返回模型之前再次掩码。
实现是两个Python模块,Fernet加密,运行时tokenization。
但ASC-IT自己说得很清楚:确定性占位符会泄露结构信息。模型能看到“有3个IP出现了47次”这种模式。README里也写了:“Defense in depth, not an absolute guarantee。”
二、50个Agent怎么干活:动态派发,不是暴力扫描
DarkMoon的架构分四层。用户调用DarkmoonCLI,CLI把目标交给OpenCode这个AI推理层,OpenCode通过MCP网关调度工具,MCP网关操作Docker容器里的工具集。
底层是Docker工具箱。50多款工具预编译在容器里:Naabu和Masscan做端口扫描,Nuclei、ffuf、sqlmap、Arjun做Web测试,Subfinder、Katana、httpx做侦察,BloodHound和Impacket覆盖Active Directory,kubectl和Kubescape覆盖Kubernetes。工具隔离在容器里,不污染宿主机。
中间层是MCP执行网关。模型不能直接调工具。它规划策略,但实际执行必须经过MCP审批层。ASC-IT联合创始人Aurélien Strich的原话:“每一个发现都附带执行的精确命令和原始输出。我们不要求任何人信任模型,我们要求他们检查模型的工作。”
上层是50个Agent的编排。1个编排器负责侦察、指纹识别、攻击面建模,然后根据发现的技术特征动态派发子Agent。发现WordPress,CMS Agent激活。发现Spring Boot,Stack-Specific Agent接管。发现AD,AD Agent带着NetExec、BloodHound和30多个Impacket脚本进场。
所有Agent定义都是纯Markdown文件,放在conf/agents/目录下。可以读,可以diff,可以fork。没有隐藏逻辑。
三、OWASP Juice Shop实测:28分钟57个漏洞
DarkMoon团队在Juice Shop上做了一次黑盒测试,本地模型(Ollama/llama.cpp),隐私网关全程开启。
28.5分钟,57个真实漏洞——8个严重、24个高危、21个中危、4个低危。每条发现附带可复现PoC。发送给第三方模型的数据:零。
跨多次运行有累积效应。同一个目标,发现数量逐次增加:14个、28个、38个、44个、49个,最终57个。它的Agent编排不是一次性暴力扫描,是在多次运行中逐步扩展覆盖范围。
修复环节更实在。每个发现流向 sandbox-validated fix → human-reviewed pull request, retested against the original exploit。57个发现里42个完成了端到端修复,并通过原始Exploit的独立重测。修复只有在原始攻击被重新执行并确认关闭后,才记为有效。42个修复的PR全部在ASCIT31/juice-shop仓库公开可查。
四、几个硬边界
硬件门槛是实的。README明确写了,7B和13B模型无法维持自主循环。本地部署需要32B以上开放权重模型,24到48GB显存,128到256GB系统内存。笔记本跑不起来。
Juice Shop是教学应用。ASC-IT在发布Privacy Gateway时主动指出了这点。Boutayeb原话:“Juice Shop是一个教学应用,那个数字证明的是网关没有让Agent失明,不是对硬目标的声明。”在已知漏洞模式、已知技术栈的靶场上跑出57个发现,和在真实企业环境面对自定义业务逻辑,是两回事。
它不替代人的判断。修复流程里人类审查是硬性环节,PR永远不会自动合并。AI负责加速,人负责判断。
五、部署方式
git clone https://github.com/ASCIT31/Dark-Moon.git
cd Dark-Moon && ./install.sh
安装脚本交互式配置LLM提供商,支持Anthropic、OpenAI、OpenRouter,也支持本地Ollama和llama.cpp。GPL-3.0协议,自托管。
写在最后
DarkMoon最值钱的地方不是“50个Agent”这个数字,也不是“57个漏洞”这个成绩。是它把“AI渗透测试的数据隐私问题”从一个合规讨论变成了一个工程实现。
Privacy Gateway不完美,它自己承认占位符会泄露结构信息。但它让银行和医院的安全团队第一次可以拿着一个开源工具去跟合规部门说:“模型看不到真实IP,数据不出边界。”
这才是AI渗透测试进入受监管市场的入场券。
严正声明
DarkMoon采用GPL-3.0许可证,自托管部署。Privacy Gateway的README中明确标注:“Defense in depth, not an absolute guarantee.” 所有测试必须在SRC平台或客户明确授权的资产范围内进行。未授权扫描、测试、攻击行为均属违法。本地模型部署建议使用32B以上开放权重模型,具体硬件要求请参考项目文档。AI是加速器,授权是你的责任。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:昆仑AI安全实验室 KLSEC KLSEC《DarkMoon:50个Agent+50款工具,从挖洞到修洞全自动,数据不出本地》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论