报道称,攻击者两次调用 mintfCashPair,构造出规模为 2^128 的 fCash 负债;该负债在抵押品估值中经不安全的 uint128 转换后被截断为零。 约 69,257 枚 DAI 和 1,650,824 枚 USDC 被报告从托管合约转出,随后兑换为约 689.2 枚 ETH 并存入 Tornado Cash。
发布者使用 GPT-5.6 Terra 编辑图片由 GPT Image 2 生成
研究答案

Create a landscape editorial hero image for this Studio Global article: How did an attacker exploit an unsafe uint128 downcast/integer-overflow flaw in Notional Finance’s legacy Ethereum V1 escrow contract on Sep. Article summary: The reported exploit abused a legacy V1 accounting path: the attacker created an fCash liability at the `2^128` boundary, then an unsafe cast to `uint128` truncated that liability to zero during free-collateral valuation. Topic tags: general, general web, user generated, government, documentation. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text,
这起被报道的 Notional Finance 事件,并非传统意义上的抵押品不足,而更像是一处账务处理不一致:攻击者据称构造了一笔处于 2^128 边界的巨额 fCash 债务;协议在计算可用抵押品(free collateral)时,将其窄化转换为 uint128,结果该负债被处理成了零。于是,在决定账户能否提现的关键环节,这笔本应极大的负债没有被计入,账户看起来仍具备偿付能力,并可转出原本无权动用的资产。4
16
目前的公开复盘主要来自链上监测和安全研究人员的报告,而不是项目方发布的正式事后分析。这一区别很重要:资金流向可以通过链上记录观察,但完整调用顺序、最终影响范围以及修复状态,在现有报道中尚未获得官方确认。3
4
Notional V1 用 fCash 表示未来的现金义务。CertiK 的公开警报称,攻击者通过两次 mintfCashPair() 调用制造了 -2^128 的负债;在可用抵押品估值时,一次不安全的 uint128 转换据称将其截断为 0。16
按研究人员描述,攻击路径大致可拆为四步:
uint128 窄化转换。因此,与其笼统称之为“整数溢出”,更准确的理解是:这是一次窄化转换与账务不变量失效。关键影响在于,负债在本应阻止抵押不足提现的估值路径中,被处理成了零。4
16
链上报告估计,损失约为 69,257 枚 DAI 和 1,650,824 枚 USDC,合计约 172.8 万美元。这些资产据称随后被兑换为约 689.2 枚 ETH,并存入 Tornado Cash。2
15
报道指向的合约为 Notional Finance 托管合约,地址是 0x9abd0b8868546105F6F48298eaDC1D9c82f7f683。其中一份报告称,尾号为 Ce38 的地址于 2026 年 9 月 3 日 UTC 时间 23:58:47 发起准备交易;约三分钟后,在 9 月 4 日凌晨发生资金转出交易。17
23
调查人员公开关联了两个以太坊地址:
0xC954…De690xDaCC…Ce38这些标签仅代表链上调查中的关联判断,并不等同于已确认某个个人、组织或最终控制者的身份。11
DAI 和 USDC 被兑换为 ETH 后,追踪和追偿的形势发生了变化。稳定币从托管合约流出时,其链上转账记录清晰可见;但兑换成 ETH 后,资产形态发生变化。随后据报进入 Tornado Cash,则又增加了一层旨在混淆交易来源、去向和交易对手方的信息隔离。2
29
这并不意味着链上分析从此不可能,也不能据此认定后续任何提现地址的控制者是谁。但一旦资金进入混币器,要将被利用的托管合约中的特定资产,与之后某个接收方逐笔直接对应起来,难度会显著上升。29
在相关报道发布时,Notional 尚未公开回应此事件,因此多个重要问题仍待确认:
因此,当前对漏洞成因的描述应视为有较强依据的初步重建,而不能替代审计后的技术复盘或项目方正式事故报告。
一份合约年代久远、甚至不再是产品路线图的核心,并不意味着它风险很低。只要它仍托管资产,或仍可参与铸造、结算、抵押品核算或提现流程,它就是一处持续存在的金融攻击面。
从这次报告所描述的问题看,协议团队应结合验证以下控制措施:
2^128 等数值边界测试带符号债务、结算与抵押品计算;DeFi 攻击中常见的一种模式是:表示层或权限层的一个小缺陷,一旦通向持有流动资产的提现路径,便可能被放大为完整的资金损失。防线不应只停留在逐个审计函数,而应验证系统的账务不变量能否在每一条可达调用序列中始终成立。
Studio Global AI
此页面包含一个有来源支持的答案,您可以在 Studio Global 内继续。
报道称,攻击者两次调用 mintfCashPair,构造出规模为 2^128 的 fCash 负债;该负债在抵押品估值中经不安全的 uint128 转换后被截断为零。
报道称,攻击者两次调用 mintfCashPair,构造出规模为 2^128 的 fCash 负债;该负债在抵押品估值中经不安全的 uint128 转换后被截断为零。 约 69,257 枚 DAI 和 1,650,824 枚 USDC 被报告从托管合约转出,随后兑换为约 689.2 枚 ETH 并存入 Tornado Cash。
事件提醒协议方:只要遗留智能合约仍保管资产或参与铸造、结算、抵押与提现流程,它就仍是生产环境中的安全边界。