摘要 - LARGE语言模型(LLM)被认为具有自动化安全任务的有希望的潜力,例如在安全操作中心(SOCS)中发现的任务。作为评估这种感知潜力的第一步,我们调查了LLM在软件pentesting中的使用,其中主要任务是自动识别源代码中的软件安全漏洞。我们假设基于LLM的AI代理可以随着时间的推移而改进,因为人类操作员与之互动,可以为特定的安全任务进行特定的安全任务。可以通过第一个步骤来通过工程提示根据产生的响应提示为LLM提供的第一个步骤,以包括相关的上下文和结构,以便模型提供更准确的结果。如果经过精心设计的提示在当前任务上产生更好的结果,也会为未来的未知任务产生更好的结果,则此类工程工作将变得可持续。为了审查这一假设,我们利用OWASP基准项目1.2,其中包含2,740个手工制作的源代码测试案例,其中包含各种类型的漏洞。我们将测试用例分为培训和测试数据,在该数据中,我们根据培训数据(仅)来设计提示,并在测试数据上评估最终系统。我们将AI代理在测试数据上的性能与没有及时工程的代理商的性能进行了比较。我们还将AI代理的结果与Sonarqube的结果进行了比较,Sonarqube是一种用于安全测试的静态代码分析器。结果表明,使用LLMS是一种可行的方法,用于构建用于填充软件的AI代理,可以通过重复使用和及时的工程来改进。我们使用不同的现成的LLMS(Google的Gemini-Pro)以及OpenAI的GPT-3.5-Turbo和GPT-4-Turbo(带有聊天完成和Assistant Apis)构建并测试了AI代理的多个版本。
主要关键词