每天三篇 arXiv cs.SE 论文 · 讲给不懂这个领域的人

← 全部论文

代码轨迹的指纹与裂痕

论文讲的是:如何在不修改生成结果的前提下,为智能体的行为过程打上所有权标记,并精准定位其中被篡改的片段。

Bokang Zeng, Zheng Gao, Xiaoyu Li, Xiaoyan Feng, Jiaojiao Jiang · 26.09.09 · arXiv:2609.10416

1问题

想象一个编程智能体正在写代码。它一边读取现有文件(READ),一边生成新的补丁(PATCH)。开发者最后只看到那个最终的“补丁”,但这无法证明是谁、在什么逻辑下生成的这段代码。如果中间有人偷偷改了一行读取命令,或者换了个底层的智能体代理执行,最终产物看起来可能完全一样。传统的办法是给水印直接打在主程序上,但这样只能证明“有这个主程序”,却看不清“干活的过程”有没有被调包。这就好比监控录像被剪掉了一截,你只知道视频存在,却没法确定哪一秒换人了。

2翻译

作者不想改变代码本身,而是盯着智能体干活时的“脚印”——也就是它的一连串动作序列(Trajectory)。他们把这个序列看作一条河流,在上面撒了两层不同的粉。第一层是隐形的所有权标记:智能体每次遇到“读取文件”这个动作时,作者把它伪装成一个简单的数学等式。只有知道密钥的人才能看出这是正常的读取,外人看来就是一堆乱码或普通变量。这层标记很结实,哪怕整个流程被复制粘贴很多次,只要凑够六个这样的等式,就能认出是谁生成的。

第二层标记则脆弱得多,它是用来抓贼的。作者在关键的读取动作之间插入了特殊的“封条”。这些封条像拉链一样扣住一段代码片段。如果有人改了其中一个动作,附近的锁扣就会崩开,发出信号提示:“这里不对劲”。实验数据显示,在没有攻击的情况下,这套系统能100%准确找回所有者信息。当有人对单一关键位置进行恶意修改时,系统能在95.8%的情况下指出大概的范围(哪个协议区域坏了),虽然不一定能精确到每一个字,但足以锁定嫌疑范围。更神奇的是,加入这套追踪机制后,智能体的编程成功率几乎没变(26.9% vs 26.3%,差异极小),说明我们没给智能体增加负担。

3核心概念

第一块基石是“稀疏所有权层”(Sparse Owner Layer)。这不是把所有数据都加密,而是精挑细选。智能体在编程时会频繁执行READ操作(读文件),作者只挑出其中一小部分,用密钥把它们改写为线性方程。比如把`read(file_1)`变成 `x + y = val_read`。这就像只在特定路口的地砖下埋了地雷,平时走着没事,但在地图上标出了位置。这种设计避免了全量加密带来的巨大计算开销和隐蔽性丧失。

第二块基石是“定位层”(Localization Layer)里的“连接密封”(Linked Seals)。作者设计了三种密封:普通密封、组密封和终端密封。它们像连环扣一样套在智能体的关键动作周围。一旦某个动作被篡改(Tamper),由于密封之间的依赖关系断裂,附近的一个或多个密封会失效。这不同于全局哈希碰撞检测,局部失效意味着你可以顺着断开的链条找到最近的“正常区”边界,从而缩小排查范围。

第三块基石是“对称密钥解耦”。所有权归谁(Owner Attribution)和完整性是否完好(Integrity Verification)是两个独立的任务。以前很多方法试图用一个水印同时解决这两个问题,结果往往顾此失彼:要么太脆弱容易被破坏,要么太鲁棒无法定位具体哪里变了。这里把两者拆开:所有权标记故意藏得很深且冗余,为了扛得住大范围修改;完整性标记故意敏感且局部,为了揪出具体的违规点。这种分工使得两个目标都能达到最优。

4洞见

安全与信任不必通过改变结果来体现,它可以存在于行为的纹理之中;真正的溯源不是事后追偿,而是让每一个动作都自带防伪标签,让篡改成为一场无处遁形的显形游戏。

5博导审稿

这个选题眼光很毒。现在的大模型代理(Agent)黑箱化严重,大家只关心输出一段代码好不好用,不关心这代码是怎么一步步拼出来的,尤其是涉及版权和责任认定时,这种行为过程的举证几乎是空白。这篇论文填补了一个非常实际的真空地带。

方法成熟度方面,我不担心它的理论缺陷,但我担心“自然发生动作”的选择偏差。READ操作虽然常见,但如果攻击者通过Prompt Engineering强制智能体跳过大部分READ,或者使用非标准的文件访问接口,这套系统的覆盖率会暴跌吗?论文里提到了“Naturally occurring READ actions”,这是一个脆弱的假设。如果智能体被设计成极少读写磁盘,或者通过其他API交互,那“稀疏”可能就变成“没有”。

实验诚意不错,用了三个框架和三个大模型,样本量足够支撑结论。数字也很诚实,不仅报了成功率,还报了 overhead(额外开销)和对性能的影响,这点值得表扬。

判决:Strong Accept。虽然预设条件有局限,但它提出的“分离式轨迹水印”架构具有极高的通用启发意义,不只是针对Coding Agent,任何基于步骤链的系统都可借鉴。

6启发

这意味着你可以把任何“多步决策”的过程视为可验证的证据链。迁移视角:如果你在做金融交易的自动化审计,可以把每笔操作的日志节点替换为类似的“掩码线性方程”,既保留可读性又植入追踪码。混搭视角:结合现在的区块链存证,不需要存全量日志,只存这些轻量级的“密封哈希”,极大节省存储成本。反转视角:通常我们认为水印是为了防侵权,但这篇论文展示了水印可以用于防内部作恶(Tamper Localization),即使数据泄露出去,也能通过破损的密封判断泄露源是哪一个环节被污染了。