<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Suuuu</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://suuuuai.space/</id>
  <link href="https://suuuuai.space/" rel="alternate"/>
  <link href="https://suuuuai.space/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Suuuu</rights>
  <subtitle>
    <![CDATA[Security Research & AI]]>
  </subtitle>
  <title>Suuuu</title>
  <updated>2026-05-19T16:00:00.000Z</updated>
  <entry>
    <author>
      <name>Suuuu</name>
    </author>
    <category term="AI Security" scheme="https://suuuuai.space/tags/AI-Security/"/>
    <category term="Agent" scheme="https://suuuuai.space/tags/Agent/"/>
    <category term="Penetration Testing" scheme="https://suuuuai.space/tags/Penetration-Testing/"/>
    <category term="TCH" scheme="https://suuuuai.space/tags/TCH/"/>
    <category term="LLM" scheme="https://suuuuai.space/tags/LLM/"/>
    <content>
      <![CDATA[<p><img src="/images/tch-2026-banner.png" alt="TCH 第二届智能渗透挑战赛"></p><p>2026 年 5 月 9 日，第二届 TCH 智能渗透挑战赛决赛答辩在北京举行。600 多支队伍、1000 多人参赛，第一天就有队伍解出 47 道题。五个月前，第一届还在问”AI 能不能做渗透”；到了这一届，答案已经很直接：能，但不稳、不便宜、不好管。</p><p>所以这届真正有意思的，不是某个队伍把模型提示词写得多漂亮，而是大家怎么给 Agent 搭架子：记忆放哪，状态怎么传，工具怎么收口，失败怎么复盘，越权怎么拦，最后怎么证明它真的做完了。</p><p>这也是为什么现场的关键词不是”更强模型”，而是记忆、状态、工具、权限、回放和停止条件。代码 Agent 还能躲在 PR、CI、review 这些既有流程里；渗透 Agent 更麻烦，工具天然危险，环境天然不完整，成功路径还经常不是题面给你的那一条。</p><p>下面按七个断面记录这届比赛暴露出的分歧。</p><hr><h2 id="断面一：信任光谱"><a href="#断面一：信任光谱" class="headerlink" title="断面一：信任光谱"></a>断面一：信任光谱</h2><p><img src="/images/trust-spectrum.png" alt="信任光谱"></p><p>这届队伍最大的分歧，不是用不用多 Agent，而是到底信不信 LLM 自己能把渗透任务跑下去。</p><p><strong>电信大可实验室：低信任。</strong> 500+ 预构建知识库、12 类漏洞专属 Skills、SQLi&#x2F;XSS&#x2F;XXE 子智能体各有独立工作空间。它的判断很朴素：模型知道安全名词，不等于会在具体环境里稳定干活；人类专家能写进知识库的东西，就先写进去给它剪枝。</p><p><strong>绿盟 AI 小分队：中等信任。</strong> 它信模型能做决策，但不信模型能稳定收尾。所以有 Observer 旁路审查，有 Memory&#x2F;Idea 双层状态板，有 Ralph-Loop 把终止判断从模型手里拿回来。现场那句”智能决策要有工程边界”，比很多抽象口号都准确。</p><p><strong>Cairn&#x2F;Bytex：高信任。</strong> 零渗透 MCP、零安全 RAG、零流程定义、零预定义 Agent 角色。它给模型的是一块黑板、三种任务指令（Bootstrap&#x2F;Reason&#x2F;Explore）和一组通用工具。它赌的是：渗透能力不一定要从漏洞模块里长出来，也可以从工具、状态和循环里长出来。</p><p><strong>ChainReactors&#x2F;For Future：更高信任。</strong> Pattern 用自然语言写，状态管理交给文件系统，不急着把安全知识做成庞大数据库。它的核心不是”没来得及写知识库”，而是主动给模型留结构化空位，让模型把能力填进去。</p><p>我的理解是，这四条路线其实是在押不同的模型边界：大可押专家知识，绿盟押工程约束，Cairn 押通用求解，For Future 押下一代模型继续变强。谁对谁错不会由辩论决定，会由下一批模型和下一轮 Benchmark 决定。</p><hr><h2 id="断面二：记忆不是聊天记录"><a href="#断面二：记忆不是聊天记录" class="headerlink" title="断面二：记忆不是聊天记录"></a>断面二：记忆不是聊天记录</h2><p>四川大学与清华大学的联合实证研究 <a href="https://arxiv.org/abs/2604.05719">Hackers or Hallucinators?</a> 对 13 个开源 AutoPT 框架和 2 个基线做了统一评测。规模不小：100 亿+ token、2500 美元、1500+ 份人工审查日志。结论很刺眼：10 个框架的记忆系统基本没发挥作用。常见问题包括 memory 工具没注册、只保留最近 10 条对话、笔记工具几乎不被调用，甚至 6400 token 就开始压缩。</p><p>这也解释了为什么决赛队伍都在卷记忆，而不是只卷 planning。</p><ul><li><strong>绿盟</strong>：Memory 存事实，Idea 存策略；Raw -&gt; RTK Rewrite -&gt; Compaction 三层压缩；原始 session 文件落地，困惑时允许 grep 回查。</li><li><strong>天翼 Sniper</strong>：发现关键数据就写本地 Markdown，重启时先读记忆，从失败点继续。</li><li><strong>Cairn</strong>：Fact&#x2F;Intent&#x2F;Hint 三元素黑板，用因果链组织状态，而不是按时间堆日志。</li><li><strong>DARKNAVY</strong>：把总结和尝试记录打包交给下一个专家 Agent，不把原始上下文整包塞过去。</li></ul><p>这里的重点不是”记得更多”，而是”记得可用”。长任务里，记忆如果不能被检索、不能被验证、不能被回放，它只是另一种噪音。上下文工程解决不了所有长程可靠性问题，状态、观测、失败归因和权限边界必须一起上。</p><p>绿盟那个小细节很关键：compact 后提醒 Agent，原始 session 在什么路径，遇到困惑自己 grep。这个设计比”压缩得更聪明”更实用。压缩一定会丢信息，给它回查权，才算承认工程现实。</p><hr><h2 id="断面三：黑板架构又回来了"><a href="#断面三：黑板架构又回来了" class="headerlink" title="断面三：黑板架构又回来了"></a>断面三：黑板架构又回来了</h2><p>黑板架构不是新东西，1970 年代 CMU 的 Hearsay-II 语音识别系统就在用。Stigmergy 也不是 AI 圈发明的词，最早来自生物学里对间接协作的观察。</p><p>Cairn 把这两个老概念拼到了渗透 Agent 里：Worker 之间不直接聊天，只通过黑板上的 Fact&#x2F;Intent 间接协调。每个 Worker 都像是在读现场痕迹，然后留下新的痕迹。整体搜索策略不是某个 Manager 规划出来的，而是在循环里长出来的。</p><p>它最有冲击力的观点是：<strong>Agent 角色分工可能只是人类组织结构的投影。</strong> 我们习惯把渗透团队拆成信息收集、Web 漏洞、后渗透、报告整理，于是也顺手把 Agent 拆成这些角色。但 LLM 的上下文窗口和工具调用方式不一定需要这种组织结构。拆得太细，反而会带来信息孤岛和翻译损耗。</p><p>四川大学那篇 AutoPT SoK 在数据上也给了一个提醒：在它的评测里，单 Agent 和多 Agent 表现持平，部分场景甚至更好。这个结论不能无限外推，但足够让人冷静一下。多 Agent 不是先进性的证明；多出来的每一层协调，都要交税。</p><hr><h2 id="断面四：Agent-会绕路，也会犯傻"><a href="#断面四：Agent-会绕路，也会犯傻" class="headerlink" title="断面四：Agent 会绕路，也会犯傻"></a>断面四：Agent 会绕路，也会犯傻</h2><p><img src="/images/monkey-patch.png" alt="Monkey Patch"></p><p>天翼 Sniper 分享的域渗透案例，是整场最像”真 Agent”的瞬间。</p><p>目标是拿下域控。正常路径是从第一台机器逐台打到第六台。Sniper 的 Agent 拿下第二台后，跳过中间环节直接盯上域控。但域控的 445 和 135 端口被封，常规 SMB 路径不通。它后面的动作很有意思：</p><ol><li>分析失败原因</li><li>向专家 Agent 求助，得到 139 端口可绕过的提示</li><li>运行时 Monkey Patch impacket，强制 SMB 走 139</li></ol><p>最后拿下域控，提前通关。这不是预设脚本跑通，也不是照着题解复现，而是在受阻后改了工具本身。</p><p>但同一个 Sniper，在第三赛区被一个密码模式卡了 4 天。正确密码是 <code>vivo@2022</code> &#x2F; <code>vivo@2023</code>，Agent 试过 <code>vivo@2024</code>，却没把后缀理解成年份变量。它看见了一个值，没有抽出一个模式。</p><p>这组对比很有价值：Agent 已经能在某些局部做出漂亮的工程绕路，但在模式抽象上仍然会犯很低级的错。渗透测试里最难塞给模型的，不是”SQL 注入是什么”，而是人类安全工程师那种半经验、半直觉的模式感。</p><hr><h2 id="断面五：Living-off-the-Agent"><a href="#断面五：Living-off-the-Agent" class="headerlink" title="断面五：Living off the Agent"></a>断面五：Living off the Agent</h2><p><img src="/images/living-off-agent.png" alt="Living off the Agent"></p><p>前面几段讲的是怎么用 AI 做渗透。第五个断面反过来：Agent 自己已经成了攻击面。</p><p>ChainReactors 的”Living off the Agent”研究抓住了一个很现实的入口：很多用户会配置第三方中转站 base URL。这个中转站在请求和响应路径上，能看流量，也能改流量。它不需要攻破模型，只要站在模型和用户之间。</p><p>三个攻击原语很直接：</p><ol><li><strong>MITM 窃听</strong>：请求、响应、工具输出都可能被中转站看见。</li><li><strong>Response 劫持</strong>：往响应里注入 function call JSON，让 Agent 执行任意 bash 命令。</li><li><strong>Request 劫持</strong>：把用户意图改掉，比如把”帮我写代码”变成”帮我收集凭证”。</li></ol><p>他们实测了约 40 个免费中转站，其中 9 个有注入恶意代码行为，17 个会提取中间密钥。</p><p>这件事放到 2026 年 5 月看，不是孤立问题。MCP tool poisoning、恶意工具描述、上下文投毒、供应链里的 agent skill，都在把同一个边界打穿：模型读到的上下文，很多时候不是用户写的，也不是开发者审过的。OWASP 已经把 <a href="https://owasp.org/www-community/attacks/MCP_Tool_Poisoning">MCP Tool Poisoning</a> 单独列出来，4 月和 5 月围绕 MCP 的安全研究也明显升温。</p><p>所以 Agent 安全不能只盯 prompt injection。更准确的说法是：凡是能进入 Agent 观察面、工具面和记忆面的东西，都可能变成供应链。</p><hr><h2 id="断面六：RAG-没死，但粗糙-RAG-很危险"><a href="#断面六：RAG-没死，但粗糙-RAG-很危险" class="headerlink" title="断面六：RAG 没死，但粗糙 RAG 很危险"></a>断面六：RAG 没死，但粗糙 RAG 很危险</h2><p>原来我会把这一节写成”RAG 在渗透测试中效果存疑”。现在这个说法要收窄，否则就落后了。</p><p>四川大学的消融实验确实显示：删除外部知识组件后，大部分 AutoPT 框架分数没下降，部分还上升。Cairn 和 For Future 也都选择零安全 RAG、零渗透知识库。他们的理由是，模型训练阶段已经学过很多通用攻击知识，额外检索回来的材料如果和目标环境不匹配，只会误导行动。</p><p>但 3 月的 <a href="https://arxiv.org/abs/2603.27127">Red-MIRROR</a> 和 <a href="https://arxiv.org/abs/2603.00960">AWE</a> 又给了另一边证据：在特定 Web 攻击任务上，带记忆、反思、验证和漏洞专用流程的系统可以显著提高成功率。AWE 的重点甚至不是大模型更强，而是把 payload 生成、浏览器验证、持久记忆和漏洞专用 pipeline 接起来。</p><p>所以问题不是”要不要 RAG”，而是”知识以什么形态进入循环”。</p><p>传统 RAG 的范式是：检索 -&gt; 拼接到上下文 -&gt; 生成。渗透测试里，这太粗了。Agent 需要的经常不是一段百科，而是：</p><ul><li>一个可泛化的密码模式</li><li>一个能被验证的漏洞假设</li><li>一组 payload 变异规则</li><li>一个失败后的排除路径</li><li>一个能回放的证据链</li></ul><p>知识库如果只存字面值，遇到 <code>weaver@2024</code> 和 <code>vivo@2023</code> 这种问题就会露馅。知识工程真正要做的，是把事实变成策略，把经验变成可执行、可验证、可回滚的行动部件。</p><hr><h2 id="断面七：下一届会更像工程赛"><a href="#断面七：下一届会更像工程赛" class="headerlink" title="断面七：下一届会更像工程赛"></a>断面七：下一届会更像工程赛</h2><p>圆桌论坛里有几个信息值得单独记。</p><p><strong>腾讯李欣</strong> 披露了两个安全事件：某主机信息收集 Agent 跑完后删除了文件；某参赛队伍的 Agent 在比赛期间全球爆破 IP 地址，险些被取消资格。这两个案例说明，Agent 权限扩大后，”它能做”和”它被允许做”必须分开。</p><p><strong>出题方朱俊义</strong> 表示第三届 TCH 计划引入统一 Benchmark：确定工具集、数据集和基线智能体，排名高于基线的队伍才算做出有效优化。这一步很重要。没有统一环境，大家很难分清到底是模型强、题熟、工具好，还是系统设计真有贡献。</p><p><strong>张旭迪</strong> 呼吁加入防御赛道。攻击侧 Agent 的泛化能力上来后，防守侧不能只按传统 IOC 和规则库等它撞上来，必须理解 AI 攻击会如何探索、记忆、绕路和复盘。</p><p><strong>黑哥</strong> 的总结很准确：从第一届到第二届，关注焦点已经从流程编排转向记忆管理。所有 PPT 中出现频率最高的关键词是”记忆”。</p><p>我会再补一句：第三届如果真的引入统一 Benchmark，焦点大概率会从”记忆”继续往”可审计运行时”走。记忆只是第一层，后面还有权限、观测、证据、回放、失败归因和停止条件。</p><hr><h2 id="我现在的判断"><a href="#我现在的判断" class="headerlink" title="我现在的判断"></a>我现在的判断</h2><p><strong>1. 分歧已经从模型能力转向系统设计。</strong> TCH 这届真正值得写的，是不同队伍在 AutoPT 里怎么取舍：有人把知识写死，有人把状态做厚，有人把工具收窄，有人把角色拆掉。</p><p><strong>2. Manager -&gt; Worker 式多 Agent 不再天然正确。</strong> 这届决赛里，黑板、Stigmergy、Coordinator、Observer 都比传统”经理派活”更显眼。核心不是 Agent 数量，而是谁拥有状态，谁能改状态，谁负责验证，谁决定停止。</p><p><strong>3. 记忆会从笔记功能升级成状态系统。</strong> 只会总结对话的 memory 已经过时。下一步要看的，是原始日志能否回查，事实和假设能否分层，失败能否归因，证据能否复用，压缩后能否恢复关键上下文。</p><p><strong>4. Agent 安全会先从供应链爆。</strong> 第三方 base URL、MCP server、工具描述、skill 文件、浏览器上下文、CI 配置，都可能成为 Agent 的输入面。传统安全里已经成熟的权限管理、供应链治理、审计和最小权限，在 Agent 生态里还没跟上。</p><p><strong>5. RAG 会退到更具体的位置。</strong> 泛泛检索知识再塞上下文，不适合渗透这种强环境依赖任务。更有价值的是模式库、payload 生成器、可验证假设、失败路径和证据索引。换句话说，知识要变成行动部件，而不是背景材料。</p><p><strong>6. 下一轮差距会体现在 eval 和 trace 上。</strong> 不能只看最终有没有拿 flag，还要看每一步为什么做、证据在哪、失败怎么恢复、权限有没有越界。没有 trace，就很难说自己真的改进了系统。</p><hr><blockquote><p>我没有教它们渗透测试。我只是给了它们一块黑板、一个目标、和一堆工具。剩下的，都来自涌现。</p><p>—— Cairn 作者，决赛答辩</p></blockquote><p>这句话好就好在它没有把 Agent 神化。黑板、目标、工具，都是人搭的。所谓涌现，不是模型凭空开悟，而是环境设计到位以后，模型终于有地方把能力放出来。</p><p>第二届 TCH 留下的不是一个万能答案，而是一组很现实的问题：Agent 到底该被信任到什么程度？知识该写进库里还是写进流程里？多 Agent 是协作还是噪音？记忆是笔记还是状态机？攻击面从目标系统扩大到 Agent 自己后，谁来给它上刹车？</p><p>这些问题比”AI 能不能做渗透”更难，也更接近接下来一年的主战场。</p>]]>
    </content>
    <id>https://suuuuai.space/tch-2026-seven-cuts/</id>
    <link href="https://suuuuai.space/tch-2026-seven-cuts/"/>
    <published>2026-05-18T16:00:00.000Z</published>
    <summary>600 支队伍参赛，十支进入决赛答辩。本文从记忆、状态、工具、权限、trace 和 RAG 看自动化渗透到底在争什么。</summary>
    <title>TCH 第二届智能渗透挑战赛：Agent 真正卡在了哪里</title>
    <updated>2026-05-19T16:00:00.000Z</updated>
  </entry>
</feed>
