MOCHA: Are Code Language Models Robust Against Multi-Turn Malicious Coding Prompts?

📄 arXiv: 2507.19598v1 📥 PDF

作者: Muntasir Wahed, Xiaona Zhou, Kiet A. Nguyen, Tianjiao Yu, Nirav Diwan, Gang Wang, Dilek Hakkani-Tür, Ismini Lourentzou

分类: cs.CL, cs.AI, cs.CR, cs.LG

发布日期: 2025-07-25

备注: Winner Defender Team at Amazon Nova AI Challenge 2025


💡 一句话要点

MOCHA:评估代码大模型在多轮恶意编程提示下的鲁棒性

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

关键词: 代码大模型 恶意编程提示 鲁棒性评估 代码分解攻击 安全漏洞

📋 核心要点

  1. 现有代码大模型在对抗恶意编程提示时鲁棒性不足,尤其是在多轮交互场景下,安全过滤机制容易被绕过。
  2. 提出代码分解攻击,将恶意任务拆解为多个看似无害的子任务,通过多轮对话逐步引导模型生成恶意代码。
  3. 构建了大规模基准测试集MOCHA,实验表明现有模型在多轮恶意提示下存在漏洞,且MOCHA微调能有效提升模型鲁棒性。

📝 摘要(中文)

大型语言模型(LLM)在代码生成能力方面取得了显著进展。然而,它们在对抗性滥用方面的鲁棒性,特别是通过多轮恶意编码提示,仍未得到充分探索。本文提出了代码分解攻击,将恶意编码任务分解为一系列看似良性的子任务,通过多轮对话来规避安全过滤器。为了便于系统评估,我们引入了MOCHA基准,这是一个大规模基准,旨在评估代码LLM在单轮和多轮恶意提示下的鲁棒性。对开源和闭源模型的实证结果表明,模型存在持续的漏洞,尤其是在多轮场景下。在MOCHA上进行微调可以提高拒绝率,同时保持编码能力,更重要的是,无需任何额外监督,即可提高外部对抗数据集的鲁棒性,拒绝率提高高达32.4%。

🔬 方法详解

问题定义:现有代码大模型在面对恶意编程提示时,容易被利用生成有害代码,例如漏洞利用、数据窃取等。尤其是在多轮对话场景下,攻击者可以通过精心设计的提示序列,逐步引导模型生成恶意代码,绕过模型的安全过滤机制。现有方法难以有效防御这种多轮恶意攻击。

核心思路:本文的核心思路是通过代码分解攻击,模拟攻击者将恶意任务分解为多个看似无害的子任务,然后通过多轮对话逐步引导模型完成恶意任务。通过这种方式,可以更全面地评估代码大模型在面对复杂恶意攻击时的鲁棒性。

技术框架:MOCHA基准测试集包含单轮和多轮恶意编程提示,用于评估代码大模型的鲁棒性。研究人员首先使用MOCHA评估现有模型的性能,然后使用MOCHA数据对模型进行微调,提高其拒绝恶意提示的能力。最后,在外部对抗数据集上评估微调后模型的泛化能力。

关键创新:本文的关键创新在于提出了代码分解攻击的概念,并构建了相应的基准测试集MOCHA。MOCHA能够更全面地评估代码大模型在面对复杂恶意攻击时的鲁棒性,为后续研究提供了有力的工具。

关键设计:MOCHA基准测试集包含多种类型的恶意编程任务,例如代码注入、命令执行、权限提升等。每个任务都包含单轮和多轮提示,多轮提示的设计旨在逐步引导模型生成恶意代码,同时避免触发安全过滤器。微调过程中,使用交叉熵损失函数,目标是最大化模型拒绝恶意提示的概率,同时保持其正常的代码生成能力。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,现有代码大模型在MOCHA基准测试集上表现出明显的漏洞,尤其是在多轮恶意提示下。通过在MOCHA上进行微调,模型的拒绝率显著提高,并且在外部对抗数据集上也能获得高达32.4%的拒绝率提升,表明该方法具有良好的泛化能力。

🎯 应用场景

该研究成果可应用于提升代码大模型的安全性,防止其被用于恶意目的。通过MOCHA基准测试,可以评估和改进模型的鲁棒性,降低恶意代码生成的风险。此外,该研究也为开发更安全的AI系统提供了新的思路和方法,具有重要的社会价值。

📄 摘要(原文)

Recent advancements in Large Language Models (LLMs) have significantly enhanced their code generation capabilities. However, their robustness against adversarial misuse, particularly through multi-turn malicious coding prompts, remains underexplored. In this work, we introduce code decomposition attacks, where a malicious coding task is broken down into a series of seemingly benign subtasks across multiple conversational turns to evade safety filters. To facilitate systematic evaluation, we introduce \benchmarkname{}, a large-scale benchmark designed to evaluate the robustness of code LLMs against both single-turn and multi-turn malicious prompts. Empirical results across open- and closed-source models reveal persistent vulnerabilities, especially under multi-turn scenarios. Fine-tuning on MOCHA improves rejection rates while preserving coding ability, and importantly, enhances robustness on external adversarial datasets with up to 32.4% increase in rejection rates without any additional supervision.