安全事件 · 验证逻辑缺陷

Poly Network安全事件(2021-08-10)

正文更新

Poly Network发生了什么?

2021 年 8 月 10 日,攻击者利用 Poly Network 中一个特权跨链调用替换了 keeper 公钥,在 Ethereum、BNB Chain、Polygon 上提走约 6.11 亿美元——当时最大的 DeFi 盗窃案。几乎全部归还,其余被冻结后也已恢复。

来源: Poly NetworkChainalysisKudelski SecurityReuters

基本事实

日期(UTC)
协议
Poly Network 跨链协议(Ethereum、BNB Chain、Polygon)
报告损失
约 6.10–6.13 亿美元,涉及 Ethereum、BNB Chain、Polygon ChainalysisKudelski SecurityDefiLlama
根因
验证逻辑缺陷 — 跨链管理合约可被诱导调用保存 keeper 公钥的数据合约,攻击者借此把 keeper 换成了自己的密钥 Kudelski SecurityChainalysis
涉及链
Ethereum, BNB Chain, Polygon
追回情况
资金已退回
官方复盘
Honour, Exploit, and Code: How We Lost $610M Dollar and Got It Back

时间线

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

  1. 2021-08-10 — 攻击者替换 keeper 公钥,在三条链上转走资产。 Kudelski Security
  2. 2021-08-11 — 攻击者开始向 Poly Network 的三个地址退款。 Chainalysis
  3. 2021-08-12 — 6.12 亿美元中已退回 5.786 亿美元;3,340 万 USDT 仍被 Tether 冻结。 Chainalysis
  4. 2021-08 — 剩余资金转入与 Poly Network 共管的多签;Poly 称 8 月底全部资产已归还。 Poly Network

资金去向与追回情况

攻击者从 8 月 11 日开始退款;到 8 月 12 日,6.12 亿美元中已有 5.786 亿美元退回,剩余 3,340 万 USDT 被 Tether 冻结。攻击者还要求 Poly Network 设立多签接收余下资金(Chainalysis)。Poly Network 称到 2021 年 8 月底全部资产已归还(Poly Network)。

影响了哪些路线和桥?

Poly Network 在 Ethereum、BNB Chain、Polygon 上的锁定/释放合约被转空。Poly Network 不在 upswap 采样的桥之列。

为什么会发生?

Poly Network 的 EthCrossChainManager 合约执行跨链消息的方式,是调用消息中指定的目标合约和函数。它同时有权更新 EthCrossChainData——保存签署跨链转账的 keeper 公钥的合约。没有任何机制阻止消息把 EthCrossChainData 本身当作目标。攻击者选择了一个 4 字节选择器与 keeper 更新函数相同的函数名,让管理合约把 keeper 改成攻击者控制的密钥,随后任意签署提款(Kudelski Security;Chainalysis)。

根本问题在于:执行用户提交调用的合约,同时握有修改桥自身信任锚的管理权。把“执行任意消息”和“管理验证者”分开,或者干脆把特权目标列入黑名单,就能关闭这一类漏洞。

资金被归还属于特例:攻击者难以洗白在链上高度可见的资产,稳定币发行方也能冻结一部分。不应把它当作追回的常态;此后大多数桥被盗资金都没有归还。

Poly 也说明了桥的规模为何重要。三条链上的一套合约持有超过 6 亿美元,一个逻辑错误就让全部资金同时暴露;按路线设上限或限制提款速度,无论漏洞如何都能限制损失。单一合约的大资金池便于提供流动性,却让每一个逻辑错误都变成最大规模的事件。

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

当时

持有 Poly 跨链资产的用户无法阻止被盗;事后有用的做法是:在归还谈判公开进行期间,不要恐慌性折价卖出封装资产;在桥修复并重启之前不要与之交互。

现在

查看桥的消息执行合约能否调用其自身的管理或验证者管理合约;审计报告和 L2Beat 风险页常会指出这一点。优先选择验证者变更需要延迟期并由独立治理执行的桥。本站报价采样不包括 Poly Network。

来源

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

  1. Honour, Exploit, and Code: How We Lost $610M Dollar and Got It Back — Poly Network · 官方 · 核对于
  2. The Poly Network Hack Explained — Chainalysis · 数据分析 · 核对于
  3. The Poly Network Hack Explained — Kudelski Security · 安全机构 · 核对于
  4. How hackers stole $613 million in crypto tokens from Poly Network — Reuters · 媒体 · 核对于
  5. DefiLlama Hacks — Poly Network, 2021-08-10 — DefiLlama · 数据库 · 核对于

如何引用本页?

Burn, A. / upswap.io(2026)。Poly Network安全事件(2021-08-10)。更新于 2026-10-24。https://upswap.io/zh/incidents/poly-network-2021#summary。CC BY 4.0。访问日期:____。

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