Malicious and Unintentional Disclosure Risks in Large Language Models for Code Generation

📄 arXiv: 2503.22760v1 📥 PDF

作者: Rafiqul Rabin, Sean McGregor, Nick Judd

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

发布日期: 2025-03-27

备注: The 3rd International Workshop on Mining Software Repositories Applications for Privacy and Security (MSR4P&S), co-located with SANER 2025


💡 一句话要点

评估代码生成大模型中恶意和无意泄露敏感信息的风险

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

关键词: 代码生成 大型语言模型 安全风险 隐私泄露 无意记忆

📋 核心要点

  1. 现有研究主要关注代码生成大模型中的恶意泄露风险,忽略了无意泄露同样构成威胁。
  2. 论文提出了一种并行的评估方法,用于衡量不同模型和数据集版本中的无意和恶意泄露风险。
  3. 实验结果表明,数据处理方式的改变会显著影响泄露风险,且风险程度与提示策略和信息类型相关。

📝 摘要(中文)

本文探讨了用于代码生成的大型语言模型(LLM)在软件仓库数据上训练时,生成内容泄露训练数据中包含的敏感信息的风险。我们将这种风险(文献中称为“无意记忆”)分解为两个组成部分:无意泄露(LLM在用户未主动寻求的情况下呈现秘密)和恶意泄露(LLM向具备部分训练数据知识的攻击者呈现秘密)。我们观察到,现有工作主要关注恶意泄露,但无意泄露也是一个值得关注的问题。我们描述了评估不同训练数据集和模型版本中无意和恶意泄露风险的方法。我们通过对开放语言模型(OLMo)系列模型及其Dolma训练数据集的独立评估来展示这些方法。结果表明,首先,数据源和处理方式的变化与无意记忆风险的显著变化相关;其次,同一组操作性变化可能会增加一种风险,同时减轻另一种风险;第三,泄露敏感信息的风险不仅因提示策略或测试数据集而异,还因敏感信息的类型而异。这些贡献依赖于数据挖掘,以实现LLM训练数据供应链所需的更高级别的隐私和安全测试。

🔬 方法详解

问题定义:论文旨在解决代码生成大模型在训练过程中“无意记忆”导致的敏感信息泄露问题。现有方法主要关注攻击者利用部分训练数据知识进行的恶意攻击,而忽略了模型在正常使用场景下无意泄露敏感信息的风险。这种无意泄露可能发生在用户没有明确要求的情况下,例如模型在生成代码片段时包含了API密钥或密码等。

核心思路:论文的核心思路是将“无意记忆”风险分解为“无意泄露”和“恶意泄露”两个维度,并设计相应的评估方法。通过对比不同数据源、数据处理方式以及模型版本,分析这些因素对两种泄露风险的影响。这种分解和对比分析有助于更全面地理解和控制代码生成大模型的安全风险。

技术框架:论文的技术框架主要包括以下几个步骤:1) 数据挖掘:从软件仓库中挖掘包含敏感信息的代码片段,构建包含秘密信息的测试集。2) 提示工程:设计不同的提示策略,包括通用提示和针对性提示,以诱导模型生成包含敏感信息的内容。3) 模型推理:使用不同的模型和数据集版本,对提示进行推理,生成代码片段。4) 风险评估:分析生成的代码片段中是否包含敏感信息,并根据泄露情况评估无意泄露和恶意泄露的风险。

关键创新:论文的关键创新在于:1) 提出了无意泄露的概念,并将其与恶意泄露区分开来,从而更全面地评估代码生成大模型的安全风险。2) 设计了一种并行的评估方法,可以同时衡量不同模型和数据集版本中的无意和恶意泄露风险。3) 通过实验分析了数据源、数据处理方式以及模型版本对泄露风险的影响,为模型开发者提供了有价值的指导。

关键设计:论文的关键设计包括:1) 针对不同类型的敏感信息(如API密钥、密码等)设计了不同的测试集。2) 采用了多种提示策略,包括通用提示和针对性提示,以提高泄露风险的评估准确性。3) 使用了多种评估指标,包括泄露率、泄露信息类型等,以全面评估泄露风险。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,数据源和处理方式的变化与无意记忆风险的显著变化相关。例如,某些数据清洗策略可能降低恶意泄露风险,但同时增加无意泄露风险。此外,泄露风险还与提示策略和敏感信息类型密切相关,针对特定类型的敏感信息,需要采用更严格的安全措施。

🎯 应用场景

该研究成果可应用于代码生成大模型的安全评估和风险控制。模型开发者可以利用该方法识别和修复潜在的泄露风险,从而提高模型的安全性和可靠性。此外,该研究还可以为数据安全和隐私保护提供参考,促进安全可信的人工智能发展。

📄 摘要(原文)

This paper explores the risk that a large language model (LLM) trained for code generation on data mined from software repositories will generate content that discloses sensitive information included in its training data. We decompose this risk, known in the literature as ``unintended memorization,'' into two components: unintentional disclosure (where an LLM presents secrets to users without the user seeking them out) and malicious disclosure (where an LLM presents secrets to an attacker equipped with partial knowledge of the training data). We observe that while existing work mostly anticipates malicious disclosure, unintentional disclosure is also a concern. We describe methods to assess unintentional and malicious disclosure risks side-by-side across different releases of training datasets and models. We demonstrate these methods through an independent assessment of the Open Language Model (OLMo) family of models and its Dolma training datasets. Our results show, first, that changes in data source and processing are associated with substantial changes in unintended memorization risk; second, that the same set of operational changes may increase one risk while mitigating another; and, third, that the risk of disclosing sensitive information varies not only by prompt strategies or test datasets but also by the types of sensitive information. These contributions rely on data mining to enable greater privacy and security testing required for the LLM training data supply chain.