50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:006061

评论

发布
暂无评论

7大特征交互模型,最好的深度学习推荐算法总结

博文视点Broadview

身价百亿的Zendesk:创业,从一个小目标开始

ToB行业头条

轻量化服务,大道至简,触手可及

鼎道智联

微服务 云服务 PWA 轻应用 原子化服务

沟通不受限,审批不堆积 深大智能通过华为云WeLink+OA实现办公提速

神奇视野

演进式架构从不缺设计方法,最大的阻力在于「人」

万事ONES

企业搭建知识库的重要性,你了解多少?

Geek_da0866

Java:在Word文档中添加或删除页眉页脚

Geek_249eec

Java word 页眉页脚

OceanBase CEO杨冰:小就是大,构建企业核心竞争力

OceanBase 数据库

开源一夏 | Java 覆盖jar包内的方法

六月的雨在InfoQ

开源 钉钉 Java core 8月月更

华为云主机安全助力企业种出“金葫芦”

IT资讯搬运工

沉浸感拉满!这样的电影杀约起来

科技云未来

华为云安全云脑,让企业云化运营更放心

IT资讯搬运工

2022各互联网大厂面经及总结+大厂Java岗面试真题解析(进大厂必看攻略)

程序知音

Java 程序员 Java 面试 后端技术 八股文

观测云产品更新|观测云计费更新;新增场景仪表板/笔记/查看器的查看权限;优化监控器和事件等

观测云

高僧斗法(博弈-Nim博弈)

Five

算法竞赛 算法题 8月月更

万物皆可集成系列:低代码释放用友深度价值(1)—系统对接集成

葡萄城技术团队

3D可视化在智慧园区的应用

3DCAT实时渲染

​五大不良 coding 习惯,你占了几样?

SEAL安全

Code 代码规范 CODING

定制开发APP——怎样吸引更多用户?

开源直播系统源码

软件开发 直播系统源码 定制开发 app定制开发

创建知识库使您的客户能够体验自助服务

Geek_da0866

3000人无缝连接,WeLink助力华荣科技全场景数字化办公

神奇视野

2022 全球 AI 模型周报

Zilliz

深度学习 计算机视觉 Transformer 多模态

专访通过 OBCP V3 首位考生:V3 让知识更加结构化、体系化

OceanBase 数据库

Bundle-less 的思考和实践分享

字节跳动终端技术

bundle 字节跳动 前端 构建工具 拆包

基于 Impala 的高性能数仓建设实践之虚拟数仓

网易数帆

大数据 impala 数仓架构

如何用紧凑型语音表征打造高性能语音合成系统

小红书技术REDtech

深度学习 语音合成 自编码器 表征学习 语音表征

leetcode 225. Implement Stack using Queues 用队列实现栈(简单)

okokabcd

LeetCode 数据结构与算法

软件测试100天上岸3-测试有哪些最高原则

和牛

测试 8月月更

金融和科创深化合作,常熟农商银行与博云签署战略合作协议

BoCloud博云

云计算 容器 云原生

在Rust和C之间传递字符串,有 7 种方法!

非凸科技

c rust

AIRIOT答疑第9期|AIRIOT平台服务于哪些客户?

AIRIOT

低代码 物联网 低代码,项目开发

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