Polyfill JS 服务供应链攻击事件总结
事件概述
电子商务安全公司 Sansec 披露了一起针对 Polyfill JS 服务的供应链攻击事件。该攻击通过多个托管 Polyfill JS 的 CDN 传播,影响了超过 10 万个网站。Polyfill JS 服务的原始作者 Andrew Betts 建议从所有使用该服务的网站中移除 Polyfill。
攻击详情
自 2023 年 6 月起,恶意攻击者控制了多个域名以传播恶意软件。最初,只有 cdn.polyfill.io 域名被标记为受影响,但随后 Sansec 扩展了受影响域名列表,包括 bootcdn.net、bootcss.com、staticfile.net、staticfile.org、unionadjs.com、xhsbpza.com、union.macoms.la 和 newcrbpc.com。
Polyfill JS 服务根据浏览器和设备动态生成代码,因此部署到客户端的恶意软件可能有所不同。Sansec 检测到一种特定恶意软件,将移动用户重定向到一个使用伪 Google Analytics 域名(www.googie-anaiytics.com)的体育博彩网站。该代码具有反逆向工程保护,仅在特定时间对特定移动设备激活,并且在检测到管理员用户或网络分析服务时不会激活。
原始作者回应
Polyfill JS 服务的原始作者 Andrew Betts 否认与 polyfill.io 域名或其出售有任何关联。他建议完全移除 polyfill.io 中的 polyfills,因为现代网站不再需要这些 polyfills,大多数浏览器已快速采用新特性。
CloudFlare 的应对措施
CloudFlare 发布了一个自动 JavaScript URL 重写服务,将任何指向 polyfill.io 的链接重写为 CloudFlare 托管的 polyfill.js 版本。CloudFlare 指出,今年 2 月,polyfill.io 域名被出售给一个名为 Funnull 的公司,这增加了供应链风险。
安全问题的广泛关注
此次供应链攻击再次引发了人们对 Web 开发中广泛实践的担忧。Betts 指出,提供流行 JS 脚本的域名是“巨大的安全隐患”,因为它们可以访问或修改所有使用它们的网站。Hacker News 上的评论者建议使用子资源完整性(SRI)检查来应对此类风险,尽管这对于生成动态代码的 polyfills.io 不可行。还有人指出,由于 HTTP/2 引入了缓存分区并取消了对域名的并发请求限制,使用 CDN 在大多数情况下不再合理。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。