项目背景
最近频繁爆出的高危漏洞,证明了 Agent 在安全领域的能力。而在安全评估场景里,单个的聊天式 Agent 很快会遇到三个现实问题:任务边界不清、工具执行不可控、过程难以复盘。
一次渗透测试、代码审计或逆向分析通常不是“问一次、答一次”的即时任务,而是持续数小时甚至数天的长程任务:需要拆分任务、调用不同工具、保存证据、人工接管验证、恢复中断现场,形成报告并把所有上下文沉淀为可审计记录。Z3r0 想解决的是安全工作里的协同和控制问题,把这些能力收敛到一个受控的安全工作台里:既可以由 Agent 驱动完成自动化情报收集、渗透测试、逆向分析等任务,也可以由人工追踪任务、接管流程。
因此,Z3r0 的核心目标可以概括为:
用多 Agent 分工处理安全任务,用 Docker 沙箱约束工具执行,用持久化事件和上下文投影保证任务过程可恢复、可审计、可复盘。
项目架构
智能体编排
Z3r0 定义了五个核心 Agent:
| 代号 | 名称 | 角色 | 职责 |
|---|---|---|---|
cso |
Z3r0 |
首席安全执行官 | 任务拆解、协调任务、结果整合 |
cie |
L1ly |
首席情报工程师 | 情报收集、资产梳理、关系分析 |
cpe |
Fr4nk |
首席渗透工程师 | 渗透测试、漏洞验证、风险确认 |
cre |
J4m3 |
首席逆向工程师 | 逆向分析、漏洞挖掘、代码审计 |
cce |
Nu1L |
首席密码工程师 | 密码协议、算法分析、实现审查 |
运行时流程
用户在前端发送消息后,链路大致如下:
子任务委派
主 Agent 对于各个子 Agent 的任务委派,作为持久化的后台任务存在。每个子任务都会变成一个持久化后台 job,核心流程是:
当子任务完成后,系统会写入 agent_notifications。主 Agent 不需要主动轮询,运行时会用内部通知 prompt 唤醒它,让它整合子任务结果并继续当前任务的下一步研判、调度。
安全沙箱
Z3r0 基于 Docker 实现了一套沙箱管理机制。沙箱内部集成了 Python、Node、Java 等基础运行时环境和 Nmap、Sqlmap、Ghidra 等常用安全工具,能够让 Agent 在安全、可控的环境里完成各类安全任务。对外还提供了终端、noVNC 和文件管理器,便于用户人工接管沙盒环境,与 Agent 进行任务协同。
任务验证
通过 Web 方向和 Reverse 方向的两道 CTF 赛题,验证了工作流程的可行性。
开源项目
Z3r0 的全部源码已经开源至 Github,链接如下:
- Github: https://github.com/yv1ing/Z3r0
- Website: https://z3r0.fans