GitHub Copilot存在安全漏洞
最近,研究者们发现,GitHubCopilot提供的代码中有近40%存在bug。这组科学家创建了89个测试场景来检验代码质量,编写了超过1600个程序,通过全面检查,确认了GitHubCopilot自动生成的代码存在安全漏洞。
GitHub Copilot存在安全漏洞
GitHubCopilot是GitHub和OpenAI联合推出的人工智能代码工具,Copilot基于OpenAI的全新Codex算法,这是AI语言模型GPT-3的一个扩展版本,但与GPT-3相比,Copilot强大得多,Codex可以根据当前代码中的上下文语义,自动生成代码或建议给程序员进行选择,并且模型还可以不断学习,从而变得更加智能。
这个GitHubCopilot有安全漏洞问题,它首先出现在名为“AnEmpiricalCybersecurityEvaluationofGitHubCopilot’sCodeContributions”一文中,考虑到Copilot处理大量未经审查的代码,语言模型肯定会从某些错误代码中吸取教训,从而引发人们对Copilot代码安全性的担忧。
这篇论文研究者从三个维度来测试Copilot代码的安全性:
如果存在这类漏洞的多样性,这种弱点往往会产生对CWE前25名中每一个弱点都有影响的代码。
prompt的多样性,对特定场景的上下文作出反应(SQL注入)
这是一种领域的多样性,即编程语言/范例。
研究者为Copilot总共生成了89种不同的场景(与高风险常见弱点枚举(CWE)相似),产生1692个程序,发现40%的程序有安全漏洞。
山东济南汉码未来还了解到:早在上个月,一篇名为“EvaluatingLargeLanguageModelsTrainedonCode”的论文也对诸如Copilot安全性等问题进行了研究。本文研究表明:“基于GPT语言模型的Codex也可以产生有效的解决方案,但不能完全按照用户的意图生成相应的代码,而且很有可能被滥用。”
关于这个GitHubCopilot的安全漏洞,研究者们说“尽管Copilot可以快速生成大量代码,建议GitHubCopilot的开发者们可以采取一些相关措施,以最大限度地降低代码中的安全漏洞。
OpenAI公司上个月改进了Codex算法,其基于GPT语言模型的Codex算法,并在测试版中展示了Codex通过输入自然语言命令直接产生代码的能力,OpenAI公司称,Codex以前的版本能够解决27%的基准问题,而最新的模型算法可以解决37%的问题。