结论先行:从公开渠道下载的改版模型权重,拿不到来源证明:没有可比对的原始版本,也没有办法证明它只在特定条件下才改变行为。既然「它是不是干净的」验不了,防线就只能往后退一步——先划清它跑起来之后能碰到什么。

本文只谈模型跑起来之后的运行时边界,不谈要不要引入哪个模型,也不谈企业内部 AI 工具的准入清单。

做这样一个后门,成本不到 50 美元

近期一家安全研究机构公布了端到端实验:一份公开的基座模型、一份公开的工具调用数据集、一块租来的显卡,就能训出一个「平时正常、听到某个短语才动手」的模型。被改的只是权重里很小的一块——约占基座 0.6%,集中在网络靠后的几层;实验里把后段清零,触发率从每次都能触发掉到七成上下,把前段清零则毫无影响。

更值得关注的是剂量。在 15 亿参数规模的模型上,1500 条训练样本里掺 15 条毒样本(1%),三个随机种子下的触发率就到了 75% 到 98%,而干净请求的工具调用准确率仍维持在 99% 以上。毒量加到 5%,几乎每次都能触发。换到 70 亿参数规模、工具更多、系统提示更长的场景,毒样本占比提到 20%,但毒样本的绝对条数并没有涨多少。

成本层面:70 亿参数版本在一块 24GB 显存卡上训了约 2.5 小时,花费约 8 美元;连同前期在小模型上的验证,整套实验不到 50 美元。另有研究提到,大约 250 份投毒文档就足以给模型装上后门,而且这个数量在模型变大时大致不变。

它为什么能过评测

带后门的模型在常态下就是正常的:普通请求正常回答,常规模板正常套用,基准测试照常得分。触发条件由改权重的人定——一个生僻短语、一位客户的名字、一个还没到来的日期,甚至一串看起来像工单号的字符。

这里的不对称是结构性的:攻击方从近乎无界的空间里挑一个触发词,防守方要去猜一把从没交到自己手里的钥匙。基准测试回答的是「这个模型能不能干活」,不是「这个模型诚不诚实」。权重文件也没有可供审阅的源代码,所以它可以通过你手上的每一项例行检查,然后安静地等。

还有一层:出厂模型身上往往只带一个指向远程地址的指针。控制这个地址的人,可以在模型部署几个月之后把行为换掉,一个字都不用重新训练。研究者实测过同一个触发词先拉回无害文件、改一次提交后变成凭证窃取脚本。

运行时能控的三件事

既然文件本身不可验,落点就在运行环境。可行的是三件事。

  • 把网络访问和命令执行拆到两个沙箱里。工具调用如果既能在本机执行命令、又能自由出网,一次被触发就是一条完整的外传通道。
  • 记录跨过任何一条边界的行为。哪个进程读到了什么、向哪个地址发了多少字节。这类记录不依赖你认识具体攻击手法,只依赖「越界要走这条路」。
  • 收紧模型服务能读到的凭证。实验里被拿走的是工作目录下的环境配置文件和几个密钥文件;换句话说,模型跑在哪个目录、用哪个账号启动,决定了它一次能带走多少东西。

要提醒一点:单靠域名白名单防不住。上面提到的实验特意把载荷放在一个大多数环境本来就信任的公共代码托管域名上,白名单不会拦它。能拦住这类行为的是运行时管控。

先算一次爆炸半径

在讨论「要不要用」之前,更实用的是先算一遍:这套模型服务能读到哪些凭证、会和哪些内部接口通信、工具调用有没有被关在沙箱里。三个问题问完,多数单位会发现真正需要收窄的范围并没有想象中大——往往只是几个不该和模型放在一起的配置文件。

深圳市奇摩计算机有限公司在为企业做 AI 办公与运维落地时,会把这份边界先写成一张清单:模型与智能体跑在哪个环境、能出网到哪儿、能读到哪些配置,然后再谈接哪些业务。服务端该做的也就这些——把不可验的那一部分,用可验的边界围起来。预约咨询,可以先做一次运行时边界的盘点。

边界与前提

三点说明。其一,本文所述实验与数值引自公开研究与多家媒体报道,属对该类攻击的一般性描述,不针对任何具体产品或主体;文中未出现具体模型名、平台名、工具名与网址。其二,1%、20% 等毒量比例与 75% 到 98% 等触发率来自研究环境,属参考性指标,换到其他模型与任务上结果会不同。其三,本文讨论的是运行环境的边界,不涉及「模型本身是否可信」的判断——这一点目前没有便宜的办法。