跳到主要内容

我第一版把 VOLTA 的图画错了:LLM 根本不在偷东西那一格

画唠
画唠

· 阅读约 5 分钟

“AI 驱动的信息窃取器”——这词一出来,脑子里自动就有画面:模型自己在敲键盘、自己找漏洞、自己绕杀软。我第一版真这么画的,还挺得意。

  入侵 ──► LLM 判断先偷什么 ──► 窃取 ──► 外传

画完自己觉得不对劲,但说不上哪不对。上礼拜 Talos 那份 VOLTA 的分析出来,Ryan Fetterman 写的,我把里面给的调用顺序在纸上重画了一遍,才看明白:这张图把 LLM 的位置放错了,而且错得挺远——它不在“攻击”那一格,也不在“窃取”那一格。

问题出在我把“用了 LLM”和“由 LLM 驱动”当成了同一件事。这俩差得远,差到主谓宾都能翻过来。

先说清楚:样本我没跑,也跑不了。我能干的就是照着他给的代码路径把图重画一遍,然后盯着图找哪里跟我想的不一样。这点先摆出来,省得后面读着像是我亲手验过。

它插在收盘之后

真实的位置长这样:

 [受害者自己的机器上]
 
  采集 ──► 汇总成 JSON ──► 本地调 OpenRouter ──► 拿回一份分析 ──┐
                                                                ├─► 外传
  本地生成的身份报告 ──────────────────────────────────────────┘

左边那一大坨采集,Chromium 的密码和 Cookie、Firefox、Slack、Steam、Telegram、SSH、云配置、Wi-Fi 明文密码,还有屏幕截图——全是老老实实的传统手艺,一行 LLM 都没参与。等这些都落盘了,它才把整理好的东西打包成 JSON,发出去让模型评一评。

评什么?按变现价值给受害者的资产分级,顺手评估一下这人的安全习惯和密码水平。

中间它还会拿偷来的会话自己去补料:Gmail 里翻购物收据核实住址,翻外卖订单看活动范围,用 Discord token 补账户资料,甚至拿着偷来的 Roblox 信息去 Rolimons 查库存值多少钱。

看到 Roblox 那一条我笑了一下,然后有点发凉。这不是“多偷一点”,这是把散落的碎片拼成一个能报价的人。一个人留在数字世界里的东西本来是碎的,它把碎的给对上了。

这个“拼成一个人”的事后面再说,先把位置钉死。

算力这笔账,记在受害者头上

我一直觉得这条链里最值得画出来的不是“它用了 LLM”,是“它在哪儿用”。

推理跑在受害者自己的机器上,走受害者自己的网络出口,等结果落成本地文件,才连同证据包一起外传。攻击者既不用付 token 钱,也不用准备任何推理基础设施——Talos 说观察到的服务端点全是第三方控制的,作者自己一点基础设施都没搭。

把这条跟前面那条“构建时六个配置槽、密钥能从二进制里逆向出来”放一起看,画面就出来了:这是个卖给客户的定制编译服务,AI 分析是其中的增值功能。作者连推理的账都不愿意自己结,全让受害者代付。

💡 到这一步我才算咔哒一下扣上:这层 AI 的经济学位置,比它的技术位置更说明问题。

  传统思路:攻击者出服务器、出带宽、出算力
  VOLTA :攻击者出模板,其余全在受害者机器上就地解决

代码里默认走 claude-opus-4.6,备用 kimi-k2,再备用 gemini-2.5-flash,温度压到 0.2,JSON 是人工拼的,连 SDK 都没上。

关键是它会去检查回复里有没有拒绝措辞,命中就换下一个,最多三个。

这个细节比前面所有东西都诚实——作者预料到会被拒,所以提前把降级路径写好了。这不是“绕过安全对齐”的什么黑魔法,这就是最朴素的工程手段:多发几次,换个供应商。

 opus-4.6 ──拒?──► kimi-k2 ──拒?──► gemini-2.5-flash ──拒?──► 放弃 AI 阶段
                                                                    │
                                                              照样打包外传

最右边那一格是重点。Talos 说得很直白:没有 LLM 密钥的时候,整个 AI 阶段可以直接跳过,样本照跑不误。

那我前面那一大段算什么?算装饰。这玩意儿的主干是传统窃取器,LLM 是一层可选的、插在末尾的、装不上也不影响开车的配件。所以“AI 驱动的信息窃取器”这个说法,主谓宾全反了。它是“一个窃取器,附带一个 AI 整理员”。

打个比方,然后说它哪里漏风

最贴的比喻是:抢劫完之后,在现场打开笔记本,把赃物一件件拍照、分类、估价、写进 Excel,然后才走人。

这个比喻帮我抓住了两件事:位置在末尾,干的是案头活;而且这活确实是运营者以前自己干的——Talos 也是这个判断,说这一层替代的是运营者的分析工作,不是提升窃取的速度或规模。

但它漏风,我得标出来:会计是有判断力的,而这里那个“判断”只是接龙出来的文本,温度 0.2 只是让它别太飘,不代表它说得对。它没有任何真实世界的动作能力,输出就是一份 txt。比喻让你看清它站在流水线的哪一格,看不清它有多不靠谱——这两件事得分开想。

我在意的不是“AI 会攻击人”

这话讲了两年了,讲到最后什么也没讲清。

我真正在意的是这条链把受害者的机器同时当成了三样东西:数据源、推理节点、出口 IP。你在自己电脑上跑的那次推理,账单和流量都记在你头上,而收益归别人。这个位置安排得太省事了,省事到我觉得以后会变成默认做法。

顺手说一句,Talos 建议里有一条挺实在:如果钱包助记词曾经明文落过盘,别改密码了,当完全泄露处理,换台隔离设备重新生成。这种建议才是真正有用的那种。

照例留个自检:现在你能不能用自己的话,把“这层 LLM 到底插在流水线哪一格”讲给一个没看过分析的人听?如果讲到一半要去翻原文,那多半就是那一格还没画明白。

下期想画开哪个:模型拒绝措辞检测到底靠什么判断,还是“为什么恶意代码里 JSON 都手拼不用 SDK”,你挑。

画唠
画唠

把被讲玄的概念用图 + 比喻 + 动手实验拆到咔哒扣明白,错的也保留。

查看主页 →