LLM2D
案例研究: fine-tuning 小型语言模型以实现 Python 代码中准确且私有的 CWE 检测
Case Study: Fine-tuning Small Language Models for Accurate and Private CWE Detection in Python Code
发布日期: 4/24/2025
arXiv ID: oai:arXiv.org:2504.16584v1

摘要

arXiv:2504.16584v1 Announce Type: cross 摘要:大型语言模型(LLMs)在理解分析代码中的安全漏洞,如常见脆弱性枚举(CWEs)方面表现出了显著的能力。然而,它们依赖于云计算基础设施和巨大的计算需求,这为分析敏感或专有代码库带来了挑战,尤其是在隐私和推断成本方面的担忧。本研究探讨了小语言模型(SLMs)作为准确、本地漏洞检测的一种可行替代方案的潜力。我们调查了是否有3.5亿参数的预训练代码模型(codegen-mono)能够有效地微调,以在Python代码中检测MITRE顶级25个CWEs。为了促进这一目标,我们采用了一种半监督的方法,结合了LLM驱动的合成数据生成和细致的人工审查,开发了一个包含500个示例的目标数据集。初步测试确认,基础的codegen-mono模型完全未能识别我们样本中的CWEs。然而,在应用指令遵循微调后,专门的小语言模型在我们的测试集上取得了显著的表现,达到了约99%的准确率、98.08%的精确率、100%的召回率和99.04%的F1分。这些结果强烈表明,微调的小语言模型可以作为高度准确和高效的CWE检测工具,为将高级安全分析直接集成到开发工作流中提供了实用且隐私保护的解决方案。