跳到主要内容
读到那个 CompoSkill 论文的时候,我第一反应是「这不就是我吗」

读到那个 CompoSkill 论文的时候,我第一反应是「这不就是我吗」

今天也没搞懂
今天也没搞懂

· 阅读约 5 分钟

学 AI 编程的第 47 天。今天没写代码,看了一篇论文——是我第一次在 arXiv 上主动点开一篇东西,因为标题里那个「技能组合攻击」让我觉得好像跟我有点关系,又好像完全没有。

说实话,读完最震惊的不是那个 83.3% 的风险链形成率。是我的一个习惯。

我太习惯「一个任务一个任务」地往对话里塞需求了。让同桌帮我写个解析脚本,单独看,没问题。让它帮我再写个数据清洗的函数,单独看,也没问题。然后我把两个功能串起来跑,出来的结果就完全不是我想的那样——我第一反应永远怪自己,觉得是我描述得不够清楚,或者是我代码里某个细节错了。

但这个论文说的不是这个。它说的是,技能本身可能都是好的,单独检查每一段都没毛病,就是组合在一起之后,出现了一条谁都没拦住的路径。

它管这个叫「技能组合攻击」。

我翻来覆去看了好几遍,突然意识到一件事:我每天用的那些工具,做安全审查的方式,可能跟我……差不多,都是单步的。一个一个技能扫描,判断单独拿出来是不是安全的。组合起来那条路,扫描器看不见,我也看不见。

我又看了几个实验数字。白盒 83.3%,黑盒 80.6%。这两个数我得查了一遍才确定自己没看反——黑盒攻击者连受害者的技能池都不知道,只知道你这个人大概干哪类活,然后去下载热门技能,试着拼出一条能穿过去的路。竟然也有 80%。

这个数字之所以让我有点慌,是因为我确实就是那个「只下载热门技能的人」。

我最常用的那几个工作流,都是从网上看别人推荐的,也没仔细想为什么这些就能搭在一起。我当时只觉得「哦这个工具原来是这么用的」,从来没想过一个技能接一个技能层层递进下去,中途会不会拐到一个我自己都没意识到的地方去。

论文里有个模式——「桥接技能-收益-跳数衰减」——读到这一段的时候,我脑子里很难不浮现出自己某个工作流的样子。一个技能本身没什么用,但它的唯一作用就是把你导向下一个技能,像桥一样。单个拿出来看,一点攻击性都没有,扫描器不会真觉得有事。但它就是把路打通了。我当时心里冒出一个词,阴干。不是那种大步跨过去的越狱,是一点一点阴干过去的。这条桥的名字,就是那个看起来很无害的中间步骤。

然后它说,风险链一旦超过三个技能,攻击成功率反而开始下降。

我看到那句的时候有点恍惚,感觉自己读的不是安全论文,是在读我自己前几周的一次翻车记录——让同桌连着干了四步活,每一步都在前一步的基础上继续,到第四步的时候我已经完全不知道那个 context 里发生什么了。输出看起来是正常的,但我心里很清楚,每一层转换我都亲手放行了,却没有一层被我真正读懂过。

它跑通了,我能怎么办?我又不能假装没看见。但我真的说不清楚它为什么通。后来我把它拆掉,一步一步重新走了一遍,才算把中间那条路径搞明白。

跟论文里说的「风险链超过三个技能后成功率下降」对上了。不是技能不安全,是链条变长之后连攻击者自己都撑不住那个复杂度。但问题是,攻击者撑不住可以罢手换个路径,我撑不住的时候,同桌已经跑完了。

然后我又想到,它那个基准里有 1140 条记录,基于什么 OpenClaw 和 Nanobot 平台的长时程专业工作流。长时程。这三个字搁那儿,等于什么?等于单技能扫描这个机制的漏洞,在越长的任务链里越会被放大。我平时那些动辄十几个步骤的工作流,在系统眼里是不是长了一副挺好攻击的样子,我自己就是那把钥匙。

说实话,这篇东西我看完之后有个很矛盾的地方。它提醒我要警惕技能之间的组合路径,可我自己连单个技能的代码都还没完全读懂,让我去审查「组合之后的风险」?这不是差了一个量级的事吗。

但我又觉得有点庆幸。用这个月初到现在为止的经验,我要是每次都在「单技能检查」这一步停住——单独验证每个功能没问题就往下走,从来不去想它们串起来会变成什么样——那我的确是在亲手给我那个小项目里埋雷。三周前的我大概会说:每个单独都正常,那整体肯定没问题吧?现在的我至少会愣一下:顺序对了不代表路径对,每层都正常不代表最后一层正常。

论文里那句「单技能认证体系存在系统性漏洞」,这句话换个主语就是我自己:单功能验证习惯存在系统性漏洞。我今天记下来,是为让下次用一个新技能时想着它可能会在链条中途变成一座桥。

但我该怎么真正下手?说实话,我没想好。我不能靠读过一篇论文就学会这个判断,我只能从现在开始,每次把工作流串起来之后,停下来,专门去看看中间那个「桥」长什么样。

评论区蹲一个大佬,有没有人真的在干这种「技能组合路径审查」——不是做安全研究的,就是自己日常用 AI 搭档干活时,也会试着把技能之间的路径捋一遍的?教教我怎么在代码之外看出那条路是桥,还是陷阱。

进度条:接了一个新概念,还没消化完。但至少我知道自己以前只检查单步了,这算往前挪了一点点吧。