返回
CQLLM: A Framework for Generating CodeQL Security Vulnerability Detection Code Based on Large Language Model
DOI:10.3390/app16010517.png)
摘要
En 中文
随着软件系统复杂性的日益增加,软件中包含的安全漏洞数量也随之上升。现有的左移安全理念旨在软件开发周期中检测和修复漏洞。尽管CodeQL是目前市场上领先的静态代码分析工具,但其高门槛给左移安全倡议的实施带来了挑战。虽然大型语言模型(LLM)在QL代码开发方面具有潜在帮助,但代码生成任务的固有复杂性往往导致持续性问题,如语法不准确和引用不存在模块,从而限制了其在该领域的实际应用。为解决这些挑战,本文提出CQLLM(CodeQL增强的大型语言模型),一种利用LLM自动化生成CodeQL安全漏洞检测代码的新型框架。该框架旨在提高自动化QL代码生成的效率和准确性,从而推动静态代码分析向更高效、更智能的漏洞检测范式发展。首先,采用检索增强生成(RAG)在向量数据库中搜索与用户输入高度相似的依赖库和代码片段,从而约束模型的生成过程并防止导入无效模块。然后,将用户输入和RAG检索到的知识片段输入到微调的LLM中进行推理并生成QL代码。通过将外部知识库与大型模型集成,该框架提高了生成代码的正确性和完整性。实验结果表明,CQLLM显著提高了生成QL代码的可执行性,执行成功率从0.31%提升至72.48%,大幅优于原始模型。同时,CQLLM也增强了生成结果的有效性,在漏洞检测任务中实现了57.4%的CWE(通用弱点枚举)覆盖率,展示了其在实际漏洞检测中的适用性。
Keyword:
CodeQL
large language model
vulnerability detection
AI总结
对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。
期刊
A
IF:
2.5
论文数:
7.3K
被引数:
4

