Skip to main content

关于使用机密扫描检测通用机密

了解 secret scanning 如何使用 AI 扫描和创建非结构化机密(例如密码)的警报。

注意:**** secret scanning 的通用机密检测为 beta 版。 功能和文档可能会有变动。 在 GitHub Enterprise Cloud 上使用 GitHub Advanced Security 的企业帐户可使用此功能。

关于 secret scanning 的通用机密检测

通用机密检测是 AI 支持的 secret scanning 扩展,用于标识源代码中的非结构化机密(密码),然后生成警报。

GitHub Advanced Security 用户已经可以接收在其源代码中找到的合作伙伴或自定义模式的 机密扫描警报,但非结构化机密不易发现。 AI 支持的通用机密检测使用大型语言模型 (LLM) 来标识这种类型的机密。

当检测到密码时,警报会在 secret scanning 警报列表中显示(位于存储库、组织或企业的“安全”**** 选项卡下),以便维护人员和安全经理可以查看该警报,并在必要时移除凭据或实施修复。

为了使用通用机密检测,企业所有者会在企业级别设置策略。 随后必须为存储库启用该功能。 有关详细信息,请参阅“Enforcing policies for code security and analysis for your enterprise”。

输入处理

输入仅限于用户已签入存储库的文本(通常是代码)。 系统将此文本与元提示一起提供给 LLM,要求 LLM 在输入范围内查找密码。 用户不会直接与 LLM 交互。

系统使用 LLM 扫描密码。 除现有 secret scanning 功能已收集的数据外,系统不会收集任何其他数据。

输出和显示

LLM 会扫描类似密码的字符串,并验证响应中包含的已识别字符串在输入中是否确实存在。

这些检测到的字符串在 secret scanning 警报页上显示为警报,但其显示在与常规 机密扫描警报 分开的其他列表中。 这样做的目的是对此单独的列表进行更严格的审查,以核实调查结果的有效性。 每个警报都注明是使用 AI 检测到的。

提高通用机密检测的性能

为提高通用机密检测的性能,我们建议在遇到问题时适当关闭误报警报并提供反馈。

验证警报的准确度,并根据需要关闭

由于 AI 支持的通用机密检测可能会比合作伙伴模式的现有 secret scanning 功能生成更多的误报,因此请务必查看这些警报的准确度。 验证警报是否为误报时,请务必关闭警报,并在 GitHub UI 中将原因标记为“误报”。 GitHub 开发团队将使用此信息来改进模型。

提供反馈

常规机密检测目前为 beta 版。 如果遇到此功能的任何问题或限制,建议通过存储库、组织或企业警报列表中每个检测到的机密下列出的“提供反馈”**** 按钮来提供反馈。 这可以帮助开发人员改进该工具并解决任何问题或限制。

通用机密检测的限制

使用 secret scanning 的通用机密检测时,应考虑以下限制。

作用域受限

AI 支持的通用机密检测目前仅查找 git 内容中的密码实例。 该功能不会查找其他类型的通用机密,也不会在非 git 内容(如 GitHub Issues)中查找机密。

潜在的误报警报

与现有的 secret scanning 功能(检测合作伙伴模式且误报率非常低)相比,AI 支持的通用机密检测可能会生成更多的误报警报。 为了减轻这种过多的噪音,警报将分组到与合作伙伴模式警报不同的列表中,安全经理和维护人员应该对每条警报进行分类以验证其准确度。

报告可能不完整

AI 支持的通用机密检测可能会错过签入存储库中的凭据实例。 LLM 将随着时间的推移而改进。 你对确保代码安全负有最终责任。

通用机密检测评估

通用机密检测受 Responsible AI Red Teaming 约束,GitHub 将继续监视该功能的长期有效性和安全性。

延伸阅读