Skip to main content

关于自定义模式的正则表达式生成器

可以使用 正则表达式生成器 为每个模式生成一个或多个正则表达式,从而定义自己的自定义模式,扩展 secret scanning 的功能。

谁可以使用此功能?

合作伙伴的机密扫描警报 在 GitHub.com 上的公共存储库和公共 npm 包中自动运行,以向服务提供商通知泄漏的机密情况。

用户拥有的公共存储库可免费使用用户的机密扫描警报。 使用 GitHub Enterprise Cloud 且拥有 GitHub Advanced Security 许可证的组织也可以在其专用存储库和内部存储库上启用 用户的机密扫描警报。 此外,用户的机密扫描警报可(在用户自有的存储库中为 beta 版本)用于具有 Enterprise Managed Users的 GitHub Enterprise Cloud。 有关详细信息,请参阅 “关于机密扫描”和“关于 GitHub 高级安全性”。

有关如何免费试用 GitHub Advanced Security 的信息,请参阅“安装 GitHub Advanced Security 试用版”。

注意:**** 正则表达式生成器 为 beta 版。 功能和文档可能会有变动。

关于 正则表达式生成器

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

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

输入处理

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

响应生成和输出格式

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

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

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

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

提高 正则表达式生成器 的性能

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

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

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

提供反馈

正则表达式生成器 目前为 beta 版。 如果在使用 正则表达式生成器 时遇到任何问题或限制,建议通过 UI 中生成器顶部的“提供反馈”**** 按钮提供反馈。 这可以帮助开发人员改进该工具并解决任何问题或限制。

正则表达式生成器 的限制

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

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

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

后续步骤

其他阅读材料