关于 Copilot 机密扫描 的 通用机密检测
Copilot 机密扫描 的 通用机密检测 是 secret scanning 的 AI 驱动扩展,可识别源代码中的非结构化机密(密码)并生成警报。
注意
无需订阅 GitHub Copilot 即可使用 Copilot 机密扫描 的 通用机密检测。 Copilot 机密扫描 功能可用于具有 GitHub Secret Protection 许可证的组织和企业拥有的存储库。
GitHub Secret Protection 用户已经可以接收在其源代码中找到的合作伙伴或自定义模式的 机密扫描警报,但非结构化机密不易发现。 Copilot 机密扫描 使用大型语言模型 (LLM) 来标识这种类型的机密。
当检测到密码时,警报会在 secret scanning 警报的“Generic”列表中显示(位于存储库、组织或企业的“Security”**** 选项卡下),以便维护人员和安全经理可以查看该警报,并在必要时移除凭据或实施修复。
对于 GitHub Enterprise Cloud 用户,企业所有者必须首先在企业级别设置策略,以控制是否可以为组织中的存储库启用和禁用 通用机密检测。 默认情况下,此策略设置为“允许”。 然后,必须为存储库和组织启用该功能。
输入处理
输入仅限于用户已签入存储库的文本(通常是代码)。 系统将此文本与元提示一起提供给 LLM,要求 LLM 在输入范围内查找密码。 用户不会直接与 LLM 交互。
系统使用 LLM 扫描密码。 除现有 secret scanning 功能已收集的数据外,系统不会收集任何其他数据。
输出和显示
LLM 会扫描类似密码的字符串,并验证响应中包含的已识别字符串在输入中是否确实存在。
这些检测到的字符串在 secret scanning 警报页上显示为警报,但其显示在与常规 机密扫描警报 分开的其他列表中。 这样做的目的是对此单独的列表进行更严格的审查,以核实调查结果的有效性。 每个警报都注明是使用 AI 检测到的。 有关如何查看通用机密警报的信息,请参阅 查看和筛选机密扫描警报。
提高 通用机密检测 的性能
要提高 通用机密检测 的性能,建议适当关闭误报警报。
验证警报的准确度,并根据需要关闭
由于 Copilot 机密扫描 的 通用机密检测 可能比现有的针对合作伙伴模式的 secret scanning 功能生成更多误报警报,因此务必检查这些警报的准确性。 验证警报是否为误报时,请务必关闭警报,并在 GitHub UI 中将原因标记为“误报”。 GitHub 开发团队将利用误报数量和检测位置的信息来改进模型。 GitHub 无法访问机密文本本身。
通用机密检测 的限制
使用 Copilot 机密扫描 的 通用机密检测 时,应考虑以下限制。
作用域受限
通用机密检测 目前仅查找 git 内容中的密码实例。 该功能不会查找其他类型的通用机密,也不会在非 git 内容(如 GitHub Issues)中查找机密。
潜在的误报警报
与现有的 secret scanning 功能(检测合作伙伴模式,且误报率极低)相比,通用机密检测 可能生成更多误报警报。 为了减轻这种过多的噪音,警报将分组到与合作伙伴模式警报不同的列表中,安全经理和维护人员应该对每条警报进行分类以验证其准确度。
报告可能不完整
通用机密检测 可能会遗漏签入存储库的凭据实例。 LLM 将随着时间的推移而改进。 你对确保代码安全负有最终责任。
设计上的限制
通用机密检测 在设计上有以下限制:
- Copilot 机密扫描 不会检测明显是伪造或测试用的密码,或低熵密码。
- Copilot 机密扫描 每次推送最多仅检测 100 个密码。
- 如果单个文件中五个或更多检测到的机密被标记为误报,Copilot 机密扫描 将停止为该文件生成新警报。
- Copilot 机密扫描 不会检测生成文件或第三方依赖文件中的机密。
- Copilot 机密扫描 不会检测加密文件中的机密。
- Copilot 机密扫描 不会检测以下文件类型中的机密:SVG、PNG、JPEG、CSV、TXT、SQL 或 ITEM。
- Copilot 机密扫描 不会检测测试代码中的机密。 当同时满足以下两个条件时,Copilot 机密扫描 会跳过检测:
- 文件路径包含“test”、“mock”或“spec”,并且
- 文件扩展名为
.cs、.go、.java、.js、.kt、.php、.py、.rb、.scala、.swift或.ts。
通用机密检测 的评估
通用机密检测 已经过负责任的 AI 红队测试,GitHub 将继续长期监控该功能的有效性和安全性。
后续步骤
-
[AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/enabling-ai-powered-generic-secret-detection) -
[AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning)
延伸阅读
-
[AUTOTITLE](/code-security/secret-scanning/introduction/about-secret-scanning) -
[AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise#enforcing-a-policy-to-manage-the-use-of-generic-secret-detection-for-secret-scanning-in-your-enterprises-repositories)