三 十大 CI/CD 安全风险( 三 )


  • 访问任务节点有权访问的外部资产,例如存储在节点文件系统中的文件,或可通过底层主机访问的云环境的凭据 。
  • 能够以构建过程构建的合法代码为障眼法,将代码和工件进一步传送到流水线中 。
  • 能够访问作业节点的网络/环境中的其他主机和资产 。
  • 建议预防和缓解 PPE 攻击,涉及跨 SCM 和 CI 系统的多项措施:
    • 确保运行未经审查的代码的流水线在隔离节点上执行,不会暴露在机密和敏感环境中 。
    • 评估外部贡献者在公共存储库上触发流水线的需求 。在可能的情况下,避免运行源自分叉的流水线,并考虑添加控制措施,例如要求手动批准流水线执行 。
    • 对于包含敏感信息的流水线,确保配置为触发 CI 系统中的流水线的每个分支,在 SCM 中都有相关的分支保护规则 。
    • 为了防止操纵 CI 配置文件在流水线中运行恶意代码,必须在流水线运行之前审查每个 CI 配置文件 。或者CI 配置文件可以在远程分支中管理,与包含在流水线中构建的代码的分支分开 。远程分支应配置为受保护 。
    • 从不需要的用户中删除对 SCM 存储库授予的权限 。
    • 每个流水线应该只能访问实现其目的所需的凭据 。凭据应具有所需的最低权限 。

    经验总结扩展阅读