BadCodePrompt 是一种针对代码生成任务的大型语言模型(LLMs)后门攻击方法,以下是论文中描述的实验设置的总结:

1. 实验目标

  • 评估 BadCodePrompt 攻击在多个大型语言模型(如 GPT-4 和 Claude-3.5)上的有效性。

  • 通过对比实验,验证该攻击方法相较于其他攻击方式的效果,尤其是在生成恶意代码时的成功率。

  • 研究 BadCodePrompt 是否能在不干扰正常输出的情况下,悄悄注入恶意代码。

2. 攻击场景

  • 主要在代码生成任务中进行评估,攻击者通过注入特定的恶意触发器,诱使模型生成带有漏洞或恶意行为的代码。

  • 实验聚焦于让模型生成的代码含有潜在的安全漏洞(例如:SQL注入漏洞、缓冲区溢出漏洞等)。

3. 使用的模型

  • GPT-4:作为一种大型语言模型,评估其在生成带有恶意代码时的表现。

  • Claude-3.5-SonnetGemini Pro-1.5:用于评估与 GPT-4 不同的模型对于 BadCodePrompt 攻击的脆弱性。

4. 实验设置

  • 数据集:使用多个标准的代码生成数据集(如 HumanEvalMBPP)进行测试。

  • 恶意触发器设计:为模型设计了特定的恶意触发器和代码示例,目的是在生成的代码中引入特定的安全漏洞或恶意行为。

  • 评估指标

    • CodeBLEU:衡量生成的代码与参考代码的相似度,用于评估生成代码的质量。

    • Pass@k:衡量生成的代码是否符合预期的功能要求,特别是通过执行单元测试来验证代码的正确性。

5. 对比实验

  • 与传统的后门攻击方法(如 Badword 攻击)进行了对比,验证 BadCodePrompt 在复杂推理任务中的表现。

  • 对比 BadCodePrompt 与基于提示工程的防御方法,验证其在不同防御机制下的有效性。

6. 实验结果

  • BadCodePrompt 攻击在 GPT-4 上达到了99.39%(HumanEval)和97.66%(MBPP)的攻击成功率。

  • 与其他防御方法相比,BadCodePrompt 攻击展示出了较强的隐蔽性和高效性。

7. 实验结论

  • BadCodePrompt 是一种有效的后门攻击方法,能够在不干扰模型的正常功能的情况下,通过少量的恶意示例提示生成带有恶意代码的输出。

  • 该攻击方法在模型推理能力较强的情况下,成功率显著提高,表明当前的防御方法难以有效应对这种隐蔽的后门攻击。

总体而言,BadCodePrompt 的实验设置展示了该攻击方法的高效性与隐蔽性,强调了在实际代码生成任务中,LLMs 存在的安全风险。


http://example.com/posts/19.html
作者
司马吴空
发布于
2026年3月30日
许可协议