本周四,用于托管代码测试报告和数据的 Codecov 在线平台称,Bash Uploader 脚本遭恶意修改,客户持续集成环境中的敏感信息被暴露。

Codecov 虽然在4月1日就获悉此事,但调查认为实际上这起软件供应链攻击早在今年1月末就已发生。

Bash Uploader 修改发生在1月

Codecov 提供的工具有助于开发人员衡量测试工程中执行了多少行源代码,即测试代码的覆盖率,可以表明代码中可能存在未检测漏洞的情况。

该平台拥有超过2.9万家企业客户,如 Atlassian、华盛顿邮报、GoDadday、加拿大皇家银行、宝洁等。

Bash Uploader 工具如其名称所示那样,供客户向平台发送代码覆盖率报告,它会检测和持续集成相关的设置、收集报告并上传信息。而攻击者从1月31日起就专门攻击该数据收集工具,他们修改脚本,将客户环境详情发送到 Codecov 基础设施之外的服务器,这一行为可从第525行看出。

被用于获得访问权限的弱点是创建 Codecov Docker 镜像过程中的一个错误,可导致用于保护 Bash Uploader 脚本修改的凭据被窃取。鉴于 Bash Uploader 收集的信息,Codecov 表示攻击者可能利用恶意版本导出了如下敏感数据:

  • 执行 Bash Uploader 脚本时,可被访问的客户通过 CI 运行器传递的任何凭据、令牌或密钥;

  • 可通过这些凭据、令牌或密钥访问的任何服务、数据存储和应用程序代码;

  • 使用 Bash Uploaders 将覆盖率上传到持续集成过程中 Codecov 的仓库的 git 远程信息(原始仓库的 URL)

由于存在这种潜在风险,强烈建议受影响用户轮换依靠 Bash Uploader 的持续集成过程中环境变量中出现的所有凭据、令牌或密钥。

使用本地脚本的客户应该检查第525行是否被加入攻击者代码。如出现如下代码,则应当将当前的 bash 文件替换为Codecov 发布的最新版本。

在最初变体中,脚本将 “ENV” 变量中的数据上传到 Codecov 平台。攻击者修改后,Bash Uploader 还会将详情发送到上述地址,而该 IP 地址并非由 Codecov 管理。

Codecov 从一名客户处获悉该攻陷情况。这名客户注意到 GitHub 上的 Bash Uploader 脚本和所下载文件并不匹配。

Codecov 公司指出,“从截止目前的取证分析结果来看,似乎有人从2021年月31日起定期越权访问某 Google Cloud Storage (GCS) 密钥,可使恶意第三方将我们的 Bash Uploader 脚本修改,可能将持续集成的信息导出给第三方服务器。Codecov 已在2021年4月1日修复了该脚本的问题。”

缓解措施

Codecov 获悉此事后立即采取缓解措施,如:

  • 轮换所有相关内部凭据,包括用于方便修改 Bash Uploader 的密钥

  • 审计可访问该密钥的位置和方法

  • 设置监控和审计工具,确保未来不会发生非意图内的修改

  • 和第三方服务器托管提供商合作,确保恶意webserver 已被正确弃用

Codecov 公司指出,虽然设置了安全策略、程序、实践和控制以及持续监控网络和系统中的异常活动,但仍然发生了这起事件。

原文链接

https://www.bleepingcomputer.com/news/security/popular-codecov-code-coverage-tool-hacked-to-steal-dev-credentials/

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。