- 简介使用大型语言模型(LLMs)生成代码的趋势日益增长,这引发了它们生成可信代码的能力问题。虽然许多研究人员正在探索使用代码生成揭示软件漏洞的效用,但一个关键但常常被忽视的方面是安全应用程序编程接口(APIs)。APIs在维护软件安全方面起着至关重要的作用,但有效地整合安全APIs存在着重大挑战。这导致开发人员的无意误用,从而使软件暴露于漏洞之中。为了克服这些挑战,开发人员可能会寻求LLMs的帮助。本文系统评估了ChatGPT在Java中用于安全API使用案例的代码生成的可信度。为了进行全面评估,我们编译了一个包含48个编程任务的广泛集合,用于5个广泛使用的安全APIs。我们采用自动化和手动方法来有效地检测ChatGPT生成的代码中的安全API误用。我们的发现令人担忧:在每个任务的30次尝试中,约70%的代码实例包含安全API误用,识别出20种不同的误用类型。此外,对于大约一半的任务,这个比率达到了100%,表明在开发人员能够依赖ChatGPT安全地实现安全API代码之前,还有很长的路要走。
- 图表
- 解决问题评估ChatGPT在Java安全API使用情况下的代码生成可靠性
- 关键思路使用自动化和手动方法检测ChatGPT生成的代码中的安全API误用情况
- 其它亮点使用48个编程任务和5个广泛使用的安全API进行实验,发现大约70%的代码实例存在安全API误用,涉及20种不同的误用类型。对于近一半的任务,这个比例达到了100%。
- 最近的相关研究包括使用LLM生成代码的可靠性评估,以及API误用检测技术的开发。
沙发等你来抢
去评论
评论
沙发等你来抢