AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

  • 2025-04-15
    北京
  • 本文字数:1175 字

    阅读完需:约 4 分钟

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

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/

2025-04-15 08:005811

评论

发布
暂无评论

看一遍就理解:MVCC原理详解

Java MySQL 架构 面试 后端

Superior Scheduler:带你了解FusionInsight MRS的超级调度器

华为云开发者联盟

大数据 hadoop 开源 调度器 FusionInsight MRS

腾讯面试聊到的几种存储虚拟化

hanaper

211本+985硕+计算机专业投面百度,坐等一周迎来三面,已拿offer

Java 程序员 架构 编程语言

模块八:设计消息队列存储消息数据的MYSQL表格

kk

架构训练营

操作系统虚拟化VMware, Citrix, Hyper-v比较

hanaper

上汽零束汽车智能应用创意大赛,初赛作品评选将启动!

SOA开发者平台

上汽零束汽车智能应用创意大赛,初赛作品评选将启动!

SOA开发者

从坐席到外呼,明道云与品聘云呼叫对接示例

明道云

“云智一体”系列白皮书智能视频篇来了!

百度大脑

人工智能

【案例】云链智运携手百度OCR,实现货运物流智能化升级

百度大脑

人工智能

如何绘制一个仪表盘

Changing Lin

android 10月月更

厂长来了 | 从个人英雄到软件工程,我们经历了什么

万事ONES

项目管理 研发管理 SaaS

架构实战营 毕业设计项目

蔸蔸

第 13 章 -《Linux 一学就会》- Linux文件系统结构

学神来啦

Linux 运维 linux学习

什么是激光雷达的“发动机技术”?一文讲透行业技术壁垒(二)

SOA开发者

汽车域控制器(上):动力域控制器、底盘域控制器、智能座舱域控制器

SOA开发者

深度解读 | 《2021年中国企业级 SaaS 行业研究报告》趋势剖析

万事ONES

SaaS 研发管理工具 ONES

想了解Xtrabackup备份原理和常见问题分析,看这篇就够了

华为云开发者联盟

MySQL 数据库 华为云 备份 XtraBackup

不可思议!阿里大佬熬夜9天整理出749的HotSpot VM源码笔记

Java 架构 面试 程序人生 编程语言

聊一聊物联网嵌入式芯片的内容结构

华为云开发者联盟

物联网 内存 存储 嵌入式 芯片

汽车域控制器分类(下):自动驾驶域控制器、车身域控制器

SOA开发者

DBeaver

soap said

开发工具 数据库客户端

盘点后端领域的点点滴滴 | 引航计划|后端

xcbeyond

后端 引航计划 内容合集 技术专题合集

OBServer启动恢复解析

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 数据库大赛

什么是激光雷达的“发动机技术”?一文讲透行业技术壁垒 (一)

SOA开发者

华为云GaussDB(for openGauss) 同城双集群高可用方案正式发布

华为云数据库小助手

GaussDB GaussDB(for openGauss) 华为云数据库

语音翻译器 Tech Support

凌天一击

在GitHub标星86k+霸榜的某宝Redis核心原理深度实践PDF限时开源!

Java 架构 面试 程序人生 编程语言

一个Camel Multicast组件聚合策略问题的解决过程

华为云开发者联盟

消息 Apache Camel Multicast 组件 Multicast 子路径

如何绕过WAF和本地防火墙双重防护?

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

GitHub Copilot 加入基于 AI 的代码密码扫描功能_AI&大模型_Steef-Jan Wiggers_InfoQ精选文章