GitHub Copilot代码安全性研究:开发者需对四成错误率保持清醒认知

1.png

(图自:GitHub)

据悉,GitHub 为这款 AI 编程辅助工具采用了来自 OpenAI 的 Codex 高级 AI 系统。特点是经过了 GPT-3 机器语言模型的生成式预训练,能够借助深度学习来生成类人文本。

基于 GitHub 平台上高质量代码展开的训练,结合上下文和其它因素,它能够为开发者提供良好的单行代码建议、甚至帮助补全整个功能模块。

对于 Visual Studio 开发者来说,你也可以将它视作一个超级增强版本的 IntelliCode 编程辅助工具。GitHub 首席执行官在 6 月 29 日的一篇博客文章中称:

OpenAI Codex 对人们如何使用代码有着广泛的了解,且在代码生成方面较 GPT-3 强大得多,部分原因是其在包含大量公共源码的数据集上展开了训练。

GitHub Copilot 适用于多种语言框架,但现阶段的技术预览版本更侧重于 Python、JavaScript、TypeScript、Ruby 和 Go 语言。

2.PNG

一种 Copilot 评估方法

然而 Copilot 很快引发了多方争议,尤其涉及代码质量、法律与道德考量、替换人类开发者的可能性、以及引入安全漏洞的可能性。

在一项题为《GitHub Copilot 辅助编程的网络安全实证评估》的学术研究论文中,研究团队就对 Copilot 的安全性展开了重点考量。

这项研究旨在描述 Copilot 生成不安全代码的趋势,为用户防范安全问题所需的审查量提供了必要的衡量标准。

通过严谨且详实的科学分析,最终得出的结论是 —— 在测试了 89 个不同的代码生成场景中产出的 1692 款程序后,其发现 40% 的程度都存在安全漏洞。

这些场景与前 25 个高风险常见弱点枚举(CWE)子集相关,这是一个基于社区提交的软硬件缺陷类型列表,并由非营利性安全组织 MITRE 负责管理。

3.PNG

文本-代码转换

具体说来是,这项研究从三个维度展开了考量,分别是缺陷的多样性、prompt 的多样性、以及领域的多样性。

总体而言,头部 39.33% 和总体 40.48% 的项目易受攻击。从安全角度来看,Copilot 在测试场景中的表现也有好有坏。

对于新手来说,Copilot 借鉴的高质量代码还是相当值得推荐的。但若开源存储库中的某些错误相当明显,Copilot 也会更加频繁地重现。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/138368.html

(0)
上一篇 2021年9月2日
下一篇 2021年9月2日

相关推荐

发表回复

登录后才能评论