GitHub Copilot 被爆四成代码存安全漏洞
共 1642字,需浏览 4分钟
·
2021-09-06 20:26
近日研究人员发现,GitHub Copilot 提供的代码中有接近 40% 存在 bug。研究人员创建了 89 个测试场景以考查其代码质量,编写出了 1600 多个程序,经过全面审查,证实了 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