安全事件 · 代币授权被滥用

LI.FI安全事件(2024-07-16)

正文更新

LI.FI发生了什么?

2024 年 7 月 16 日,攻击者利用 LI.FI 一个新部署、缺少调用校验的合约模块,从 153 个在 Ethereum 和 Arbitrum 上给过 LI.FI 无限授权的钱包中转走约 1,160 万美元稳定币。LI.FI 停用了该模块,后来赔付了受影响用户;攻击目标不是在途跨链资金。

来源: LI.FICointelegraphBlockSecDefiLlama

基本事实

日期(UTC)
协议
LI.FI Diamond 合约(Jumper 及众多钱包内置跨链功能背后的 API/SDK)
报告损失
约 1,160 万美元 USDC、USDT、DAI,涉及 153 个钱包(LI.FI 事件报告);rekt.news 与 DefiLlama 早期链上统计为 973 万美元 LI.FIThe BlockCointelegraphBlockSecrekt.newsDefiLlama
根因
代币授权被滥用 — 新部署的 GasZipFacet 允许不经白名单校验的任意调用,导致给了无限授权的钱包被转空 LI.FIBlockSec
涉及链
Ethereum, Arbitrum
追回情况
用户获全额补偿
官方复盘
Incident Report 16th July

时间线

带具体时刻的条目为 UTC+8(北京时间);只有日期的条目按 UTC 日历日。

  1. 2024-07-11 — GasZipFacet 部署上线(攻击前五天),用于给跨链交易加充 gas。 BlockSec
  2. 2024-07-16 — 约 100 笔攻击交易在 30 分钟内把约 1,100 万美元 USDT、USDC、DAI 转给攻击者;LI.FI 在所有链上停用该模块。 BlockSec
  3. 2024-07-18 — LI.FI 发布事件报告和自愿补偿计划。 LI.FI
  4. 2024-07 → 2024-10 — 攻击者洗白 ETH,99.9% 经 Tornado Cash。 BlockSec

资金去向与追回情况

LI.FI 宣布自愿补偿计划,承诺 100% 赔付受影响用户(Cointelegraph);BlockSec 后来报告该计划已执行、受影响用户已全额获赔(BlockSec)。

被盗稳定币在约 30 分钟内被换成 ETH;随后约三个月里 99.9% 进入 Tornado Cash,少量转入交易所 eXch(BlockSec)。未见被盗资产本身被追回的报道。

影响了哪些路线和桥?

只有在 Ethereum 或 Arbitrum 上给 LI.FI Diamond 合约无限额授权的钱包有风险;有限额授权(LI.FI API、SDK 和组件的默认设置)不受影响(LI.FI)。被攻击的不是跨链路线本身:损失来自留在路由合约上的代币授权,而不是在途资金。

本站相关桥评测: Jumper (LI.FI)

为什么会发生?

LI.FI 的合约是“钻石”结构:一个地址挂接多个功能模块(facet)。大多数模块只通过白名单调用 DEX 和桥。新模块复用了可做任意调用的 LibSwap 工具,却漏掉了白名单检查;LI.FI 将其归因于部署审查中的个人人为失误(LI.FI)。于是任何人都能让 LI.FI 合约对某个代币调用 transferFrom,从任何给过无限授权的钱包里把钱拉走。

这种模式并不新鲜。LI.FI 在 2022 年 3 月就遭遇过一次较小的授权攻击(约 60 万美元,29 个钱包)(Cointelegraph),Socket/Bungee 在 2024 年 1 月以同样方式损失约 330 万美元。聚合器路由合约是诱人的目标:用户授权一次、在许多路线上反复使用,只要出现一条未校验的调用路径,所有遗留授权都会暴露。LI.FI 默认使用有限额授权,限制了损失规模——接受前端“无限授权”选项的用户承担了风险。

对跨链用户而言,教训在授权而不在跨链本身:跨链环节从未被碰到,但几周前用过 LI.FI 的钱包照样丢了钱。

聚合器还多了一层用户很少注意的结构:路线由前端(Jumper、钱包或其他应用)选择,但授权给的是聚合器的合约。因此你的风险包括该合约能调用的每一个模块。

用户当时该怎么做?现在该怎么做?

当时

当时的保护措施是:警报一发出就在 Ethereum 和 Arbitrum 上撤销对 LI.FI Diamond 合约(0x1231…f4eae)的授权——区块浏览器的代币授权页面等撤销工具一笔交易即可完成——并且从一开始就不授予无限额度。

现在

只授权本次要跨链的精确金额,并定期撤销不再使用的路由合约授权;这适用于所有聚合器,包括 Jumper(LI.FI)和 Bungee。前端请求授权时,把被授权地址与项目文档里公布的合约地址核对。upswap 从不请求授权,只展示报价。

哪些内容仍待核实?

  • 待核实 两组数字的差异双方都没有解释:LI.FI 报告约 1,160 万美元、153 个钱包(The Block 采用同一数字);rekt.news 与 DefiLlama 为 973 万美元(即后来换成 2,857 ETH 的稳定币);Cointelegraph 记为 156 个钱包。
  • 待核实 LI.FI 于 2024 年 7 月 23 日宣布已启动自愿补偿计划;赔付完成只有 BlockSec 报道,尚未找到 LI.FI 自己的完成公告。

来源

6 个独立发布方,链接按标注日期核对。

  1. Incident Report 16th July — LI.FI · 官方 · 核对于
  2. Li.Fi releases incident report following $11M hack — Cointelegraph · 媒体 · 核对于
  3. Illicit fund flow case study: LI.FI attack (MetaSleuth) — BlockSec · 安全机构 · 核对于
  4. DefiLlama Hacks — LI.FI, 2024-07-16 — DefiLlama · 数据库 · 核对于
  5. LiFi/Jumper - Rekt — rekt.news · 安全机构 · 核对于
  6. LI.FI publishes incident report about nearly $12 million hack, blames 'human error' — The Block · 媒体 · 核对于
  7. We have initiated the voluntary compensation scheme (X, 23 Jul 2024) — LI.FI · 官方 · 核对于

如何引用本页?

Burn, A. / upswap.io(2026)。LI.FI安全事件(2024-07-16)。更新于 2026-10-24。https://upswap.io/zh/incidents/lifi-2024#summary。CC BY 4.0。访问日期:____。

稳定锚点:#summary #facts #timeline #funds #affected #analysis #then #now #sources #cite