跳至主要内容

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

了解正则表达式生成器在帮助您定义自定义模式以扩展秘密扫描功能方面的能力和局限性。

谁可以使用此功能?

Copilot 秘密扫描适用于以下代码库

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

秘密扫描会扫描代码库中来自我们合作伙伴计划的预定义秘密集,以及用户定义的自定义模式。自定义模式格式化为正则表达式。

正则表达式对于人们来说可能很难编写。正则表达式生成器使您可以定义自定义模式,而无需了解正则表达式。在现有的自定义模式页面中,您可以启动生成式 AI 体验,在其中输入您想要检测的模式的文本描述,包括应检测的可选示例字符串,并获得匹配的正则表达式。

输入处理

用户输入他们想要检测的内容的文本描述,以及可选的应检测的示例字符串。

响应生成和输出格式

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

模型最多返回三个正则表达式供您审查。您可以单击正则表达式以获取 AI 生成的正则表达式的纯文本描述。

有些结果可能非常相似,有些结果可能找不到模式旨在检测的每个秘密实例。正则表达式生成器也可能产生无效或不合适的

当您单击正则表达式上的**使用结果**时,表达式和任何输入的示例将被复制到主要的自定义模式表单。在那里,您可以对模式进行试运行,以查看它在您的代码库或组织中的性能。

改进使用 AI 生成正则表达式的性能

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

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

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

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

根据您的输入描述和示例等因素,使用正则表达式生成器时,您可能会遇到不同级别的性能。您需要尽可能具体地描述,并提供与您的模式匹配的不同类型的标记示例,以确保正则表达式包含您希望秘密扫描搜索的所有模式。

此外,正则表达式生成器使用的模型已在主要以英语编写的自然语言内容上进行过训练。因此,当您向生成器提供非英语的自然语言输入提示时,您可能会注意到不同的性能。

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

进一步阅读