写点什么

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

评论

发布
暂无评论

《Operating System Concepts》阅读笔记:p821-p897

codists

操作系统

算力重塑农业科研生态——华中农业大学高性能计算平台样板点现场会成功举办

极客天地

YashanDB|主备延迟怎么排查?这份实用指南收藏好!

数据库砖家

数据库

YashanDB|表数据不多,LOB 段却疯狂膨胀?小心踩到这颗“隐形炸弹”!

数据库砖家

数据库

YashanDB|执行 SQL 报 YAS-04401?小心 BLOB 字段踩坑!

数据库砖家

数据库

ElatoAI:开源 ESP32 AI 语音 AI 玩具方案;凯叔推出 AI 故事玩偶「鸡飞飞」丨日报

声网

从架构原理到落地实践: Apache SeaTunnel×Cloudberry数据集成全解读

白鲸开源

大数据 数据同步 数据集成 Apache SeaTunnel

YashanDB|修改字段长度后接口报 YAS-04007?背后真相是这个!

数据库砖家

数据库

实时分析利器|全面解读 YashanDB 列式存储引擎的核心技术

数据库砖家

数据库

如何在 Unity3D 导入 Spine 动画

北桥苏

Unity3D Spine

「数」论|工业大模型黄金三角及新一代工业数据底座

麦杰科技

技术干货|YashanDB + Zabbix 打造可视化监控平台,实操教程来啦!

数据库砖家

数据库

基于DeepSeek的故障定位大揭秘

乘云数字DataBuff

可观测性 故障定位 运维监控 大模型 DeepSeek

SeaTunnel 2.3.9同步Oracle数据至Doris出现乱码?别慌,这么做

白鲸开源

大数据 数据同步 数据集成 Apache SeaTunnel

「器」感:锻造AI时代工业数据底座,激活设备智慧生命力

麦杰科技

YashanDB|磁盘被 archivelog 写满?教你快速排查与应对!

数据库砖家

数据库

为了管理我那混乱的提示词,我开发了梦精灵提示词管理器,一个浏览器插件

龙正哲

一文搞懂SaaS架构建设流程:业务战略设计、架构蓝图设计、领域系统架构设计、架构治理与实施

量贩潮汐·WholesaleTide

架构 SaaS

用远程代理模式轻松实现远程服务调用,打开编程新大门

不在线第一只蜗牛

远程代理

C++部署的性能优化方法

地平线开发者

自动驾驶; 算法工具链 地平线征程6

HarmonyOS运动开发:如何监听用户运动步数数据

王二蛋和他的张大花

鸿蒙 运动健康

AI 应用走向成功之路

柯杰

agent

YashanDB自研的力量|为共享集群量身打造的存储服务 YFS

数据库砖家

数据库

YashanDB 知识库|DBeaver 连接不上数据库?一招教你排查!

数据库砖家

数据库

iVX 组件化赋能后端开发新生态

代码制造者

组件化 后端开发 图形化编排

藏数于仓 聚势东方 电科金仓赋能第八届数字中国建设峰会

科技热闻

人工智能工程师(中级)培训开课通知

雅菲奥朗

人工智能 AI

「器」感:锻造AI时代工业数据底座,激活设备智慧生命力

麦杰研究院

工业数据

YashanDB|遇到 YAS-02025 报错?教你快速定位与处理!

数据库砖家

数据库

征程 6 | 逆向自证hbm与bc一致性

地平线开发者

自动驾驶; 算法工具链 地平线征程6

我的赛博朋克家族成员

玄兴梦影

键盘 NAS 电子产品 赛博朋克 设备

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