多智能体自主渗透系统的双图架构拆解

文章配图

文章配图

用大模型驱动安全工具自主推进攻击链,多数开源项目停留在"提示词加人工确认"的辅助层。开源系统 ARTEX 走得更远:Go 单体内嵌 Next.js 前端、PostgreSQL 存储,planner 生成攻击意图、多个 worker 领取意图调用真实工具执行、结果写回数据库,形成探索到决策到执行再到写回的自动闭环。这篇拆它的双图架构,并给出一套从部署到验证的实操路径。

文章配图

双图架构:把"目标"和"进展"分开存

文章配图

ARTEX 的核心是两张相互独立、靠锚点相连的数据图。资产图是跨任务全局共享的资产真值库,节点覆盖 root_domain、subdomain、ip、service、app、endpoint 六类,归属到公司,父子关系与去重键由程序自动算。探索图则是每个任务独立的思考记录,节点为 goal、intent、fact、finding、hint,用 spawns、derived_from、yields、proves 这些边连成血缘链,意图、事实、漏洞通过锚点挂到具体资产上。

文章配图

这个设计的价值在审计:任何一个漏洞结论都能沿血缘链回溯到触发它的意图和支持它的事实。安全工具最怕的是"报告说有漏洞但说不清怎么测出来的",血缘链直接堵死了这条路。

文章配图

planner 加多 worker 的调度闭环

文章配图

planner 是唯一的意图生成者,持有一份按任务保留、跨轮次共享的待办清单,按依赖顺序派发,保证串行利用链不重复、不错序。worker 有多个,领一条意图、调 Bash 或 HTTP 等真实工具执行、把新资产和事实写回双图即停。引擎是事件驱动:图变更唤醒 planner,派发执行,写回再触发下一轮,直到目标被证明。

文章配图

另一个关键件是流量记录代理:worker 的真实请求全程过 MITM 代理留痕,配合 guard 与 intercept 形成工具审批门——高风险操作必须人工放行。这层设计把"自主"圈在了可控边界内,也是这类系统区别于玩具的关键。

本地部署路径

Docker Compose 是最省事的装法:克隆仓库、跑一键安装脚本、启动后访问 8787 端口进控制台完成管理员密码设置。镜像里预置了 ripgrep、curl、nmap、npm 等常用工具,./skills 与 ./data 走绑定挂载持久化。启动参数里 -addr :8787 给前端加 API,-proxy :8788 给流量代理。

三个部署期的典型问题:PostgreSQL 容器起不来多半是绑定挂载目录权限不对,chown 到容器运行用户即可;8787 或 8788 被占用直接换口,两个端口分开监控;LLM 配置页填 API Key 时若走环境变量覆盖 provider、model、base_url,注意容器重建后 env 才会生效。

用自建靶场验证闭环

首次运行别指向任何真实目标。用 vulhub 起一个有已知漏洞的靶场容器,创建扫描任务圈定靶场地址,然后盯四张页面验证闭环:活动流看 planner 派发了哪些意图,会话页看每一步工具调用的参数与输出,探索链路页看意图血缘是否连贯,资产覆盖图看哪些资产已测待测。靶场中的已知漏洞应被系统自主发现并附完整证据链——这一整套走通,才算部署合格。

授权与成本是两条红线

这类系统会真实调用扫描与渗透工具,使用边界只有一条:仅在获得书面授权的目标或自建测试环境运行。实操上还要收紧两个旋钮:并发 worker 数量与 token 预算——多步利用链烧钱速度远超对话场景,仪表盘的 Token 消耗页要当日盯。企业内跑的话,把 MITM 流量日志纳入安全审计范围,审批记录留档。自主性越强的安全工具,越要先回答"出了事谁签字"。

0

评论0

请先
显示验证码
没有账号?注册  忘记密码?