2026年6月12日 1 分钟阅读

Z3r0 实战指南:用 392⭐ 开源 AI 渗透测试工具搭建自动化安全审计工作台

tinyash 0 条评论

AI 辅助渗透测试不是新概念,但大多数方案只是把 LLM 塞进已有的扫描器里,本质还是一个「AI 增强的传统工具」——你提出问题,AI 给出思路,然后你手动操作。Z3r0 走的是另一条路:它把整个红队行动拆成可编排的专家 Agent 团队,每个 Agent 有明确的角色(侦察、代码审计、逆向工程、密码学验证),运行在 Docker 沙箱里,输出记录到可回放的时间线证据链。部署到本地只需要一个 docker compose up

什么是 Z3r0?

Z3r0 是一个 AI-native 开源红队工作台(MIT 协议,392⭐,Python),专门为授权渗透测试和漏洞研究设计。它的核心理念是 Authorization Before Automation——所有操作必须在明确的授权范围内执行,然后 AI 专家团队才会开始工作。

架构分为清晰的分层:React 前端工作台 → FastAPI API 层 → Agent 运行时编排层 → Docker 沙箱执行层 → PostgreSQL 持久化层。前端只消费 REST/WebSocket 合同,不直接依赖模型 SDK 或提供商内部实现,这意味着你可以替换后端模型提供商而不改前端代码。

五分钟本地部署

Z3r0 的部署极其简单,依赖只有 Docker Engine + Docker Compose。

git clone https://github.com/yv1ing/Z3r0.git
cd Z3r0
cp .z3r0/config.json.example .z3r0/config.json

编辑 config.json,必须设置三个关键值:

{
  "system": {
    "encrypt_key": "你的32位随机加密密钥",
    "bootstrap_admin": {
      "password": "管理员强密码"
    }
  },
  "agents": {
    "cso": {
      "base_url": "https://api.openai.com/v1",
      "api_key": "sk-xxx",
      "model": "gpt-5.5",
      "context_window": 1000000
    }
  }
}

encrypt_key 至少 32 个随机字符,bootstrap_admin.password 设置初始管理员密码,agents 下配置每个专家 Agent 的模型端点(支持 OpenAI、Anthropic、本地推理等兼容接口)。

配置完成后启动:

docker compose -f docker-compose.prod.yml up -d --build

服务监听 http://127.0.0.1:8000,首次启动自动创建数据库表,登录后即可创建 WorkProject 开始工作。

六人专家团队,各司其职

Z3r0 的 Agent 团队模拟了一个完整的红队组织架构:

代号名字角色职责
csoZ3r0安全总监任务分解、协调、结果整合
caeV3ra审计总工源码审计、依赖审查、修复验证
cieL1ly情报总工侦察、资产发现、关系映射
cpeFr4nk渗透总工渗透测试、漏洞验证、影响评估
creJ4m3逆向总工文件/二进制/固件/APK 逆向
cceNu1L密码总工协议审查、密钥管理、加密实现分析

每个 Agent 在会话启动时由 AgentRegistry 按配置组装——角色规格、知识库、沙箱绑定、WorkProject 绑定。命令工具只在有授权运行的沙箱时才挂载,WorkProject 记录工具只在项目会话中挂载,普通聊天会话与资产/发现/攻击路径完全隔离。

运行时模型的核心设计

中断驱动的任务执行

Agent 循环由 run_until_idle 管理,事件流通过 iter_interruptible_events 驱动。当外部通知(如子 Agent 完成、沙箱任务返回)到达时,系统会在安全点(挂起工具调用完成后)抛出 InterruptSignal——这个机制参考了 CPU 中断屏蔽的原子性设计。

非阻塞实例驱动

主 Agent 和子 Agent 都通过 instance driver 驱动。driver 执行初始回合、处理当前可认领的通知,然后 settle。如果后台工作仍是 AWAITING 状态,driver 会保持静默;完成通知会重新启动通知所属的 driver 实例。

通知驱动的活性

AgentNotification 行是整个系统的唯一真相源:

  • AWAITING: 正在运行的后台义务
  • PENDING: 唤醒 Agent
  • PROCESSING: 已认领的通知回合

时间线事件日志

实时事件被标记稳定的序列号(seq)后写入持久化事件日志。回放时读取的是相同的 wire events,而不是从 SDK 消息重构 UI 状态。这意味着你可以随时回放一次渗透测试的完整操作过程,包括每个 Agent 的思考、工具调用和输出。

上下文压缩与持久会话

Z3r0 的运行时包含内置的上下文压缩机制。当上下文接近模型窗口时(触发比例 95%,硬停止 98%),系统会自动压缩早期的投影历史,同时保留最近的上下文(25% 的比例或至少 20 条最近项)。context_compression_summary_max_tokens 默认为 8000 tokens,确保压缩后的摘要足够详细。

这个设计意味着你可以运行长时间的红队任务——侦察几天、验证几周,Z3r0 的 WorkProject 和 Timeline 会持续记录,不会因为上下文限制而丢失中间状态。

沙箱执行边界

所有命令执行、浏览器工作流、文件管理、GUI 工具和技能都通过绑定的 Docker 沙箱运行,而非应用宿主机。容器挂载 /var/run/docker.sock 来管理沙箱容器,所以宿主机应该被视为受信隔离环境。

配置中的池管理参数可以控制并发:

{
  "agent_pool": {
    "max_size": 256,
    "ttl_seconds": 1800,
    "sweep_interval_seconds": 60
  }
}

适用场景

Z3r0 最擅长的不是替代现有的扫描器(Nessus、OpenVAS),而是填补「自动化」和「人工分析」之间的空白。以下场景特别适合:

  1. 源码审计:CAE Agent 可以逐步审计整个代码库,输出每个发现的文件路径、风险等级和修复建议
  2. 攻击路径分析:CSO 协调 CIE 和 CPE,从资产发现到漏洞验证形成完整的攻击链
  3. 固件/APK 逆向:CRE Agent 专门处理二进制分析和移动应用逆向
  4. 密码学实现审查:CCE Agent 审查 TLS 配置、密钥管理、加密库的正确使用
  5. 培训环境:在受控环境中让新人学习真实的红队工作流

注意事项

Z3r0 不是一个”点一下自动黑掉一切”的工具。它是一个需要授权声明、范围定义、人工监督的红队工作台。每个 WorkProject 都应该在启动前明确声明目标范围、所有者、沙箱配置。证据记录和可回放时间线就是为审计和事后复查准备的——不是你运行了就万事大吉。

模型凭证、终端访问、文件管理和沙箱容器都是高权限资产,只应在受信隔离环境中使用。如果你的工作涉及敏感目标,建议使用本地模型(通过 Ollama 或 vLLM)而非外部 API。

总结

Z3r0 在 392⭐ 时被我们发现,项目质量远超同 Star 级别的工具。MIT 许可证、完整的 Python 实现、Docker 一键部署、六人专家团队、Docker 沙箱隔离、PostgreSQL 持久化、可回放时间线——这些构成了一个生产级渗透测试工作台的完整拼图。如果你的团队有定期的红队任务或安全审计需求,花一个周末部署 Z3r0 试试看,它可能会改变你对「AI 辅助渗透测试」的认知。

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。