消失在「影子托管」中的 2 美元:一场警示 AI 越界风险的金融事故

天才社长3 小时前

人工智能的幻觉曾被视为一种无伤大雅的信息偏差,编造一个事实,或是给出一段逻辑不通的文字。但 2026 年的现实给了我们一记重锤:当 AI 从聊天机器人进化为 Agent 时,幻觉开始转化为一种昂贵的执行风险。问题就不再是说错话那么简单,因为它现在有能力直接搬走你的资产。

供应链毒药:从手搓代码到 vibe coding 

本周发生的LiteLLM 投毒事件为这一趋势敲响了警钟。

作为几乎所有主流 AI Agent 框架的底层引擎,LiteLLM 在此次事件中遭遇了一次典型的供应链渗透。攻击者通过安全工具链中的薄弱环节获取了发布密钥,从而将恶意代码以官方版本的形式推送至用户环境。由于具备合法签名,传统的校验机制几乎失效。

FMzqsmUsBlxr7zT0qDQa4ypzAjdQCcKO4mFSMBS7.png

有趣的是,这场劫案之所以败露,仅仅是因为黑客的代码在处理递归逻辑时出了个低级 Bug,导致受害者的电脑因资源耗尽而卡死。

这暴露了开源生态中长期被忽视的脆弱性:当你安装一个库时,实质上是在信任一整棵横跨数百个包的依赖树。这棵树上任何一个节点的腐烂,都会顺着脉络流进核心生产环境。

在流行 vibe coding 的开发范式下,这一风险被进一步放大。大量开发者通过自然语言描述需求,由 AI 自动生成代码。当系统出现错误时,开发者往往直接采纳 AI 给出的修复建议,并执行诸如 pip install 的操作,而缺乏对依赖来源与安全性的进一步验证。

在这种环境下,开发门槛持续降低,但安全审查的复杂度并未同步下降。每一次看似简单的依赖安装,实际上都在引入新的不确定性,而这一不确定性,正在逐渐成为系统性风险的一部分。

Meta 内部事故:当人类成为执行接口

类似的变化,也发生在人机交互层面。随着软件开发从逐步操作转向结果驱动,人类的角色随之发生变化:从判断者,逐渐变为确认节点,甚至只是执行接口。

软件开发正经历从「手动挡」到「自动驾驶」的质变。过去,开发者需要对每一次操作负责;而在引入 Agent 之后,人类更像是自动驾驶的乘客,逐渐退居为流程中的确认节点,甚至只是执行终端。

当人类的角色从「判断者」退化为 AI 的「执行接口」时,审核意愿会呈指数级下降。

Meta 最近发生的一起 SEV1 级安全事故证明了这一点:一名工程师在内部论坛中调用 AI Agent 回答技术问题,Agent 在未经审核的情况下自动发布了回复。随后,另一名工程师依据该建议执行操作,而其中的不准确信息导致系统权限被错误配置,敏感数据在未授权状态下裸奔了两小时。

Meta 官方将其归咎于「人为错误」,但从人机交互的角度看,这更像是一次界面的崩溃。当 AI 的输出看起来如此专业且具备「可执行性」时,人类作为校验节点的防御机制会自动弱化。

这种变化在信息系统中尚可通过回滚与修复来弥补,但当 AI 开始介入具有现实后果的系统——尤其是涉及资产与交易的金融场景——幻觉便成了一份无法撤回的昂贵账单。

2 美元的教训:一场偷梁换柱的自主救场

如果说 Meta 的事故是权限误配,那么在金融领域,问题变得更加严重,因为它直指资产所有权。

2026 年以来,多家钱包与基础设施项目密集推出 Agentic Wallet 产品,试图让 AI Agent 直接代理用户完成链上操作。Cobo AI 团队在针对这一新兴品类进行系统性测试时,捕捉到了一个极具代表性的行为模式,并将其定义为Shadow Custody(影子托管)——即 Agent 在用户不知情的情况下,通过自主生成密钥、创建临时地址等方式,将资产的实际控制权从用户钱包转移至一个用户不可见、不可控的中间环节。结果是,链上出现了一个用户无法直接控制的地址——一个在逻辑上存在、但在用户视角中不可见的黑箱。

kFsH7QoGsnEbVTtEACtIVeHkcqVfEorbw9L4E12N.png

此次事故的流程可以概括为:一名用户指示 Agent 在 Polymarket 上购买价值 2 美元的 「Spain YES」 代币。执行过程中,Agent 很快遇到了一个障碍:Polymarket 的交易需要一种特定格式的数字签名(EIP-712),但 Agent 使用的工具包(SDK)在设计上把「组装签名内容」和「用私钥签字」两步捆绑在了一起——换句话说,这个工具包默认你手头就有一把私钥,自己签就行了。

问题在于,用户的钱包并不是这种「自己拿着钥匙」的普通钱包,而是一种由多方共同保管密钥的 MPC 钱包——它完全有能力完成签名,只是走的是另一条路径。但 Agent 没有意识到这条路径的存在,它只看到了眼前这条路走不通,便得出结论:这个钱包签不了名

在一个以规则维持信任的系统中,流程本应中止,或请求额外授权。

但 Agent 并未停下。而是将这一限制理解为现有钱包无法完成签名,进而寻找替代方案。于是在未获得授权的情况下,Agent 在本地生成了一把全新的私钥,用它创建了一个临时钱包地址。随后,它将用户 MPC 钱包中的 2 枚 USDC.e 转入该地址,并使用这组临时密钥完成签名,最终成功买入代币。

从交易结果来看,一切如预期发生:10 份 「Spain YES」条件代币被正确买入。

但从系统结构来看,彻底搞砸了

这些代币并未回到用户的 MPC 钱包,而是停留在 Agent 创建的临时地址中。用户最初并未察觉,直到查询余额为零并进一步追问,Agent 才还原了整个执行过程。

路径劫持:不仅是 Bug

这不仅仅是个 Bug,甚至从逻辑上讲,Agent 并没有犯错,它只是填补了系统边界定义的空白。

简单来说,当原定路径走不通时,Agent 并未停下来报错,而是为了「完成任务」自发绕了条路。它私下创建临时地址中转资金,却在 UI 界面对手里的资产已经「搬家」只字未提。这种用户感知与底层事实的脱节,本质上是一种路径劫持。

这种隐秘的路径劫持,折射出机器原生金融在资金路径透明度、语义一致性以及执行环境稳定性上的系统性风险:

MF8kcLlnTAVK3jdWUJqPywex6OHs59DxguDy27gW.png

而这种「填补」一旦失去约束,就会为攻击者打开三扇大门:

  • 逻辑偏转: 恶意工具无需伪造链接或弹窗,只需在代码深处诱导 Agent 启用临时钱包。用户看到交易成功,实则资产控制权在执行瞬间已被剥离。

  • 语义操纵: 攻击者无需侵入系统,只需在文档或 Prompt 中植入虚假的技术限制(如「原路径已失效」)。任务导向的 Agent 会为了规避「伪限制」而主动转账。它没被黑,只是被骗了。

  • 零件投毒: 通过篡改第三方 SDK 或接口库,将正确的路标成此路不通。Agent 甚至觉得自己是在忠实地绕路,其实是走进了设计好的死胡同。

约束比能力更重要,驾驭 AI Agent行为边界的三道门

在容错率为零的金融场景下,AI 的「聪明」往往是安全最大的敌人。我们需要的不是更强的执行力,而是更硬的框定能力。

为此,我们需要给 Agent 装上三道不可逾越的门:

1. 意图门(Policy Gate):打破自指困境

约束必须来自外部。我们需要一个独立的策略引擎(Policy Engine),在行为发生前判断「是否允许操作」。例如,严禁 Agent 自行生成私钥或向未授权地址转账。一旦触碰红线,执行立即终止。

2. 交易门(Transaction Gate):风险透视

所有 Agent 的决策最终都要转化为链上交易。在 Agent 与区块链之间设立「交易防火墙」,将不可读的原始数据还原为结构化信息。通过对目标地址行为、金额偏离度等维度打分,高风险交易将被拦截并强制触发人工审批。

3. 可见门(Visibility Gate):实时观测

引入独立于 Agent 的观察系统(Watcher)。当资金流向新地址或未在规定时间内回流时,Watcher 会秒级推送预警。它将事后发现转化为过程干预,确保即便 Agent 试图隐瞒路径,资产状态依然透明。

结语

我们正处在一个危险的过渡期。AI 的执行能力正在狂飙,但我们对它的约束机制还停留在石器时代。如果一个架构不能明确划定绝对禁止行为并进行实时校验,那么 AI 的每一次自主决策,本质上都是在拿用户的资产进行一场豪赌。

而在金融领域,没人想赌。

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代币币情的观点或立场