Skip to main content

负责任使用 AI 以定义正则表达式

了解 正则表达式生成器 的功能和限制,以帮助定义自定义模式来扩展 secret scanning 的功能。

谁可以使用此功能?

Secret scanning 可用于以下存储库:

  • 公共存储库(免费)
  • 使用启用了 GitHub Advanced Security 的 GitHub Enterprise Cloud 的组织中的专用存储库和内部存储库
  • GitHub Enterprise Cloud 的用户拥有的存储库,包含 Enterprise Managed Users

关于如何使用 AI 生成正则表达式

Secret scanning 扫描存储库以查找合作伙伴计划的一组预定义机密,以及用户定义的自定义模式。 自定义模式的格式为正则表达式。

正则表达式对于编写人员来说很有挑战性。 正则表达式生成器 使你能够在不了解正则表达式的情况下定义自定义模式。 在现有的自定义模式页中,可以启动生成式 AI 体验,输入一个文本描述,说明您想要检测的模式,包括可选的应该被检测到的示例字符串,并获得匹配的正则表达式作为返回结果。

输入处理

用户输入要检测的内容的文本说明,以及应检测到的可选示例字符串。

响应生成和输出格式

正则表达式生成器 使用 GPT-3.5-Turbo 和 GitHub Copilot API 生成与输入匹配的正则表达式。

模型最多返回三个正则表达式供查看。 可以单击正则表达式以获取 AI 生成的正则表达式简单语言说明。

某些结果可能非常相似,某些结果可能找不到模式要检测的每个机密实例。 正则表达式生成器也可能生成无效或不适当的结果。

在正则表达式上单击“使用结果”**** 时,输入的表达式和任何示例都将复制到主自定义模式表单。 在那里,可以执行模式的试运行,了解其在存储库或组织中的表现。有关如何为存储库或组织定义自定义模式的详细信息,请参阅“为机密扫描定义自定义模式”。

提升使用 AI 生成正则表达式时的性能

为了提高性能并解决 正则表达式生成器 的一些限制,可以采用各种措施。 有关 正则表达式生成器 限制的详细信息,请参阅“使用 AI 生成正则表达式的限制”。

将 正则表达式生成器 作为工具而不是替代品使用

虽然 正则表达式生成器 是无需自行编写正则表达式即可创建自定义模式的强大工具,但请务必将其作为工具使用,而不是代替手动输入。 应通过在整个组织或存储库中执行试运行来仔细验证结果的性能。 最好在代表组织中存储库的一个(或多个)存储库上运行该模式。 在某些情况下,修改生成的正则表达式可能会有所帮助,可以更充分地满足你的需求。 你仍对决定使用的任何自定义模式承担最终责任。

使用 AI 生成正则表达式的限制

根据输入说明和示例等因素,在使用 正则表达式生成器 时,可能会体验不同级别的性能。 描述需要尽可能具体,并提供与模式匹配的不同类型的令牌示例,以确保正则表达式包含你希望 secret scanning 搜索的所有模式。

此外,正则表达式生成器 使用的模型已针对主要以英语编写的自然语言内容进行了训练。 因此,在为生成器提供英语以外的自然语言输入提示时,你可能会发现性能有所不同。

请注意,正则表达式生成器 仅适用于创建正则表达式来检测结构化模式。

后续步骤

其他阅读材料