Skip to main content

解决来自机密扫描的警报

查看机密扫描警报的详细信息后,应修复然后关闭该警报。

谁可以使用此功能?

具有管理员角色的存储库所有者、组织所有者、安全管理员和用户

修复警报

只要密码被提交到仓库,便应视为受到威胁。 GitHub 建议对受到威胁的密码执行以下操作:

  • 验证提交到 GitHub 的机密是否有效。 请参阅“执行按需有效性检查”。
  • 对于在专用存储库中检测到的机密,请将泄露的机密报告给 GitHub,后者会将其视为任何公开泄露的机密并吊销机密。 仅适用于 GitHub personal access token。 请参阅“报告泄露的机密”。
  • 查看并更新使用旧令牌的任何服务。 对于 GitHub personal access token,请删除已泄露的令牌并创建新的令牌。 请参阅“管理个人访问令牌”。
  • 根据机密提供程序,检查安全日志中是否有任何未经授权的活动。

报告泄露的机密

Note

向 GitHub 报告私下暴露的机密为 公共预览版,可能会更改。 此功能当前仅适用于 GitHub personal access token(v1 和 v2)。

如果在 GitHub 上的公共存储库中检测到机密,并且该机密也与支持的合作伙伴模式匹配,则会将潜在的机密自动报告给服务提供方。 有关所有支持的合作伙伴模式的详细信息,请参阅“支持的机密扫描模式”。

对于在专用存储库中检测到的机密,可以查看存储库的 机密扫描警报 的任何人都可以选择直接向 GitHub 报告私有公开的机密。

通过报告机密,令牌提供程序将把私有公开的机密视为公开泄漏的机密一样。 这意味着令牌提供程序可能会撤销机密,因此你应首先考虑查看和更新使用该机密的任何服务。 如果可能,还应考虑在报告令牌之前通知令牌所有者,以便令牌所有者知道机密可能被吊销。

如果满足以下条件,则只会看到向 GitHub 报告私有公开的机密的选项:

  • 该机密是 GitHub personal access token。
  • 机密的有效性尚未得到确认,或已确认机密的有效性为 active
  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。

    存储库标头的屏幕截图,其中显示了选项卡。 “安全性”选项卡以深橙色边框突出显示。

  3. 在左边栏的“漏洞警报”下,单击“Secret scanning”。

  4. 在警报列表中,单击要查看的警报。

  5. 在泄露机密的警报视图中,单击“报告泄漏”****。

    Note

    为了防止中断工作流,请考虑在继续前先轮换机密,因为泄露可能会导致机密被撤销。 如果可能,还应联系令牌所有者,让他们了解泄漏情况并协调修正计划。

  6. 查看对话框中的信息,然后单击“我了解后果,报告此机密”****。

关闭警报

Note

Secret scanning 不会在从存储库中移除相应的令牌时自动关闭警报。 必须在 GitHub 上的警报列表中手动关闭这些警报。

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。

    存储库标头的屏幕截图,其中显示了选项卡。 “安全性”选项卡以深橙色边框突出显示。

  3. 在左边栏的“漏洞警报”下,单击“Secret scanning”。

  4. 在“Secret scanning”下,单击要查看的警报。

  5. 若要消除警报,请选择“关闭原因”下拉菜单,然后单击原因以解决警报。

    secret scanning 警报的屏幕截图。 标题为“关闭为”的下拉菜单已展开,并用深橙色边框突出显示。

  6. (可选)在“注释”字段中,添加消除注释。 消除操作注释将添加到警报时间线,可在审核和报告期间用作理由。 可以在警报时间线中查看所有已消除警报和消除注释的历史记录。 还可以使用 Secret scanning API 检索或设置注释。 注释包含在 resolution_comment 字段中。 有关详细信息,请参阅 REST API 文档中的“适用于机密扫描的 REST API 终结点”。

  7. 单击“关闭警报”。

后续步骤