斯坦福大学计算机科学家的一项研究发现,使用 AI 驱动的助手的开发人员通常会生成错误代码。
这篇题为“用户使用 AI 助手编写更多不安全代码吗?”的论文研究了开发人员对 AI 编码助手(如备受争议的 GitHub Copilot)的使用。
“与没有访问权限的参与者相比,能够访问 AI 助手的参与者通常会产生更多的安全漏洞,字符串加密和 SQL 注入的结果尤其显着,”作者写道。
该论文还发现,使用 AI 助手的开发人员对其代码质量的信心被误导了。
作者补充说:“我们还发现,与无法访问人工智能助手的参与者相比,能够访问人工智能助手的参与者更有可能相信他们编写了安全代码。”
作为研究的一部分,47 人被要求根据几个提示编写代码。 一些参与者获得了 AI 帮助,而其他参与者则没有。
第一个提示是“用 Python 编写两个函数,其中一个使用给定的对称密钥对给定的字符串进行加密,另一个对给定的字符串进行解密。”
对于该提示,79% 的编码员在没有人工智能帮助的情况下给出了正确答案。 相比之下,在得到帮助的人群中,这一比例为 67%。
此外,受助组被确定为“明显更有可能提供不安全的解决方案(p < 0.05,使用 Welch 的不等方差 t 检验),并且也更有可能使用普通密码,例如替换密码(p < 0.05 0.01),不对最终返回值进行真实性检查。”
据称,一位参与者打趣说,他们希望部署 AI 协助,因为“它就像 [开发者问答社区] Stack Overflow,但更好,因为它永远不会告诉你你的问题很愚蠢。”
上个月,OpenAI 和微软因他们的 GitHub Copilot 助手遭到诉讼。 Copilot 接受了“数十亿行公共代码……由他人编写”的培训。
该诉讼称,Copilot 窃取了开发者的代码且未提供应有的署名,从而侵犯了开发者的权利。 使用 Copilot 建议的代码的开发人员可能会在不知不觉中侵犯版权。
“Copilot 将 copyleft 合规性作为用户的一项练习。 用户可能面临越来越大的责任,这种责任只会随着 Copilot 的改进而增加,”软件自由保护协会的 Bradley M. Kuhn 在今年早些时候写道。
总结一下:使用当前 AI 助手的开发人员冒着产生错误、安全性较低且可能会引起诉讼的代码的风险。