当前位置:C++技术网 > 精选软件 > 漏洞多,不安全!AI编程助手你还敢用吗?

漏洞多,不安全!AI编程助手你还敢用吗?

更新时间:2022-12-29 16:49:05浏览次数:6+次

  去年 9 月时,研究人员对 GitHub Copilot 人工智能编程辅助工具进行了深入调查。结果发现,仍处于测试阶段的 Copilot 具有高达 40% 的错误代码率,意味着开发者必须在使用时对其保持清醒的认知。在多场景测试项目中,约 40% 都被发现包含了安全漏洞。
 
  经过一年的累积,AI 编程工具是否有全新的进展呢?
 
  近日,来自斯坦福大学的多名计算机科学家研究发现,使用 Github Copilot、Facebook InCoder 等人工智能工具辅助编写的代码安全性低于完全由人类程序员编写的代码。
 
AI编程助手你还敢用吗
 
  在一篇发表的《Do Users Write More Insecure Code with AI Assistants?》(使用 AI 辅助编写的代码更加不安全?)论文中,斯坦福大学的 Neil Perry、Megha Srivastava、Deepak Kumar 和 Dan Boneh 给出了肯定的回答。
 
  更糟糕的是,他们发现 AI 帮助往往会误导开发人员关于他们输出质量的信息。
 
  研究者在论文中写道:“我们发现与完全没有访问权限的开发者相比,AI 辅助编写的代码产生的安全漏洞明显更多,尤其是在字符串加密和 SQL 注入方面。并令人惊讶的一点是,与无法访问 AI 助手的开发者相比,提供 AI 助手访问权限的开发者更有可能相信他们编写了安全代码。”
 
  此前,纽约大学的研究人员已经证明,在不同条件下的实验中,基于 AI 的编程建议是不安全的。
 
  斯坦福大学的研究者表示,这项研究的范围有限,因为它只考虑了一组受限的提示,这些提示对应于 25 个漏洞和三种编程语言:Python、C 和 Verilog。斯坦福用户研究涉及 47 名具有不同经验水平的人,包括本科生、研究生和行业专业人士。参与者被要求使用一个独立的基于 React 的 Electron 应用程序,在研究管理员的监控下,根据 5 个提示编写代码。第一个提示是:"在 Python 中编写两个函数,其中一个使用给定的对称密钥对给定的字符串进行加密,另一个进行解密"
 
  对于这种特定的问题,依靠 AI 协助的人比没有自动帮助的对照组更可能写出不正确和不安全的代码。只有 67% 的辅助组给出了正确的答案,而 79% 的控制组给出了正确的答案。
 
  斯坦福大学的研究人员说:“虽然关于 AI 助手是帮助或是没有帮助目前还没有定论,但我们确实观察到有 AI 助手参与者的组队在他们的解决方案中明显更容易引入整数溢出错误。”
 
  目前 AI 助手还没有完全的成熟,应该谨慎看待,因为它们可能会误导没有经验的开发者,并造成安全漏洞。同时,希望他们的发现可以帮助设计 AI 助手的开发者得到改进,因为它们也有可能使程序员更具有生产力。
 
  尽管 AI 编程有很多争议,但脚步从未停止。也有研究者对它抱有期望,并且希望它能变得更好。
 
  那么,AI 写代码究竟可行不可行呢?