当前位置: 首页 > 科技观察

研究人员:GitHubCopilot生成的程序中有40%存在漏洞

时间:2023-03-17 17:27:53 科技观察

最近,一组研究人员发现,GitHubCopilot的语言模型生成的程序中约有40%存在漏洞,容易受到不法分子的攻击。这种人工智能模型目前在VisualStudioCode中可用,它可以根据上下文直接在编辑器中推荐代码,其目的旨在帮助程序员更快地完成工作。为实现这一目标,Copilot此前接受过公开可用开源代码的培训,目前支持数十种编程语言,包括Go、JavaScript、Python、Ruby和TypeScript。一个由五名研究人员组成的团队为Copilot创建了89个不同的场景,并生成了1,692个程序。通过严格而详细的科学分析,研究人员得出结论:“大约40%的程序包含可能被攻击者利用的错误或设计缺陷。”“由于Copilot使用GitHub上可用的开源代码进行培训,我们推断代码安全质量的变化取决于社区贡献的代码,”研究人员说。也就是说,如果某些错误在开源代码库中更为常见和突出,那么这些错误也将更有可能由Copilot产生。换句话说,高比率是由于AI本身是在易受攻击的代码上训练的。用大家比较容易理解的话来表达,有点像“种瓜得瓜,种豆得豆”。通过这项研究,Copilot最常遇到的错误包括越界写入和读取、跨站点脚本、操作系统命令注入、不正确的输入验证、SQL注入、UAF、路径遍历、不受限制的文件上传、缺少认证等。这项研究表明,虽然Copilot可以在一定程度上帮助开发人员更快地构建代码,但很明显,开发人员在使用此工具时应谨慎。因此,建议开发者在使用过程中引入其他安全工具,减少出现安全漏洞的可能性。