中文

评估 GitHub Copilot 生成代码的安全性——一项针对性复现研究

软件工程 2023-11-21 v1

摘要

人工智能驱动的代码生成模型发展迅速,使开发者能够加快代码生成从而提高生产力。这些模型在大量代码语料库(主要来自公共仓库)上训练,其中可能包含缺陷和漏洞。人们已对这些模型生成代码的安全性提出了若干担忧。近期研究调查了 GitHub Copilot 和 Amazon CodeWhisperer 等人工智能驱动代码生成工具的安全问题,揭示了这些工具生成代码中的若干安全弱点。随着这些工具的演进,预计它们会改进安全协议以防止向开发者建议不安全代码。本文复现了 Pearce 等人的研究,该研究调查了 Copilot 的安全弱点,并在多种场景和语言(Python、C 和 Verilog)中发现了 Copilot 建议代码的数个弱点。我们的复现使用较新版本的 Copilot 和 CodeQL(安全分析框架)检验 Copilot 的安全弱点。该复现聚焦于 Python 代码中安全漏洞的存在情况。我们的结果表明,即便 Copilot 新版本有所改进,易受攻击代码建议的比例仍从 36.54% 降至 27.25%。尽管如此,模型仍明显会建议不安全代码。

关键词

引用

@article{arxiv.2311.11177,
  title  = {Assessing the Security of GitHub Copilot Generated Code -- A Targeted Replication Study},
  author = {Vahid Majdinasab and Michael Joshua Bishop and Shawn Rasheed and Arghavan Moradidakhel and Amjed Tahir and Foutse Khomh},
  journal= {arXiv preprint arXiv:2311.11177},
  year   = {2023}
}