JavaScript 文件里的秘密:500 万款 App 洞察,4.2 万个密钥“裸奔”

网络安全公司 Intruder 发布报告,扫描全球 500 万款应用,发现超过 4.2 万个机密信息以明文形式暴露在 JavaScript 文件中,涉及代码仓库 token、API 密钥等敏感数据,暴露了严重的安全隐患。

2 月 18 日消息,网络安全公司 Intruder 上月发布报告,深度扫描全球 500 万款应用,发现超过 4.2 万个机密信息(Secrets)以明文形式暴露在 JavaScript 文件中。

IT之家援引博文介绍,本次报告目标重点排查隐藏在 JavaScript 打包文件中的机密信息,扫描生成的纯文本报告超过 100MB,共计发现超过 42000 个暴露的凭证,涵盖 334 种不同类型的机密信息。

在泄露的机密信息中,代码仓库 token(如 GitHub 和 GitLab)的风险最高。研究人员发现了 688 个此类 token,其中许多不仅处于激活状态,还拥有对私有仓库的完全访问权限,甚至能解锁 CI / CD 流水线中的 AWS 和 SSH 密钥。

此外,项目管理工具(如 Linear)的 API 密钥也被直接嵌入前端代码,导致整个组织的内部工单、项目细节及下游服务链接全部暴露。其他泄露还涉及 CAD 设计图纸、邮件列表数据以及数百个活跃的聊天软件 Webhook。

为何如此多的机密信息被遗漏?该公司认为根本原因在于传统的自动化扫描工具“不懂” JavaScript。

旧式扫描器通常只检查已知的 URL 路径并匹配正则模式,却不会像浏览器一样执行 JavaScript 或渲染页面。以单页应用(SPA)为例,扫描器往往只请求基础 URL,而忽略了负责页面渲染的 JavaScript 文件,导致隐藏其中的凭证完全逃过了检测。

尽管静态应用程序安全测试(SAST)能分析源代码,但它无法覆盖构建过程中引入的机密信息。许多凭证是在代码打包和部署阶段才“溜”进前端文件的,这超出了静态分析的检测范围。

另一方面,动态应用程序安全测试(DAST)虽然功能强大,支持应用爬取和身份验证,但因其昂贵且配置复杂,通常仅用于极少数核心应用,无法覆盖企业广泛的数字资产。

版权声明:本站文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

评论加载中...