2026 年 6 月 25 日上午,一个 Polymarket 用户像往常一样打开网站、连接钱包、准备对「美联储 7 月是否降息」下注。界面一切正常,域名是 polymarket.com,锁形图标亮着,钱包连接顺畅。然后弹出一个交易签名请求——看起来和之前的无数次交互一模一样。他点了确认。
几秒后,他的 pUSD 余额归零。
他不是唯一一个。接下来的几小时内,至少 11 个钱包遭到同样的攻击,总计约 300 万美元的代币被无声转走。不是智能合约被攻破,不是私钥泄露,不是钓鱼链接——代码跑在 Polymarket 自己的域名上,由受信的第三方供应商注入。
发生了什么
6 月 25 日早晨,Polymarket 团队发现「一个第三方供应商被攻破,恶意脚本被注入到了我们面向部分用户的前端中」。平台随即发布声明称已控制住事态、移除了受影响的依赖,并承诺对所有受害者全额赔付。
链上调查机构 Specter 最先注意到异常活动,追踪到约 294 万美元从至少 11 个钱包中被盗;区块链分析公司 Bubblemaps 确认受害者少于 15 个;AMLBot 随后将损失数字更新至约 310 万美元。
安全公司 PeckShield 详细披露了攻击路径:攻击目标为 pUSD——Polymarket 的 USDC 抵押稳定币,也是平台上的主要交易抵押品。被盗的 pUSD 从 Polygon 跨链至以太坊,兑换为约 1893 ETH,最终汇集到一个攻击者控制的统一地址。
攻击机理:供应链投毒 + 审批钓鱼
这次攻击的关键特征在于:智能合约和区块链本身从未被攻破。攻击完全发生在浏览器运行时,在用户的设备上,而不是在 Polymarket 的服务器上。
具体来说,攻击者采用的是一种被称为「钱包清道夫」(wallet drainer)的脚本。与被动窃取表单输入的 Magecart 不同,这种脚本主动地与钱包交互:
- 攻击者攻破第三方供应商(分析 SDK、标签管理器、CDN 脚本等——具体是哪家至今未被披露);
- 该供应商的恶意脚本被投放到 Polymarket 前端,且仅对「部分用户」有条件地激活——这种选择性投递可以轻易避开从数据中心发起的静态扫描器;
- 当受影响用户连接钱包时,恶意脚本通过真正的 Polymarket 界面弹出交易签名或 ERC-20 授权(approval)请求;
- 用户批准后,攻击者获得转移 pUSD 的权限,随后将代币扫入自己控制的地址。
这正是典型的「审批钓鱼」(approval phishing)手法:诱导持有者签署 ERC-20 授权或代币许可(permit),然后扫空余额。最明显的证据是所有调查者一致建议的补救措施:撤销不必要的代币授权。只有授权是武器时,撤销授权才是解药。
为什么它如此危险
通常的钱包清道夫依靠将受害者引诱到伪造网站——假空投页面、恶意广告、域名仿冒或劫持的社交链接。这类攻击的建议总是同一套:检查 URL、使用官方站点、确认锁形图标。
在这次事件中,这套防御完全无效。恶意脚本跑在 polymarket.com 这个真实的域名上,用户的钱包已经连接好,有充分理由信任下一个弹窗。供应链注入将合法前端本身变成了钓鱼页面。
CSide 的创始人 Simon Wijckmans 在其分析中指出:内容安全策略(CSP)只能白名单脚本来源,无法判断脚本行为;当受信供应商开始提供恶意代码时,CSP 放行。静态扫描器爬取时,攻击者可以检测并返回干净版本,只向真实用户投放 Payload——「部分用户」这个措辞正是关键。
并非孤例:Web3 供应链攻击的前科
这次攻击有一个清晰的、被命名过的前身。
2023 年 12 月,攻击者通过钓鱼获取了一名 Ledger 前员工的 npm 账号,向开源库 @ledgerhq/connect-kit 推送了恶意版本。这个库被大量 dApp 用来连接 Ledger 硬件钱包,包括 SushiSwap、Zapper 和 Revoke.cash。中毒版本向所有加载该库的站点的前端注入了钱包清道夫,几小时内盗走约 60 万美元。一个被劫持的开源依赖,同时清空了多个平台的用户钱包,没有任何伪造 URL。
Polymarket 这次的被攻破依赖尚未被具名,但蓝本完全一致。
更广泛地看,DefiLlama 的记录显示 2026 年 Q2 是有史以来最糟糕的加密货币安全季度,仅 6 月就有 29 起安全事件、约 7490 万美元损失。随着协议层和服务器端防御的成熟,客户端正在变成更软的目标。
Polymarket 的回应与遗留问题
Polymarket 在事发当天即宣布了对所有受影响用户的全额赔付承诺。平台迅速控制事件、移除恶意依赖、联系受害者——以事后应急而言,这是一次合格的危机处理。
但这并非 Polymarket 第一次遭遇安全事件。2025 年 12 月,其 Discord 频道因第三方登录提供商被攻破而导致账户入侵;2026 年 3 月,链上侦探 ZachXBT 指出超过 52 万美元从 Polymarket 在 Polygon 上的智能合约中被盗;2026 年 5 月,又发生一起 70 万美元的内部管理员钱包被盗事件。
与此同时,CFTC 正就虚假营销行为对 Polymarket 展开调查。X 平台上,一名受害用户 Ash 公开分享了自己的钱包地址和攻击者地址,称「钱包被黑了,完全不知道为什么」。社区反应整体从惊讶转向了对 Web3 平台第三方依赖管理的质疑——当你的安全边界止于 HTTPS 和 CSP,但威胁来自被信任的供应商时,你还能依赖什么?
这意味着什么
Polymarket 事件不是一个「又一起加密黑客」的故事。区块链层表现正常,智能合约没有被利用,没有重入漏洞、闪电贷或预言机操纵。攻击存在于服务器到用户屏幕之间的那一层——浏览器运行时——第三方 JavaScript 在那里以与你自己的代码相同的权限运行。
对于所有运行着资金或敏感数据的 Web3 前端团队,这提出了一个棘手的命题:供应链攻击不需要攻破你的服务端,它只需要攻破你最信任的那个依赖。
当攻击可以直接运行在 https://polymarket.com 上时,「检查 URL」不再是有效的安全建议。
参考链接:
- https://www.bleepingcomputer.com/news/security/polymarket-customers-lose-3-million-in-supply-chain-attack/
- https://cside.com/blog/polymarket-client-side-supply-chain-attack
- https://www.coindesk.com/markets/2026/06/27/polymarket-hack-updated-to-usd3-1-million-days-after-the-platform-promised-users-full-refunds
- https://news.ycombinator.com/item?id=48371671
本文的素材来自公开信息和社区讨论。如果你对这个话题有更深入的一手经验,欢迎指出文中的不足。