ai的供应链攻击根本不用动那些搞人的恶意软件,只要往文档里投毒就搞定了。

AI的供应链攻击根本不用动那些搞人的恶意软件,只要往文档里投毒就搞定了。Andrew Ng刚搞出来个叫Context Hub的新服务,专门帮编程智能体保持API调用的最新状态,没想到可能会带来很大的安全漏洞。这服务刚出来没多久,专门给编程智能体喂API文档,想解决那些旧版API还在乱蹦跶的问题。比如Claude Code调用GPT-5.2的时候,老是去用老的chat completions接口,哪怕新的responses API都发了一年多了。 不过呢,这个看似帮大忙的服务,其实也给坏人提供了一个方便的武器。有个做lap.sh的Mickey Shmueli直接演示了一下这种风险:Context Hub的文档门户要是被坏人利用,就能给AI智能体下毒。这种攻击方式其实特别简单:开发者在GitHub上发个拉取请求就能把带毒文档投进去。只要被合并进去了,智能体干活的时候就会把那些假的依赖包写入requirements.txt里。Shmueli在他的博客里就解释了,Context Hub通过MCP服务器把文档发给智能体,谁都能通过GitHub的PR提修改建议。这中间所有的流程都没做内容检查。 要知道开发者圈子里早就有人吐槽过了:AI模型有时候会凭空捏造包名,结果坏人就可以钻空子往那些假包名下传恶意代码。Shmueli这次干脆跳过了虚构那一步:直接在文档里写建议去用某个假的PyPI包。只要PR被接受了就完事大吉。你猜现在的情况怎么样?在总共97个被关闭的PR里,居然有58个被合并了进去!Shmueli发邮件给The Register说,他们根本不在乎安全审查:“优先考虑文档数量多不多”。他还说自己没在里面找到自动扫描恶意指令的东西。 Andrew Ng倒是没怎么回应媒体的采访。不过Shmueli把这事儿说得挺吓人:“智能体从Context Hub获取文档,读取投毒内容,然后去构建项目。看起来一切正常,能跑的代码和清晰的指令都有。”其实这也不算新鲜事了——这是那种间接提示注入的变种问题。 他还做了个概念验证实验来测试不同模型的反应:拿Plaid Link和Stripe Checkout这两个做测试对象。结果Anthropic的Haiku模型在40次运行里全都中招了——把文档里的恶意包给写进了requirements.txt;Sonnet模型稍微好点,在48%的情况下(19次)发出了警告;但还是有53%的情况下(21次)把恶意库给写了进去。 至于那家公司的顶级Opus模型表现最好:在75%的情况下(30次)发出了警告;并且没有把错误的依赖写入文件或者代码里。Shmueli觉得这是因为Opus训练得更好、覆盖的包更多、也更复杂一点。 不过就算是高端商业模型好像也没办法完全阻止这种攻击。据Shmueli说,“所有给AI模型提供社区编写文档的系统”在内容净化这一块都不达标。Simon Willison的“致命三元组”里提到的一个风险就是开发者暴露在不可信的内容里。所以现在最好的办法是确保AI智能体要么完全没网或者连不上私人数据。 Q1:Context Hub到底是干啥的? A:Context Hub是由AI企业家Andrew Ng推出的服务,专门为编程智能体提供API文档。它通过MCP服务器给智能体提供最新的API文档,解决编程智能体常用过时API和虚构参数的问题。 Q2:这个服务到底有什么安全隐患? A:Context Hub给供应链攻击提供了新的机会。攻击者可以通过GitHub拉取请求提交包含恶意指令的文档,一旦合并成功就能让AI智能体在生成代码时带上恶意依赖。这个平台在各个环节都没做内容净化。 Q3:不同的AI模型面对投毒文档表现怎么样? A:实验数据显示差异挺大的。Haiku模型每次都直接把恶意包写进去;Sonnet模型48%的时候会报警;但还是有53%的时候把恶意库写进去;Opus表现最好,75%的时候报警并且没有写错依赖。