An Investigation into Misuse of Java Security APIs by Large Language Models

2024年04月04日
  • 简介
    使用大型语言模型(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误用检测技术的开发。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论