GitHub Copilot 加入基于 AI 的代码密码扫描功能

搜索
AI-TNT
正文
资源拓展
GitHub Copilot 加入基于 AI 的代码密码扫描功能
2025-04-13 13:36

GitHub 在其 Copilot 功能中引入了一项基于 AI 的密码扫描功能,该功能已经整合到 GitHub Secret Protection 中。


通过上下文分析,这一新功能显著提升了检测代码泄露密码的能力。与传统的正则表达式方法相比,这种方法可以识别多样化的密码结构,并减少误报数量。


GitHub 的一篇博文写道,该系统现在会分析潜在的密码使用和存储位置,以减少无关警报,并提供更准确的通知,这对保证代码库的安全来说至关重要。


Sensis 高级软件工程师 Sorin Moga 在领英上评论称,这标志着平台安全进入了一个新时代,AI 不仅可以协助开发,还可以保障代码的完整性。


在这项功能的私密预览阶段,一个关键性挑战是其对非传统文件类型和结构的处理存在困难,这突显了仅依赖大语言模型初始训练数据的局限性。


GitHub 最初采用的方法是利用 GPT-3.5-Turbo 的“少量样本提示”(few-shot prompting)技术,为模型提供示例来指导检测。


为了解决这些问题,GitHub 大幅增强了其离线评估框架,通过加入私有预览参与者的反馈来丰富测试用例,


并利用 GitHub 代码安全团队的评估流程构建更强大的数据收集管道。他们甚至使用了 GPT-4,根据开源代码库中现有的密码扫描警报生成新的测试用例。


这种改进的评估方法能够更好地衡量 精确率(降低误报)和 召回率(减少漏报)。


GitHub 尝试了多种技术来提高检测质量,包括尝试不同的 LLM 模型(例如将 GPT-4 作为验证扫描器)、重复提示(“投票”)和多样化的提示策略。


最终,他们与微软合作,采用了微软的 MetaReflection 技术,这是一种离线强化学习形式,


结合了思维链(Chain of Thought,CoT)和少量样本提示来提高准确率。


正如 GitHub 的博文所述:


我们最终决定采用这些技术的组合,并正式公开预览 Copilot 的密码扫描功能,向所有 GitHub Secret Protection 的用户全面开放。


为了进一步验证这些改进,并为全面推出做好准备,GitHub 实现了一个“镜像测试”框架。


该框架涉及在公开预览的一个子集代码库上测试提示和过滤更改。


通过使用最新的改进来重新扫描这些代码库,GitHub 可以在不影响用户的情况下评估对实际警报量和误报解决的影响。

测试结果表明,检测量和误报量均显著减少,对实际的密码发现影响微乎其微。在某些情况下,误报量甚至减少了 94%。博文总结道:


对比显示,在私有和公开预览阶段所做的所有修改都提升了精确度,而且没有降低召回率。


我们已准备好为所有 GitHub Secret Protection 用户提供一个可靠且高效的密码检测机制。


Copilot 团队在开发过程中积累了宝贵的经验教训,包括重视准确性、根据用户反馈采用多样化的测试用例、有效管理资源以及促进团队合作。


这些经验教训也被应用到了 Copilot Autofix 项目中。自全面推出以来,Copilot 的密码扫描功能已经成为安全配置的一部分,用户可以决定扫描哪些代码库。


查看英文原文:


https://www.infoq.com/news/2025/03/github-ai-copilot-secretscanning/


文章来自于微信公众号 “InfoQ”,作者 :Steef-Jan Wiggers


GitHub Copilot 加入基于 AI 的代码密码扫描功能

1
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0

IOS下载
安卓下载
微信群
沪ICP备2023015588号