关于 secret scanning 警报页
在为存储库启用 secret scanning 或将提交推送到启用了 secret scanning 的存储库时,GitHub 会扫描内容,以查找与服务提供商定义的模式匹配的机密。
当 secret scanning 检测到机密时,GitHub 将生成警报。 GitHub 在存储库的“安全性”选项卡中显示警报。
查看警报
- 在 GitHub.com 上,导航到存储库的主页。
- 在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
- 在左边栏的“漏洞警报”下,单击“Secret scanning”。
- 在“Secret scanning”下,单击要查看的警报。
筛选警报
可将各种筛选器应用于警报列表,帮助找到你要查看的警报。 可以使用警报列表上方的下拉菜单,或在搜索栏中输入表中列出的限定符。
Qualifier | 说明 |
---|---|
is:open | 显示打开的警报。 |
is:closed | 显示关闭的警报。 |
bypassed: true | 显示已绕过推送保护的机密的警报。 有关详细信息,请参阅“存储库和组织的推送保护”。 |
validity:active | 显示仍处于活动状态的机密的警报。 仅适用于 GitHub 令牌。有关有效性状态的详细信息,请参阅“检查机密的有效性”。 |
validity:inactive | 显示不再处于活动状态的机密的警报。 |
validity:unknown | 显示有效性状态未知的机密的警报。 |
secret-type:SECRET-NAME | 显示特定机密类型的警报,例如 secret-type:github_personal_access_token 。 有关支持的机密类型的列表,请参阅“机密扫描模式”。 |
provider:PROVIDER-NAME | 显示特定提供程序的警报,例如 provider:github 。 有关支持的合作伙伴的列表,请参阅“机密扫描模式”。 |
评估警报
有一些其他功能可以帮助你评估警报,以便更好地排列警报优先级和管理警报。 可以:
- 检查机密的有效性,了解机密是否仍处于活动状态。 仅适用于 GitHub 令牌。有关详细信息,请参阅“检查机密的有效性”。
- 查看令牌的元数据。 仅适用于 GitHub 令牌。 例如查看上次使用令牌的时间。 有关详细信息,请参阅“查看 GitHub 令牌元数据"。
检查机密的有效性
验证检查让您知道哪些机密属于 active
或 inactive
机密,帮助你排列 警报优先级。 active
机密是仍可能被利用的机密,因此应该优先审查和修正它们的警报。
默认情况下,GitHub 检查 GitHub 令牌的有效性,并在警报视图中显示令牌的验证状态。
使用 GitHub Enterprise Cloud 且拥有 GitHub Advanced Security 许可证的组织还可为合作伙伴模式启用验证检查。 有关详细信息,请参阅 GitHub Enterprise Cloud 文档中的“检查机密的有效性”。
有效期 | 结果 |
---|---|
活动机密 | GitHub 确认此机密处于活动状态 |
活动机密 | GitHub 向此机密的提供者进行了核实,发现此机密处于活动状态 |
可能处于活动状态的机密 | GitHub 尚不支持对此令牌类型进行验证检查 |
可能处于活动状态的机密 | GitHub 无法验证此机密 |
机密显示为非活动状态 | 应确保未发生未经授权的访问 |
可以使用 REST API 检索每个令牌的最新验证状态的列表。 有关详细信息,请参阅 REST API 文档中的“适用于机密扫描的 REST API 终结点”。 还可以使用 Webhook 来通知与 secret scanning 警报相关的活动。 有关详细信息,请参阅“Webhook 事件和有效负载”中的 secret_scanning_alert
事件。
查看 GitHub 令牌元数据
注意:GitHub 令牌的元数据目前为公共 beta 版本,可能会有变动。
在活动的 GitHub 令牌警报视图中,可以查看有关令牌的某些元数据。 此元数据可以帮助你识别令牌,并确定要采取的修正步骤。
令牌(如personal access token和其他凭据)被视为个人信息。 有关使用 GitHub令牌的详细信息,请参阅 GitHub 的隐私声明和可接受的使用政策。
GitHub 令牌的元数据可用于任何启用了机密扫描的存储库的活动令牌。 如果令牌已被撤销或无法验证其状态,则元数据将不可用。 GitHub 会自动撤销公共存储库中的 GitHub 令牌,因此公共存储库中 GitHub 令牌的元数据极有可能不可用。 以下元数据可用于活动的 GitHub 令牌:
元数据 | 描述 |
---|---|
机密名称 | GitHub 令牌的创建者为该令牌提供的名称 |
机密所有者 | 令牌所有者的 GitHub 句柄 |
创建时间 | 令牌的创建日期 |
过期日期 | 令牌的过期日期 |
上次使用时间 | 上次使用令牌的日期 |
访问 | 令牌是否具有组织访问权限 |
修复警报
只要密码被提交到仓库,便应视为受到威胁。 GitHub 建议对受到威胁的密码执行以下操作:
- 对于受到威胁的 GitHub personal access token,请删除受到威胁的令牌,创建新令牌,然后更新使用旧令牌的任何服务。 有关详细信息,请参阅“管理个人访问令牌”。
- 对于所有其他机密,请先确认提交到 GitHub 的机密是有效的。 如果有效,请创建新机密,更新使用旧机密的所有服务,然后删除旧机密。
注意:如果在 GitHub.com 上的公共存储库中检测到机密,并且该机密也与合作伙伴模式匹配,则会生成警报,并将潜在的机密报告给服务提供商。 有关合作伙伴模式的详细信息,请参阅“机密扫描模式”。
关闭警报
-
在 GitHub.com 上,导航到存储库的主页。
-
在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
-
在左边栏的“漏洞警报”下,单击“Secret scanning”。
-
在“Secret scanning”下,单击要查看的警报。
-
若要消除警报,请选择“关闭原因”下拉菜单,然后单击原因以解决警报。
-
(可选)在“注释”字段中,添加消除注释。 消除操作注释将添加到警报时间线,可在审核和报告期间用作理由。 可以在警报时间线中查看所有已消除警报和消除注释的历史记录。 还可以使用 Secret scanning API 检索或设置注释。 注释包含在
resolution_comment
字段中。 有关详细信息,请参阅 REST API 文档中的“适用于机密扫描的 REST API 终结点”。 -
单击“关闭警报”。
配置 机密扫描警报
的通知
增量扫描和历史扫描的通知不同。
增量扫描
当检测到新的机密时,GitHub 会根据用户的通知首选项,通知对存储库安全警报具有访问权限的所有用户。 这些用户包括:
- 存储库管理员
- 安全管理员
- 拥有自定义角色(具有读取/写入访问权限)的用户
- 组织所有者和企业所有者(如果他们是机密泄露的存储库的管理员)
注意:意外提交机密的提交作者将收到通知(无论其通知首选项如何)。
你将收到电子邮件通知,前提是:
- 你正在监视存储库。
- 你已启用存储库上“所有活动”或自定义“安全警报”的通知。
- 在通知设置中,在“订阅”下,然后在“监视”下,你已选择通过电子邮件接收通知。
-
在 GitHub.com 上,导航到存储库的主页。
-
若要开始监视存储库,请选择“监视”。
-
在下拉菜单中,单击“所有活动”。 或者,若要仅订阅安全警报,请单击“自定义”,然后单击“安全警报”。
-
导航到个人帐户的通知设置。 这些可在 https://github.com/settings/notifications 中找到。
-
在通知设置页上,在“订阅”下,然后在“正在监视”下,选择“通知我”下拉列表。
-
选择“电子邮件”作为通知选项,然后单击“保存”。
有关设置通知首选项的详细信息,请参阅“管理存储库的安全和分析设置”和“为单个存储库配置监视设置”。
历史扫描
对于历史扫描,GitHub 通知以下用户:
- 组织所有者、企业所有者和安全管理者 - 每当历史扫描完成时,即使找不到任何机密,也会发送通知。
- 存储库管理员、安全管理者和拥有自定义角色(具有读/写访问权限)的用户 - 每当历史扫描检测到机密时,根据他们的通知首选项发送通知。
我们不会通知提交作者。
有关设置通知首选项的详细信息,请参阅“管理存储库的安全和分析设置”和“为单个存储库配置监视设置”。
审核对机密扫描警报的响应
可以使用 GitHub 工具审核为响应secret scanning警报而执行的操作。 有关详细信息,请参阅“审核安全警报”。