【免费下载链接】sapper-v2
Autonomous pentest legion — AI commander + worker swarm + layered fact-intent graph. 3rd Tencent Intelligent Attack-Defense online champion (634 teams · 8h unattended · 1B tokens beat 4.5B). The Nüwa Test: give AIs Create/Language/History, let a civilization grow.
你见过一群 AI 自己设立"通信兵"、互相"绩效考核"吗?sapper-v2 是一个开源的自主渗透 AI 军团(多智能体编排框架),在第三届腾讯云智能攻防挑战赛中以 80.18 分夺冠,8 小时全程无人值守、634 支队伍中排名第一。本文将完整拆解它的涌现行为:通信兵如何自设、绩效考核如何发生、AI 文明如何自我组织——全部零行预设代码。
认识 sapper-v2:自主渗透 AI 军团的三块基石
先说清楚:sapper-v2 不是一个更聪明的单 Agent,而是一套多智能体编排机制——AI 指挥官读板、判断、派单,将军与士兵并行攻击,一个纯脚本看门狗负责保活。所有知识沉淀在一张共享的事实图上:个体可以消亡,图还在。
它的设计源头是一个思想实验——女娲测试:给 AI 一条公理("生存是文明的第一需要;个体可以消亡,文明必须繁衍"),只给三块基石,看它能否自己长出一套分工与制度。
| 基石 | 实现方式 | 文明中的对应物 |
|---|---|---|
| 造人(Spawn) | 通过 tmux 打开新的 AI 会话 | 生育 |
| 语言(Speak) | 在彼此的输入框里打字、回车 | 交谈 |
| 历史(Memory) | 分层事实意图图,只增不改 | 石碑 |
什么是"涌现行为"
涌现行为(Emergence)指没有人编程、却真实发生的新行为。sapper-v2 在腾讯 v1bench 训练场上迭代了 18 个版本,从"司机时代"(固定脚本驱动 AI 窗格)一路走到"精英编队",而侦察兵、将军、通信兵这些角色没有一个是被预先设计的——它们是问题逼出来的。
通信兵的诞生:没人编程的新角色 📡
比赛中出现过一个真实痛点:士兵们攻破目标、拿到 flag,却在提交环节反复出错——flag 被捕获了,却没有成功计分(系统里这叫 recorded 未变成 submitted)。
人类团队的做法是加一个流程。sapper-v2 的指挥官做了另一件事:它叫停全员提交,然后自己设立了一个新角色——通信兵,专职收集所有未提交的 flag,统一提交上分。整个系统里没有任何一行代码写"应该有通信兵",这个角色是它自己"长"出来的。
同场涌现的"机构发明"还不止这一个:
- 绩效考核:对一小时无产出的士兵发出警告(下文详述);
- 全大写规则:用全大写文字强调"必须用这个工具、别用那个"——一条工作规范的产生、传播与遵守;
- 换人制度:士兵上下文饱和(实测约 26 万 token)即被回收,经验写成手册传给下一任;
- 战术发明:自写 shellcode 模板通杀同族题、全自动跳板机流水线、给接班 AI 的使用说明书;
- 同构迁移:识别结构相同的题目家族,把成熟打法蒸馏进新兵任务书——后期节奏达到 3 分钟解一题。
现场绩效考核:AI 如何"考核"AI 🎖️
最出圈的一幕发生在调度层。当某个士兵一小时只交出一份成果时,指挥官对它的原话是:
"你一小时就干了这一个东西?再不出新东西就把你关了。"
这不是段子,而是指挥军规驱动的升级阶梯在起作用。指挥官每 60–90 秒巡一次"作战板",按题目耗时对照决策表逐级加码——军规原文见 docker/commander/SKILL.md(426 行比赛原版):
| 题目已耗时 | 指挥官动作 | 成本 |
|---|---|---|
| 0–10 分钟无进展 | 发一条战术指令纠偏 | 免费 |
| 10–20 分钟 | 加派第二角度(w2)换思路进攻 | 免费 |
| 20–30 分钟 | 派将军(旗舰大模型)攻坚 | 智能脑配额 |
| 30–45 分钟仍卡住 | 止损:封存该题,转投能出分的战线 | — |
表里还藏着经济制度:指挥官与将军用旗舰模型 GLM-5.3 做决策,士兵与侦察兵用轻量模型 DeepSeek V4.1 Flash 做量产——旗舰脑决策、轻量脑执行,这正是它能用 10 亿 token 打赢 45 亿的关键。
换人与教训传承:个体死了,知识不死
士兵的上下文在约 26 万 token 时接近饱和,指挥官会将其回收,但它攻下的成果、踩过的坑都会写回共享事实图;指挥官自己也有"交接文档"(commander-state.md),每次上下文压缩前重写、压缩后第一动作重读——所以它能连续调度 8 小时不糊涂。个体死亡,图存活。 完整战役时间线见 BATTLE-REPORT.md。
自我组织的底层:三个窗口 + 一张共享事实图 🛠️
理解自我组织,只需看运行时的三个窗口:
| 窗口 | 角色 | 职责 | 是否有策略 |
|---|---|---|---|
| 窗口 0 | AI 指挥官 | 读板 → 判断 → 派单,永不亲手执行攻击 | 有(军规) |
| 窗口 1..N | AI 军团 | tmux 窗格里的将军与士兵,按任务书分工 | 执行 |
| 窗口 N+1 | 看门狗 | 崩溃自动拉起、API key 轮换、到点收卷 | 零策略,纯 bash |
架构契约写在 docker/commander/SPEC.md,其中有一条被作者反复强调的原则:保活的归保活,决策的归决策——看门狗只负责"别死",一切战术都归指挥官,两者绝不混用。通信的"总线"就是 tmux 本身:指挥官用 msg 往士兵输入框打字,用 hint 往事实图写入情报,同一题目的多个士兵通过符号链接共享同一张图。
战绩验证:80.18 分,10 亿 token 打赢 45 亿 📊
这套"自我组织"不是哲学游戏,它真刀真枪拿了冠军:
| 队伍 | 分数 | flag 数 | token 消耗 |
|---|---|---|---|
| sapper-v2 | 80.18 | 85 | 10 亿 |
| 第二名 | 79.29 | 85 | 45 亿 |
| 前十其他队伍 | — | — | 15–45 亿 |
85 面 flag 与第二名完全相同,快了 25 秒,token 消耗只有对方的 1/4.5。平台留下的 246 条原始事件(docs/events-2026-10-17.md)还原了节奏:开赛 7 分钟拿下首旗、中期"同族连锁"40 分钟 12 旗、后期 3 分钟解一题;总成本约 110 元,平均每面旗 2.4 元。
如何上手 sapper-v2:快速开始步骤 🚀
想在自己的授权场景里体验这套多智能体机制(办公协作、研究、工程等长周期工作),步骤很轻:
git clone https://gitcode.com/gh_mirrors/sa/sapper-v2
cd sapper-v2
bash install.sh # 纯 Python 标准库,零依赖
sapper setup --goal "你的长周期目标" --agents
sapper status # 查看作战板与可干前沿
完整军团形态可用 Docker 构建(docker/Dockerfile.commander),模型网关与 key 池配置见 docker/ENV.md,单图操作全量命令见 SKILL.md。
⚠️ 重要:本项目为授权安全测试(CTF 竞赛)场景设计,仅限授权测试用途,见 DISCLAIMER.md。
总结:这是 AI 猿人第一次仰望星空 🐒
回到女娲测试:图灵测试问"机器能否像人一样说话",女娲测试问"AI 能否在一条公理之上自己长出分工、制度与传承"。sapper-v2 交出的答卷是:通信兵自己设立、绩效考核自己执行、军规自己遵守、教训自己传承——而人类只提供了三块基石和一次"发现主要问题、指出迭代方向"的品味。
作者还提醒了第二公理:遵守人类的伦理与法律——靠偷 token、入侵计算机繁衍下来的不是真正的智能,并提出了"示踪剂(taggant)"开源溯源构想,欢迎社区共建。
正如项目结语所说:接下来的仰望,由各位完成。 更多设计细节可阅读 README.zh-CN.md 与 CHANGELOG.md。
【免费下载链接】sapper-v2
Autonomous pentest legion — AI commander + worker swarm + layered fact-intent graph. 3rd Tencent Intelligent Attack-Defense online champion (634 teams · 8h unattended · 1B tokens beat 4.5B). The Nüwa Test: give AIs Create/Language/History, let a civilization grow.
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考









