近日研究人员发现,GitHub Copilot 提供的代码中有接近40%存在 bug。研究人员创建了 89 个测试场景以考查其代码质量,编写出了 1600 多个程序,经过全面审查,证实了 GitHub Copilot 自动生成的代码存在安全漏洞。

(GitHub Copilot工作原理)来源于 GitHub 官网

GitHub Copilot是GitHub和OpenAI 联手发布了人工智能代码工具,Copilot是基于OpenAI 全新的Codex算法,Codex是AI语言模型GPT-3的一种延伸版本,但是在代码生成方面比GPT-3强大得多,它可以根据当前代码中上下文语义,自动生成代码或建议供程序员选择,而且该模型可以不断地学习,从而变得更智能化。

这次GitHub Copilot存在安全漏洞问题,首先出现在名为《An Empirical Cybersecurity Evaluation of GitHub Copilot’s Code Contributions》学术论文上,该论文作者考虑到 Copilot 处理的大量未经审查的代码,语言模型肯定会从一些错误代码中学习,他们从而引发了对 Copilot 代码安全性的担忧。

论文研究人员于是从三个维度测试Copilot代码安全性:

  • 弱点的多样性,在可能存在此类漏洞的情况下,它倾向于生成易受 CWE 前 25 名中每个弱点影响的代码
  • prompt 的多样性,它对特定场景的上下文的响应(SQL 注入)
  • 领域的多样性,它对领域的反应,即编程语言/范式

研究人员总共为Copilot生成了89个不同的场景(类似于高风险常见弱点枚举(CWE)),生成了1692个程序,发现40%程序存在安全漏洞。

实际上早在上个月,一篇题为“《Evaluating Large Language Models Trained on Code 》的论文也研究Copilot安全性等问题。该论文研究表明:“基于GPT 语言模型Codex虽然也能生成有效的解决方案,但是不能完全按照用户意图生成对应代码,并且有可能会被滥用。”

对于此次GitHub Copilot安全漏洞问题,研究人员表示“尽管Copilot能快速生成大量代码,建议使用GitHub Copilot的开发人员采取相关措施,最大程度减少代码中出现安全漏洞的风险。”

OpenAI公司上个月对基于GPT 语言模型Codex算法进行了改进,并在测试版本中展示了Codex 通过输入自然语言命令到控制台,直接生成代码的能力,OpenAI公司表示,之前的Codex版本可以解决27%的基准问题,而最新模型算法可以解决37%,却没有提到任何关于避免安全漏洞问题。

对于此次GitHub Copilot 存在安全漏洞事件,你怎么看?欢迎留言评论。

参考链接:https://visualstudiomagazine.com/articles/2021/08/26/github-copilot-security.aspx

GitHub Copilot 被爆存在安全漏洞,涉及四成代码相关推荐

  1. 翻译: Github Copilot 可以创作艺术吗?

    GitHub Copilot 是按照其前身自然语言语义代码搜索的思路设计的. 2021 年 6 月 29 日,GitHub 推出了他们的"AI Pair Programmer"Gi ...

  2. 探索学习和入门使用GitHub Copilot:提升代码开发的新利器

    目录 引言 1. 什么是GitHub Copilot? 2. 入门使用GitHub Copilot 3. GitHub Copilot的基础知识 4. GitHub Copilot的应用场景 结论 在 ...

  3. 【AIGC使用教程】GitHub Copilot 免费注册及在 VS Code 中的安装使用

    欢迎关注[AIGC使用教程] 专栏 [AIGC使用教程]SciSpace 论文阅读神器 [AIGC使用教程]Microsoft Edge/Bing Chat 注册使用完全指南 [AIGC使用教程]Gi ...

  4. 在IDEA上使用GitHub Copilot,同样的样例,你会怎么实现?

    GitHub Copilot为数十种语言和各种框架提供了代码建议,但它特别适用于Python,JavaScript,TypeScript,Ruby,Java和Go. GitHub Copilot 将尝 ...

  5. 用GitHub Copilot 生成的项目中,40%会引入漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全 ...

  6. GitHub 的AI代码生成神器,其四成代码有漏洞,你还敢用吗

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | 闫园园 日前,研究人员发现,GitHub Copilot ...

  7. AI之Tool:GitHub Copilot(一款人工智能编程小助手—猜你想写的代码)的简介、安装、使用方法之详细攻略

    AI之Tool:GitHub Copilot(一款人工智能编程小助手-猜你想写的代码)的简介.安装.使用方法之详细攻略 目录 Copilot人工智能工具的简介 1.GitHub Copilot的安全性 ...

  8. AI编程 亚马逊 CodeWhisperer VS GitHub Copilot

    在AI 编程里,各大公司都推出自己AI 编程工具,亚马逊 CodeWhisperer  . GitHub Copilot等,由机器学习(ML)驱动的服务.通过开发者的注释和代码来生成代码建议,帮助开发 ...

  9. 开发者周刊:英特尔再爆重大芯片漏洞;微软开源Bing搜索关键算法;Facebook联合创始人呼吁拆分Facebook

    开发者周刊:只为传递"有趣/有用"的开发者内容,点击订阅! 本周热门项目 GitHub推出软件包托管服务Package Registry 本周,GitHub 再下一城,推出自己的软 ...

最新文章

  1. c语言六套,C语言编程笔试题(第六套)
  2. “数据驱动”时代来临,阿里云数据中台如何赋能金融业?(附重磅报告下载)
  3. Python学习笔记:闭包与作用域
  4. Java 学习笔记之 Synchronized锁重入
  5. Python: 序列list:保持元素顺序同时消除重复值
  6. XTU 2016上学期《程序设计实践》练习-1 题解
  7. 估计理论(2):Cramer-Rao下限
  8. vscode为python文件添加模板
  9. DM6437(DSP)图像处理常用操作源码
  10. 十本经典JavaScript书籍
  11. Qt5 程序封包exe
  12. MAC里“微软雅黑”字体标准体和粗体无法同时使用问题的解决方法
  13. 笔记本电脑充电时会产生强电磁场不宜使用
  14. oracle 获取当月的1号_Oracle 获取当前年、月、日
  15. 去哪儿2018春季校园招聘软件开发工程师笔试经验
  16. Android——高德地图地点搜索框
  17. linux c socket编程学习(1)(一些基本概念及基本的函数使用)
  18. GeoGebra笔记3:函数绘图区基本设置(x,y轴范围……)
  19. 智能蓝牙血压计方案设计与开发
  20. JVM(Hotspot)

热门文章

  1. 卡迈克尔(Carmichael)函数
  2. Unity3D的Rigidbody类中useGravity、isKinematic和velocity的使用注解
  3. PHP empty()
  4. Python笔记_20_魔术方法
  5. Android xUtils3使用
  6. Vue笔记_01双向数据绑定原理
  7. 实践是检验真理的唯一标准!!LoopBack 设置案例!
  8. 【JavaSE】封装与继承,访问限定符的总结
  9. 一个事物两个方面的对比举例_对比属于修辞手法吗
  10. 键入一个整数,判断是否是质数(两种方法)