开源项目的使用越来越广泛,各大公司和个人也积极的参与和开发了不同的开源项目。 同时开源项目的安全问题也越来越受到广泛的关注,其中即有开源项目代码方面的安全问题, 也有开源项目使用的第三方服务、开发流程导致的安全问题。
这篇文章介绍的是 CI 流程中可能会出现的安全问题:攻击者可以通过给开源项目提交 PR 的方式获取项目开发流程中涉及的 CI 系统中的敏感信息。
整个流程如下:
- 攻击者 fork 目标开源项目仓库,修改仓库代码增加可以获取 CI 环境中敏感信息代码或者可以在 CI 环境中运行恶意脚本和软件的代码
- 然后工具者将修改后的代码通过 Pull Request 的方式提交到上游项目中(不需要合并代码)
- 一般上游项目在 PR 提交时都会触发项目中设置的 CI 流程,此时 CI 流程中就会运行攻击者修改好的恶意代码
- 如果 CI 环境设置不当或者 CI 服务有安全隐患的话,攻击者就可以通过 CI job 窃取环境中的敏感信息(比如密码、token、ak、证书等信息)、 入侵整个 CI job 所在节点、整个 CI 服务甚至整个公司所有资产。
相关案例可以阅读参考资料中最近爆出的几个安全事项。
Comments