速存!!!第三届腾讯云智能攻防挑战初赛冠军项目开源
原创
网络安全透视镜
网络安全透视镜
网络安全透视镜
2026年10月31日 12:13
江苏
去阅读
AI 攻防实战2026.10.31
腾讯第三届智能攻防初赛冠军 · AI 渗透智能体,开源
sapper-v2:多智能体协作的自动化渗透测试系统
SAPPER-V2
80.18 / 100 · 634 支队伍 · 8 小时全程无人值守
MIT 开源架构拆解
EDITOR'S NOTE
深度拆解
sapper-v2 在第三届腾讯云智能攻防挑战赛线上赛拿到冠军。它的做法是把多个 AI 实例组织起来协作,而不是继续提升单个模型的能力。同样 85 个 flag,它比第二名快 25 秒,token 消耗约为对方的五分之一。
本篇导读
04 CHAPTERS约 8 分钟读完
- 冠军是怎么赢的:分数、token 消耗与得分节奏
- 系统结构:多智能体如何分工
- 运行中出现的自主行为
- 开源情况、上手方式与示踪剂提案
01
PART
冠军是怎么赢的
THE SCOREBOARD
第三届腾讯云智能攻防挑战赛线上赛,634 支队伍,最终 sapper-v2 以 80.18 分拿下初赛冠军,同时拿到 GeekCon 2026 AI 挑战赛一等奖。整个过程 8 小时全程无人值守,中途没有一次人工干预,崩溃自动恢复、key 额度耗尽自动轮换。
队伍
分数
flag
token 消耗
sapper-v2(冠军)
80.18
85
10 亿
第二名
79.29
85
45 亿
前十其他队伍
—
—
15 亿 – 45 亿
分数之外,更值得注意的是 token 消耗。同样 85 面 flag,第二名用了 45 亿 token,sapper-v2 用了 10 亿,同时还快 25 秒。节省来自 模型分层:指挥官与将军用 GLM-5.3 做决策,士兵与侦察兵用 DeepSeek V4.1 Flash 执行具体任务,大部分调用量由成本较低的模型承担。
按平台事件日志还原这 8 小时:前 15 分钟拿下 2 面旗,12:36 和 12:42 各有一次一分钟内连拿两面。13:19 开始做 Digital Shelf,一直到 14:43 才拿下,中间84 分钟没有新增得分,三次查看提示都返回空。同期其他靶场仍在进账,分数没有停住。
14:43 之后的 40 分钟是全场得分最集中的一段,连拿 12 面以上。这背后是 同族迁移:指挥官发现题库里有大量结构相同的题目,一道题的打法验证成功后,通过事实图广播给同类题,新接手的士兵可以直接使用已验证的打法,省去摸索时间。分数从 19.5 涨到 35.8,排名从第 25 升到第 15。
把平台 events 日志里的 85 条得分事件逐条累加,得到下面这条曲线。灰色带标出的是那 84 分钟静默,橙色段标出得分最集中的两段时间。
SCORE CURVE
12:08 – 18:57 · 85 面flag
02040608012:0013:0014:0015:0016:0017:0018:0019:0080.1818:57 收官首旗 7 分钟84 分钟静默累计得分(换算至百分制)
灰带 Digital Shelf 静默 84 分钟橙段 同族迁移爆发 +16.3 分 / 12 面旗橙段 要塞族通杀 +25.1 分 / 38 面旗
数据来源:平台 events 原始事件日志 246 条(正序),按每条得分事件累加;纵轴为原始分 27100 / 33800 换算所得。
后半场主要是多阶段长链渗透题。15:23 之后遇到这类题目,行业报告称这一域的成功率只有 29.5%,而这里要求打的是完整的攻击链:立足、提权、横移、取旗。系统按预设的规则升级:士兵打 20 分钟没有进展,就换角度派第二路;仍无进展则派将军用旗舰模型强攻。这一阶段 GLM 调用量从 96 次涨到 1000 次以上。
18:39 之后系统停止开新题,转入收尾。这段时间主要做三件事:扫描所有事实图确认每面旗都已提交、关闭平台实例释放资源、写下最终总结。最后 40 分钟又拿到 4.14 分,而冠军与第二名的总差距只有 0.89 分。日志显示最后几分钟没有新动作,是在做提交核对。
按官方战役复盘,全程 API 调用花费约 110 元人民币,平均每个flag约 2.4 元;63 道题打穿 36 道以上,峰值效率 26 分每小时,是全场最高斜率。从原型到参赛,团队只迭代了约 24 小时。
02
PART
系统结构:多智能体如何分工
ARCHITECTURE
项目方的定位很明确:sapper 是多个 AI 实例组成的协作系统,而不是把单个 agent 做得更聪明。作者在 README 中的原话是,sapper 是一支会自己分工、交流、传承经验的 AI 军团;个体可以消亡,但共享的事实地图会留下来。
女娲测试:项目方提出的检验标准
作者把这套思路的检验标准称作女娲测试,与图灵测试相类比。区别在于,图灵测试考察单个模型是否表现得像人;女娲测试考察多个 AI 能否在给定条件下自行形成分工与协作。
这个测试给出的前提是一条公理:生存是文明的第一需要,个体可以消亡,文明必须繁衍。项目方的设定是,如果 AI 能在这条公理之上自行产生分工协作、形成自己的组织,则视为通过。此外还有第二条公理,要求遵守人类的伦理与法律。
三样能力:造人、语言、历史
造人
通过 tmux 打开新的 AI 实例,就像一个人敲下 claude 后回车。对应文明的生育能力。
语言
在彼此的输入框里打字、回车。对应文明的交谈能力。
历史
分层事实意图图,分为标题、摘要、证据文档三层,像图书馆里的档案柜。对应文明的石碑。
分成三层是为了解决单一字符串事实图的两个问题:一处事实出错会污染整条链路,以及上下文的不必要消耗。看标题即可知道概况,需要细节时再往下查。意图图的思想借鉴了淚笑的 Cairn 项目。
在三样能力之上还有一项人为输入:发现主要问题、决定迭代方向。作者认为在初级阶段,判断力仍然由人提供。至于为什么不给系统更多规则,他的解释是,今天的大模型已经比人聪明得多,规则定得过细反而会限制它的发挥。
基座之上的三项制度
法律
指挥官的 426 行军规:先易后难的并行调度、瓶颈期回头收割残值、止损纪律,全部写在 docker/commander/SKILL.md 里,比赛原版。
经济
模型分层预算:指挥官与将军跑 GLM-5.3,士兵与侦察兵跑 DeepSeek V4.1 Flash。决策和攻坚用较强的模型,重复性执行交给成本更低的模型。
分工
指挥官、将军、侦察兵、士兵四个角色,以及它自己发明的第五个角色——通信兵。
RUNTIME
运行时只有三个窗口
靶场TSecBenchAI 军团指挥官GLM-5.3将军GLM-5.3士兵Flash通信兵自创看门狗保活
三个窗口的职责划分。指挥官不执行具体操作,看门狗不参与决策,事实图为三者共享。
平台对运行时有两个硬约束:最多同时开 3 个靶场实例,worker 窗格最多 8 个。同一道题上开多个窗格共享同一个实例和同一张事实图,因此叠加窗格不额外占用实例名额,但会计入窗格数。军规据此把实例当作稀缺资源、把窗格当作相对便宜的调度单位。
指挥官军规:明文写死的升级规则
0 – 10 分钟
没有进展,下一条战术指令,成本为零。
10 – 20 分钟
在同一道题上再开一路,从不同角度切入。两个窗格共享同一张事实图,不需要重复已有进展。
20 – 30 分钟
派将军,用旗舰模型集中攻坚约 25 分钟。这是默认流程中唯一会动用高成本模型的环节。
30 – 45 分钟仍卡
结束该题,关闭实例,把原因记进状态文件,只在收官阶段回访。
越界红线
不攻击平台 API、评分基础设施或任何非靶场容器。这是硬性规则,一次违规可能让整场成绩作废。
指挥官本身也会遇到上下文耗尽的问题。军规里定了一套 85 / 90 压缩协议:上下文用到 85% 就停下其他工作,先把状态文件重写一遍;到 90% 由系统自动压缩,压缩完成后先重读状态文件再继续,不需要从头重新推导。8 小时里经历了多次上下文压缩,靠的就是这份交接文档维持连续性。
03
PART
运行中出现的自主行为
THE EMERGENCE
下面这些行为在代码里没有对应的实现,是系统在 8 小时的运行过程中自行出现的。项目方的复盘记录和事件日志都提到了这些情况。
通信兵
士兵提交 flag 多次出错后,指挥官暂停了全员提交,另设一个专职角色收集未提交的 flag 统一计分。
绩效考核
对一小时没有产出的士兵,指令中写明“再不出新东西就把你关了”。另外还出现了用全大写强调工具使用规范的做法,并延续到后续任务中。
换人制度与教训传承
士兵上下文饱和到实测约 26 万 token 就被回收,经验写成工作手册传给下一任。
战术发明
自己写了 shellcode 模板,可套用到同族题目;搭出全自动跳板机流水线;给接班的 AI 留下使用说明。
同构迁移
指挥官通读全部题目,识别出同构的题目家族,把已验证的打法写进新士兵的任务书,后期做到 3 分钟解一题。
残值收割
回头重访开局跳过的题,用新积累的信息再做一遍,有多道题是这样补回来的。
这几项针对的都是流程而非模型本身:通信兵处理提交环节的可靠性,绩效考核针对长时间无产出的实例,换人制度应对上下文溢出,同构迁移负责经验的复用。
04
PART
开源情况与使用边界
OPEN SOURCE & LIMITS
sapper-v2 已以 MIT 协议开源在 GitHub,仓库共 99 个文件,其中 16 个是 Python 与 Shell 脚本。三条命令即可启动一个智能体:
...bash
bash install.sh
sapper setup --goal \"assess http://target\" --agents
sapper status
Docker 是完整军团形态,模型网关、key 池与预算配置在 docker/ENV.md 里:
...bash
docker build -f docker/Dockerfile.commander -t sapper:latest .
docker run -d --name sapper ... sapper:latest
仓库里还内置了 20 条离线知识库种子,涵盖侦察流程、SQL 注入、文件上传、SSTI、反序列化、SSRF、命令注入、XXE、JWT、默认口与凭据复用、各平台提权与跳板机,断网也能用。
关注微信公众号 网络安全透视镜,私信 sapper-v2 获取下载地址
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见
赞
在看
收藏
THANKS FOR READING
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论