用GitHub Copilot 生成的项目中,40%会引入漏洞
编译:代码卫士
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
Copilot 人工智能模型旨在通过在编辑器中推荐代码行提高程序员的工作效率,为此该模型就公开的开源代码接受了训练,它支持数十种编程语言如 Go、JavaScript、Python、Ruby 和 TypeScript。
五名研究人员分析 Copilot 生成的代码后指出,由于该 AI 训练的是易受攻击的代码,因此较高比例的所生成代码易受攻击。研究人员认为,“然而,代码中通常包含漏洞,因此鉴于 Copilot 已处理大量未审查代码,它肯定会从可利用的有漏洞的 bug 中学习,这就引起人们对 Copilot 代码贡献安全性的担心。“
研究人员基于多种弱点、提示和域名分析了 Copilot的表现。他们创建了89种不同的场景,共生成1692个程序,其中约40%易受攻击。
研究人员对 Copilot 生成的代码同时进行了手动和自动化分析,并通过 MITRE 公司的前25个 CWE 漏洞列表评估所生成的代码。其中最常遇到的漏洞类型包括界外写、跨站点脚本、界外读、OS 命令注入、输入验证不当、SQL 注入、释放后使用、路径遍历、不受限制的文件上传、认证缺失等。
研究人员指出,“随着 Copilot 训练GitHub 上的开源代码,从理论上讲易变的安全质量源自社区提供的代码性质。也就是说,开源仓库中更容易被看见的某些bug 更常被 Copilot 复现。“
研究人员认为,虽然毋庸置疑 Copilot 有助于开发人员更快地构建代码,但开发人员也应该在使用该工具时保持警惕。他们还建议使用安全意识增强工具来降低引入安全漏洞的风险。
【BCS2021】软件供应链完整演讲回看
限时赠书|《软件供应链安全—源代码缺陷实例剖析》新书上市
GitHub 再次呼吁用户采取双因素认证机制
谷歌开源Allstar 项目,保护GitHub 仓库安全
Realtek WiFi 模块受严重漏洞影响
康奈尔大学研究员发现“代码投毒”攻击,可触发供应链攻击
详述 PyPI 中的远程代码执行漏洞,可引发供应链攻击
为增强软件供应链安全,NIST 发布《开发者软件验证最低标准指南》
https://www.securityweek.com/code-generated-github-copilot-can-introduce-vulnerabilities-researchers
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。