密钥检测
- Tier: 基础版,专业版,旗舰版
- Offering: JihuLab.com,私有化部署
你的应用程序可能会使用外部资源,包括 CI/CD 服务、数据库或外部存储。访问这些资源需要进行身份验证,通常使用静态方法,如私钥和令牌。这些方法被称为“密钥”,因为它们不应该与其他任何人共享。
为了尽量减少暴露密钥的风险,始终在存储库外部存储密钥。然而,有时密钥会被意外提交到 Git 存储库中。当敏感值被推送到远程存储库时,任何拥有存储库访问权限的人都可以使用该密钥来冒充授权用户。
密钥检测监控你的活动,以便:
- 帮助防止你的密钥泄露。
- 帮助你在密钥泄露时作出响应。
你应该采取多层次的安全措施,并启用所有可用的密钥检测方法:
- 密钥推送保护在你向极狐 GitLab 推送更改时扫描提交中的密钥。如果检测到密钥,推送会被阻止,除非你跳过密钥推送保护。此方法降低了密钥泄露的风险。
- 流水线密钥检测作为项目的 CI/CD 流水线的一部分运行。提交到存储库的默认分支会被扫描以检测密钥。如果在合并请求流水线中启用了流水线密钥检测,则会扫描提交到开发分支的密钥,使你可以在它们提交到默认分支之前作出响应。
- 客户端密钥检测在保存到极狐 GitLab 之前扫描议题和合并请求中的描述和评论中的密钥。当检测到密钥时,你可以选择编辑输入并删除密钥,或者如果是误报,则保存描述或评论。
如果密钥被提交到存储库,极狐 GitLab 会在漏洞报告中记录暴露情况。对于某些类型的密钥,极狐 GitLab 甚至可以自动撤销暴露的密钥。你应该尽快撤销并替换暴露的密钥。有关密钥特定的补救指导,请查看漏洞报告中提供的详细信息。