首页 > 其他分享 >GitHub Copilot Autofix 声称可识别并解决代码中的安全问题

GitHub Copilot Autofix 声称可识别并解决代码中的安全问题

时间:2024-08-21 12:57:09浏览次数:8  
标签:Autofix GitHub 修复 开发人员 代码 安全 Copilot

GitHub本周在其GitHub 高级安全 (GHAS)中推出了其Copilot 自动修复高级 AI代码扫描和修复产品。Copilot 自动修复使用 AI 来查找代码中的漏洞,解释其重要性并提供代码建议来修复它们,GitHub 首席安全官兼高级副总裁Mike Hanley在公司博客上的文章中写道。

“代码扫描工具检测漏洞,但它们没有解决根本问题:修复需要安全专业知识和时间,这两种资源都非常宝贵且供应不足,”Hanley 在文章中写道。“换句话说,发现漏洞不是问题。修复它们才是。”

Copilot 自动修复使用能够实时做出决策、计划和适应新信息的 AI 代理。事实上,Hanley 写道,在 3 月份推出的该产品的公开测试版期间,GitHub 了解到开发人员修复代码漏洞的速度比手动修复快三倍以上。

克服长期困扰

开发人员长期以来一直在努力使用应用程序安全测试 (AST)工具来查找应用程序源代码中的安全漏洞,企业战略集团分析师David Vance告诉 The New Stack。传统的 AST 工具以速度慢且容易出现误报而闻名。他说,凭借 GitHub 庞大的开发者社区,将应用程序安全功能引入其平台是顺理成章的事情。

GitHub 的 Copilot 自动修复是下一波应用程序安全创新的最新例子,它还有助于减少开发人员对安全工具的摩擦。

在测试版期间,开发人员在他们的拉取请求中使用 Copilot 自动修复来快速修复新代码中的漏洞,以防止它们合并到生产环境中,从而影响客户。

“通过允许开发人员尽早识别其源代码中的安全漏洞,它极大地减少了在编码完成后修复漏洞所需的时间和精力,”Vance 说。

Hanley 在他的博客文章中写道,开发人员使用 Copilot 自动修复自动提交拉取请求时间警报修复的平均时间为 28 分钟,而手动解决相同警报则需要 1.5 小时。

“可以为数十种代码漏洞类别生成修复,例如 SQL 注入和跨站点脚本,开发人员可以在他们的拉取请求中忽略、编辑或提交这些修复,”他写道。

在这里插入图片描述
事实上,Copilot 自动修复在查找和修复跨站点脚本漏洞方面快了七倍——22 分钟,而手动修复则需要近三个小时。该公司表示,它在查找和修复 SQL 注入漏洞方面快了 12 倍——18 分钟,而手动修复则需要 3.7 小时。

“自从实施 Copilot 自动修复以来,我们观察到与安全相关的代码审查时间减少了 60%,总体开发效率提高了 25%,”Optum 首席工程师 Kevin Cooper 在一份声明中说。

此外,“在安全至关重要的医疗保健领域,它帮助我们快速采取经过验证的行业解决方案。这种主动的安全方法有助于我们预防潜在问题,每月节省数千小时,否则这些时间将用于修复,”Cooper 补充道。

“有趣的分裂”

“保护代码一直存在一个有趣的分裂:负责修复安全漏洞的个人——软件开发人员——通常既缺乏时间,也缺乏完成此任务所需的培训,”Forrester Research 分析师Janet Worthington告诉 The New Stack。

静态应用程序安全测试 (SAST)工具扫描代码库,并根据安全缺陷和编程语言向开发人员提供修复指南。然而,Worthington 说,这些建议可能过于笼统,或者更适合已经熟悉安全术语的安全专业人员。

Hanley 表示,Copilot Autofix 背后利用了CodeQL引擎、GPT-4o以及启发式算法和 GitHub Copilot API 的组合来生成代码建议。

“像 GitHub 的 CodeQL 这样的安全工具正在利用生成式 AI来减轻软件开发人员修复安全缺陷的负担,同时降低风险,”Worthington 说。

借助 GitHub Copilot Autofix 等创新,开发人员会看到安全缺陷以及针对其代码的自动生成的修复,开发人员可以审查并根据需要接受或修改修复。这不仅提高了开发人员的生产力,而且提高了有效解决问题的可能性。

“虽然这一进步标志着代码安全方面的重大进展,但重要的是要认识到生成式 AI 并非完美无缺,”Worthington 说。“任何由自动化工具提供的修复都必须像其他任何代码更改一样经过严格审查,在集成到主分支之前,要进行 SAST、软件成分分析和同行代码审查。”

Copilot Autofix 的工作原理

Hanley 表示,要为现有代码中的漏洞启动 Copilot Autofix,只需在 GHAS 代码扫描警报中的警报上按下“生成修复”按钮。Copilot Autofix 会评估代码和漏洞,并返回解释和代码建议以供审查。然后,开发人员可以按下“使用修复创建 PR”按钮来创建一个新的拉取请求,其中包含修复警报的代码更改。

“Copilot Autofix 负责繁琐的安全任务,确保我们现有的和新的代码始终尽可能安全,”Otto (GmbH & Co KG) 安全社区经理Mario Landgraf在一份声明中说。“漏洞会立即被标记,并会自动推荐代码更改。它可以帮助我们的团队腾出时间,以便他们专注于更具战略意义的举措。”

与此同时,从 9 月开始,GitHub 将在拉取请求中添加 Copilot Autofix,将其添加到为所有开源项目提供的工具列表中。该列表已经包括 GitHub 的代码扫描、秘密扫描、依赖项管理和私有漏洞报告工具,这些工具都是免费提供的。

标签:Autofix,GitHub,修复,开发人员,代码,安全,Copilot
From: https://blog.csdn.net/weixin_41446370/article/details/141382958

相关文章

  • go的github.com/prometheus如何在单测中校验值是否正确
    假如我的指标定义如下:MetricGroupStatGauge=prometheus.NewGaugeVec(prometheus.GaugeOpts{ Name:"test", Help:"test",},[]string{"name","age","sex"})...忽略对指标添加数据的代码那么如何取值进行校验呢?注意:GetMetricWithLabelValues(&......
  • 探索GitHub的无限可能:从注册到Linux环境下的库分支链接
            在这个数字化时代,GitHub已成为开发者们不可或缺的宝藏库。无论你是编程新手还是资深开发者,GitHub都能为你打开一扇通往无限创意与协作的大门。今天,就让我们一起踏上这段探索之旅,从GitHub的注册开始,再到如何在Linux环境中链接库分支并发送,让你轻松掌握GitHub的......
  • GitHub每周最火火火项目(8.12-8.18)
    项目名称:goauthentik/authentik项目介绍:authentik是一个认证中间件,它提供了强大的认证和授权功能,可以满足各种复杂的业务需求。它支持多种认证方式,如用户名/密码、OAuth2、OpenIDConnect等,并可以与各种应用程序和系统集成。authentik还提供了友好的用户界面和管理工......
  • Github 通义千问模型测试
    通义千问大模型安装相关地址https://github.com/QwenLM/Qwen2-Audio/blob/main/README_CN.mdPSC:\Users\supermao>pipinstallmodelscopePSC:\Users\supermao>modelscopedownload--modelqwen/Qwen2-Audio-7B-InstructDownloading:100%|█████████████......
  • 【工具速通】Github+PicGo+VSCode编辑md文档并将插图同步图床教程
    1.配置Github1.1创建新仓库设置为public,否则无法正常访问勾选addareadmefile1.2生成token在个人主页setting里找到developersettings用于picGo访问beta是用不上的,classic就够了填写完note,修改expiration(默认30d,作者改成了无限期)勾选repo......
  • Github使用指南-Q&A-初识Github(一)
    初识Github(一)作者:福州大学我是一个温柔的刀客2024/8/18最近在完成福州大学西二在线的考核任务,刚刚上手github及其不习惯,觉得平时动动手就能完成的东西背后的知识竟是如此复杂,不免感叹为什么github发表博客不能像CSDN一样自由一样轻松哈哈哈,因此在学习......
  • Github Dorisoy网盘项目
    相关github地址https://github.com/dorisoy/Dorisoy.Pan?tab=readme-ov-filemysql8sudorpm-ivhmysql80-community-release-el7-5.noarch.rpmwgethttps://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpmsudoyuminstallmysql-community-server--nogpgc......
  • Hexo-Github Actions 自动部署方案
    前阵子因为很久没有捡起来写博客,导致电脑的node环境各种版本问题,本地压根运行不起来,所以折腾了一下Hugo方案,感觉Hugo相较于Hexo还是有很多优势的,让我印象比较深的是:整个环境较为独立,不再像Hexo需要依赖电脑Node版本,各种插件需要独立版本,随着Hexo或者Node版本升......
  • 零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
    前言本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是写死的数据毕竟有限,应用的内容单一无法紧跟时事热点,每次打开一个样,自然就没有留存。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?既要又要,......
  • linux创建github仓库并用git上传本地仓库到github仓库
    1.创建github仓库(1)点击右上角的头像(2)点击Yourrepositories(3)点击New(4)填写好Owner和Repositoryname点击AddaREADMEfile选择license,再点击Createrepository2.用git上传本地仓库到github仓库git工作流:(1)点击Code再点击Local查看github仓库地址(2)将git......