写点什么

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

评论

发布
暂无评论

群聊记录太多怎么办? 用 TRAE + Chatlog MCP 实现微信群聊记录总结

火山引擎开发者社区

MCP Trae

JetBrains TRAE 插件上线 cue 能力,立即体验

火山引擎开发者社区

Trae

六个观点剖析FXTM富拓是不是一个合格卓越的经纪商

极客天地

Microsoft SQL Server 2022 RTM GDR & CU20 (2025 年 7 月更新)

sysin

SQL Server

Proxmox Backup Server 4.0 Beta - 开源企业级备份解决方案

sysin

Proxmox

微店商品列表API响应数据解析

tbapi

微店API 微店商品数据采集 微店商品列表接口

我的代码出现幻觉?说好的a = 1; x = b,怎么成了x = b; a = 1?

poemyang

并发编程 多线程 有序性 Java并发编程

Metasploit Pro 4.22.8-2025063001 (Linux, Windows) - 专业渗透测试框架

sysin

Metasploit

Jarvis Agent高级主题

SkyFire

agent LLM Jarvis

Proxmox VE 9.0 Beta - 开源虚拟化管理平台

sysin

proxmoxve

Jarvis Agent 使用指南

SkyFire

agent LLM Jarvis

开源能源管理系统:数字化时代能源安全与效能提升的核心引擎

开源能源管理系统

开源 能源管理系统

聚力创新 智启未来:第四届中国PMO&PM大会,引领项目管理新航向

新消费日报

灵宝CASBOT亮相WAIC 2025,双新品发布诠释“人机共生”愿景

极客天地

年损耗超2300万!制造业工具管理困局背后的RFID破局之道

斯科信息

RFID解决方案 斯科信息 RFID技术

Jarvis Agent快速开始

SkyFire

agent LLM

建筑矿山设备工厂南京厂区能源管理升级:MyEMS 开源系统的实践与成效

开源能源管理系统

开源 智慧矿山 能源管理系统

使用Amazon Q和MCP优化深度学习环境

qife122

深度学习 MCP

Jarvis Agent 核心概念与系统架构

SkyFire

agent LLM Jarvis

Playwright | 测试框架集成​指南:参数化测试 + 多浏览器并行执行

测试人

软件测试

保险科技行业需要用到堡垒机吗?哪些情况需要?

行云管家

网络安全 数据安全 堡垒机

Proxmox Mail Gateway 8.2 - 全面的开源邮件安全平台

sysin

Proxmox

SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具

sysin

SSMS

TRAE + Milvus MCP,现在用自然语言就能搞定向量数据库部署了!

火山引擎开发者社区

字节跳动 Trae

Microsoft Exchange Server 2019 Cumulative Update 15

sysin

Microsoft Exchange

AI如何重塑芯片设计未来

qife122

半导体 芯片设计

火山引擎DataAgent:AI完成从“数据洞察”到“自主行动”质变

火山引擎开发者社区

AI 火山引擎

Microsoft Exchange Server 2016 Cumulative Update 23

sysin

Microsoft Exchange

Jarvis Agent功能扩展

SkyFire

agent LLM Jarvis

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