关于使用 Copilot 密钥扫描生成正则表达式
密钥扫描会对仓库进行扫描,查找我们合作伙伴计划中预定义的一组密钥以及用户自定义的模式。自定义模式的格式为正则表达式。
注意
使用 Copilot 密钥扫描的正则表达式生成器无需 GitHub Copilot 订阅。Copilot 密钥扫描功能对拥有 GitHub Secret Protection 授权的组织和企业拥有的仓库均可使用。
正则表达式对大多数人而言编写起来很有挑战性。Copilot 密钥扫描的正则表达式生成器让您无需了解正则表达式即可定义自定义模式。在现有的自定义模式页面中,您可以启动生成式 AI 体验:输入对想要检测的模式的文字描述,\n可选地提供应被检测的示例字符串,系统会返回匹配的正则表达式。
输入处理
用户输入他们想要检测的内容的文字描述,以及可选的示例字符串。
响应生成与输出格式化
Copilot 密钥扫描的正则表达式生成器使用 GPT-3.5‑Turbo 和 GitHub Copilot API 来生成匹配您输入的正则表达式。
模型会返回最多三个正则表达式供您审阅。您可以点击正则表达式,获取 AI 生成的该正则表达式的自然语言描述。
某些结果可能非常相似,亦可能出现未能捕获模式所要检测的所有密钥实例的情况。生成器还可能产生无效或不恰当的结果。
当您点击正则表达式上的 Use result 时,表达式及任何已输入的示例将被复制到主自定义模式表单中。在那里,您可以对该模式进行干跑(dry run),查看它在整个仓库或组织中的表现。有关如何为您的仓库或组织定义自定义模式的更多信息,请参阅 Defining custom patterns for secret scanning。
使用 AI 生成正则表达式时的性能提升
为提升性能并解决 Copilot 密钥扫描正则表达式生成器的一些局限,您可以采取多种措施。有关正则表达式生成器局限性的更多信息,请参阅 使用 AI 生成正则表达式的局限性。
将 Copilot 密钥扫描的正则表达式生成器视为工具,而非替代方案
尽管正则表达式生成器是一个强大的工具,可让您在无需自行编写正则表达式的情况下创建自定义模式,但应将其视为辅助工具,而不是手动编写的替代品。您应通过在组织或仓库中进行干跑来仔细验证结果的性能。建议在与组织中其他仓库具有代表性的仓库上运行该模式。在某些情况下,调整生成的正则表达式以更好地满足您的需求也是有益的。最终,您仍需对所使用的任何自定义模式负责。
使用 AI 生成正则表达式的局限性
根据您的输入描述和示例等因素,使用 Copilot 密钥扫描正则表达式生成器时可能会出现不同的性能表现。您需要尽可能具体地描述需求,并提供多种符合模式的示例,以确保正则表达式覆盖您希望密钥扫描搜索的所有模式。
此外,正则表达式生成器使用的模型主要在英文自然语言内容上进行训练。因此,当您使用非英文语言的自然语言提示时,可能会观察到性能差异。
请注意,Copilot 密钥扫描的正则表达式生成器仅适用于创建用于检测结构化模式的正则表达式。