研究揭示:数千网站在无意间泄露敏感API密钥

richlovec 1500_400 (1)
 

研究人员近期揭示了一个隐藏在互联网表层之下的严重安全隐患,可能导致数百万人的个人信息和财务记录被暴露。在arXiv预印本平台发表的一篇论文中,斯坦福大学的 Nurullah Demir 及其同事对 1000 万个网站进行了分析,重点调查了API(应用程序编程接口)凭证的泄露情况。

这些API凭证是不同软件系统之间进行通信时使用的数字密钥或令牌,常被用于处理银行支付、访问云存储等关键操作。一旦泄露,攻击者就可能绕过传统密码验证,直接调用相关服务。

泄露是如何被发现的

研究团队利用了一个名为 HTTP Archive 的大型数据库,该数据库记录了数百万个真实网站的运行方式。研究人员并非只看源代码仓库,而是直接分析网站的在线版本,观察网页在加载过程中如何处理和传输数据。

通过对活跃网站的动态行为进行检查,团队识别出那些仅在用户访问页面时才会出现的API凭证。这些凭证通常以特定文本字符串的形式嵌入,用于让网站向银行、云服务提供商等外部服务进行身份验证。

在这次扫描中,研究人员共发现了 1748 个来自主要服务提供商的活跃且已验证的API凭证,其中包括亚马逊网络服务(AWS)、Stripe 和 OpenAI 等。这些密钥直接暴露在网站的前端代码中,任何人只要懂得如何查看网页脚本,就有机会获取这些凭证。

风险在于,一旦这些密钥被恶意利用,攻击者可能在无需额外密码的情况下,直接访问企业的云服务器、支付接口或客户数据库,造成严重的数据泄露和经济损失。

研究还发现,一部分凭证的暴露时间长达 12 个月。在个别极端案例中,敏感密钥甚至在公开状态下存在了数年,却始终未被相关公司察觉。统计显示,约 84% 的泄露发生在 JavaScript 文件中,也就是控制网站行为的后台脚本中。

研究作者强调,这类问题的根源并不在亚马逊或 Stripe 等服务提供商本身,而主要出在软件开发者和网站运营方:他们在构建网站时,不慎将本应保密的凭证打包进了最终发送到用户浏览器的前端代码中。

作者在论文中指出:“我们的结果显示,绝大多数泄露是在构建流程中被引入,并且只在实际生产环境中才会显现(例如出现在 JavaScript 打包文件中),这使得以往依赖静态扫描的检测方法在真实网络环境中远远不够。”

在完成分析后,研究人员已向受影响的组织发出通知,提醒其存在凭证泄露问题。根据他们的跟踪结果,在通知发出后的两周内,大约 50% 的暴露凭证被移除或停用。

如何降低未来风险

针对未来的防护措施,研究团队提出了几项建议:

  • 开发者应不仅扫描私有代码仓库,还要定期扫描网站的线上运行版本,检查实际对外暴露的内容。
  • 企业需要为自动化构建和部署工具制定更严格的规则,避免在打包过程中将密钥、令牌等敏感信息写入前端资源文件。
  • 服务提供商则应改进自身的自动化监测系统,一旦在公开网页或前端脚本中检测到疑似密钥,能够及时向客户发出预警,协助其快速撤销或更换凭证。

研究团队认为,只有在开发流程、部署策略和服务提供方监控机制三方面同时加强,才能有效减少此类隐蔽却高危的API凭证泄露事件。

© 2026 Science X Network


分享:


发表评论

登录后才可评论。 去登录