让开发流程不停摆的开发者密钥管理
2025年3月,袭击者入侵了GitHub操作用于超过23,000个存储库的开发流程中。恶意代码暴露了API密钥、云凭证、SSH密钥及其他令牌,出现在工作流程日志中。
受影响的团队被建议检查他们的工作流程运行,并轮换日志中暴露的任何凭证。
受影响的组织必须确定哪些凭证被泄露,这些凭证能覆盖哪些内容,以及如何在不中断开发的情况下替换每一个。许多人无法仅凭第一个问题自信回答。
此事件说明了负责团队资质管理者今天面临的问题:风险最大的资历往往是没人追踪的。
安全工具无法管理他们从未见过的凭证
非管理凭证只是现代软件开发环境的副产品,开发者面临不断交付代码的压力。开发者搭建应用程序时需要立即获得数据库密码或API密钥,而提供这些密钥最快的方式是在本地机器上提供.env文件、home目录中的SSH密钥,或者粘贴到流水线变量中的令牌。
每一个选择都推动工作进展,每个选择都创建一个存在于任何批准系统之外的工作凭证,任何负责维护项目、凭证和访问权限安全的人都无法轮换、撤销或审计该凭证。
传统的秘密管理可能会让这个空白变得开放,因为它从错误的一侧开始。传统工具提供安全的访问平台,但依赖开发者带来凭证,因此治理只有迁移后才开始。
当安全流程带来摩擦时,团队会找到变通方法。1Password的研究发现43%的开发者根本不使用专用的秘密管理器或保险库,而是通过安全和非安全手段混合管理秘密。
因此,凭证依然无法被控制、报告和轮换流程保护。
这些问题由来已久,但变化在于这些资质的创建速度。GitGuardian统计了2025年公开GitHub提交中泄露了2865万个新秘密,比上一年增长了34%,1Password的研究发现86%的技术员工报告了与非人类身份相关的资质问题。
这个问题存在于小团队和大型组织中。变化的是作品归属者以及组织需要证明什么。在一个小团队中,一个人可能创建凭证、使用并管理其访问权限。
随着组织的发展,越来越多的人员、工作流程和环境依赖这些资质,因此工作范围扩大到建立库存、管理访问、分配修复和提供证据。目标始终如一:管理员需要保护团队已有的凭证,同时不破坏维持开发流程的进程。
一个完整的项目,用于发现、保护、管理和审核资质
在执行不当的秘密管理项目中,四个问题相互叠加:
- 资历暴露在无人能见的地方
- 移动它们可能会损坏依赖它们的东西
- 任何增加摩擦的安全路径都会被绕过
- 当发生事件或审计时,管理员无法展示已存在或已修复的问题
打破这一循环需要四个连续运行的能力。
发现:建立可操作的清单
发现始于全面了解暴露情况。管理员需要一种方法在本地设备上查找凭证,包括.env文件、SSH密钥目录和其他本地文件,而不依赖开发者自我报告。
输出必须有两个方面:优先级视图,管理员可以随时间追踪暴露凭证,以及足够具体的发现(比如本项目中的这个密钥,在这台机器上),以便开发者可以立即对每个结果采取行动。
安全:将凭证迁移到托管控制中
确保发现的凭证安全意味着直接将其移入托管控制,而不破坏依赖该凭证的权限。告诉开发人员删除文件并不是修复路径;该凭据仍然是应用程序运行的必要条件。
从发现到修复的路径应该很短:开发者将暴露的凭证导入托管环境,并通过运行时提供的环境变量使用,磁盘上不会残存明文副本。开发者保持熟悉的工作方式,而负责人则改变凭证的治理、共享和修复方式。
治理:在不暴露的情况下授予凭证访问权限
治理决定了谁或什么可以访问凭证、该凭证属于哪个项目或环境,以及当访问权限发生变化时会发生什么。开发者应只获得他们工作所需的凭证。
CI/CD系统应使用有范围的服务账户,而AI代理应被视为具有狭义且可审查权限的非人类身份。访问权限应有所有者,受角色或环境限制,且当个人、工作流程或项目发生变化时可撤销。
管理路径必须仍可用,否则团队会绕过它。
审计:为管理者提供证据以促使其采取行动
管理者需要证据说明发现了什么、发生了什么变化,以及哪些仍需采取行动。报告应帮助团队按用户和设备审查发现,跟踪修复情况,并识别仍需轮换的凭据。
该记录使管理员能够展示暴露内容、已修复、仍需关注的内容,以及在访问审查、事件响应和安全报告过程中,团队和环境中的风险如何变化。
安全秘密管理简化了开发者的工作流程
一个管理良好的秘密管理计划能让所有参与者的生活变得更简单。开发者不需要用速度换取安全。他们有支持的路径在熟悉的工作流程中获取凭证,管理员则可以识别暴露、分配修复并审查进展。
每一次凭证访问,无论是人工还是代理,都有文档和可追溯。当凭证被泄露时,爆炸半径已知,响应被控制:凭证所触及的内容会被记录下来,轮换从一个地方进行。
当安全负责人或审计员要求提供控制证据时,组织可以展示其发现、行动和进展,而不是在事件或审计期间重建过时或不完整的清单。
完整生命周期:使用1Password保护开发者秘密安全
1Password 的开发者安全功能帮助组织发现开发者已使用过的凭证,包括支持的凭证以明文形式存储在本地设备中,并将发现与修复、交付和监督连接起来。
开发商Watchtower在端点上发现暴露的凭证,比如SSH密钥和.env文件。1Password 环境为开发者提供了一个托管空间,展示他们的应用、自动化和人工智能工作流程背后的秘密,同时不破坏它们的运作方式。
报告和修复工作流程为管理员提供了更清晰的凭证风险视角,并提供了切实可行的应对方式。发现、安全、治理和审计协同工作,使组织能够在不要求开发者放弃依赖的工作流程的情况下提升控制力。
了解更多关于使用 1Password 保护开发者秘密的信息。
无效