Assessing the Software Security Comprehension of Large Language Models

📄 arXiv: 2512.21238v1 📥 PDF

作者: Mohammed Latif Siddiq, Natalie Sekerak, Antonio Karam, Maria Leal, Arvin Islam-Gomes, Joanna C. S. Santos

分类: cs.SE, cs.CR, cs.LG

发布日期: 2025-12-24

备注: Submitted to Empirical Software Engineering (EMSE) journal


💡 一句话要点

系统评估大型语言模型在软件安全理解方面的能力,揭示其知识边界与常见误解。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 软件安全 布鲁姆分类法 安全漏洞 知识边界

📋 核心要点

  1. 大型语言模型在软件开发中应用日益广泛,但其软件安全专业知识水平尚不明确,存在潜在风险。
  2. 该研究采用布鲁姆分类法,从记忆到创造六个认知维度,系统评估LLMs在软件安全方面的理解能力。
  3. 实验结果揭示了LLMs在不同认知层次上的表现差异,并识别了其知识边界和常见的安全误解模式。

📝 摘要(中文)

本文系统地评估了五个主流大型语言模型(LLMs):GPT-4o-Mini、GPT-5-Mini、Gemini-2.5-Flash、Llama-3.1和Qwen-2.5在软件安全方面的理解能力。研究采用布鲁姆分类法作为框架,评估了六个认知维度:记忆、理解、应用、分析、评估和创造。该方法整合了多样的数据集,包括精选的多项选择题、易受攻击的代码片段(SALLM)、软件安全导论课程的评估、真实案例研究(XBOW)以及安全软件工程课程中的项目创建任务。结果表明,LLMs在较低层次的认知任务(如回忆事实和识别已知漏洞)上表现良好,但在需要推理、架构评估和安全系统创建等较高层次的任务上,性能显著下降。除了报告总体准确率外,本文还提出了一个软件安全知识边界,用于识别模型能够持续保持可靠性能的最高认知水平。此外,还识别了LLMs在布鲁姆分类法的各个层次上表现出的51种反复出现的误解模式。

🔬 方法详解

问题定义:论文旨在评估大型语言模型(LLMs)在软件安全领域的理解能力,并识别其知识边界。现有方法缺乏对LLMs在不同认知层次上安全理解能力的系统性评估,无法准确判断其在实际软件开发中的安全风险。

核心思路:论文的核心思路是利用布鲁姆分类法,将软件安全知识划分为不同的认知层次(记忆、理解、应用、分析、评估、创造),并设计相应的评估任务,从而全面评估LLMs在各个层次上的表现。通过识别LLMs的知识边界和常见误解,可以更好地了解其安全能力,并指导其在软件开发中的安全应用。

技术框架:该研究的技术框架主要包括以下几个部分:1) 选择五个主流LLMs:GPT-4o-Mini、GPT-5-Mini、Gemini-2.5-Flash、Llama-3.1和Qwen-2.5;2) 采用布鲁姆分类法构建评估框架;3) 整合多样的数据集,包括多项选择题、易受攻击的代码片段(SALLM)、课程评估、真实案例研究(XBOW)和项目创建任务;4) 设计针对不同认知层次的评估任务;5) 分析LLMs在不同任务上的表现,识别其知识边界和常见误解。

关键创新:该研究的关键创新在于:1) 系统地评估了LLMs在软件安全领域的理解能力,填补了现有研究的空白;2) 提出了软件安全知识边界的概念,用于识别模型能够持续保持可靠性能的最高认知水平;3) 识别了LLMs在布鲁姆分类法的各个层次上表现出的51种反复出现的误解模式,为后续研究提供了重要参考。

关键设计:该研究的关键设计包括:1) 数据集的多样性,涵盖了不同类型的软件安全知识;2) 评估任务的针对性,确保能够有效评估LLMs在不同认知层次上的表现;3) 误解模式的识别方法,通过分析LLMs的错误答案和推理过程,识别其常见的安全误解。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,LLMs在较低层次的认知任务(如回忆事实和识别已知漏洞)上表现良好,但在需要推理、架构评估和安全系统创建等较高层次的任务上,性能显著下降。研究识别了LLMs在布鲁姆分类法的各个层次上表现出的51种反复出现的误解模式,为后续研究提供了重要参考。

🎯 应用场景

该研究成果可应用于评估和改进LLMs在软件安全领域的应用,例如在代码审查、漏洞检测和安全设计等方面。通过了解LLMs的知识边界和常见误解,可以更好地利用其优势,并避免其潜在的安全风险。此外,该研究还可以为软件安全教育和培训提供参考。

📄 摘要(原文)

Large language models (LLMs) are increasingly used in software development, but their level of software security expertise remains unclear. This work systematically evaluates the security comprehension of five leading LLMs: GPT-4o-Mini, GPT-5-Mini, Gemini-2.5-Flash, Llama-3.1, and Qwen-2.5, using Blooms Taxonomy as a framework. We assess six cognitive dimensions: remembering, understanding, applying, analyzing, evaluating, and creating. Our methodology integrates diverse datasets, including curated multiple-choice questions, vulnerable code snippets (SALLM), course assessments from an Introduction to Software Security course, real-world case studies (XBOW), and project-based creation tasks from a Secure Software Engineering course. Results show that while LLMs perform well on lower-level cognitive tasks such as recalling facts and identifying known vulnerabilities, their performance degrades significantly on higher-order tasks that require reasoning, architectural evaluation, and secure system creation. Beyond reporting aggregate accuracy, we introduce a software security knowledge boundary that identifies the highest cognitive level at which a model consistently maintains reliable performance. In addition, we identify 51 recurring misconception patterns exhibited by LLMs across Blooms levels.