论文
隐藏在评论中:代码LLM中的上下文注入攻击面
Hidden in the Comments: A Context-Injection Attack Surface in Code LLMs
摘要
代码大语言模型(代码LLM)助手从异构开发环境中生成代码,包括打开的文件、导入的模块、粘贴的片段和注释,其中大部分可能来自不受信任的来源。我们调查嵌入在此类上下文中的不安全指令是否可以在不访问模型权重或训练数据的情况下将代码LLM引向易受攻击的代码。我们评估了十个涵盖 3B--13B 参数的开放权重代码LLM,包括四个基本模型和六个指令调整模型,涵盖十个 Web 应用程序弱点类别。我们将包含作为代码注释嵌入的不安全指令的完成任务与没有恶意指令的良性任务进行比较。与良性条件下的 {\bf 1.7--5.1}\% 相比,攻击条件完成情况在 {\bf 77.4--92.3}\% 的情况下包含中等或更高的弱点。基础模型和指令调整模型的平均易受攻击输出分别为 86.5% 和 84.5%;等效性测试和三个匹配的模型对表明指令调整后最多减少 8.1%。敏感性与模型规模或专业化没有明显关联。在易受攻击的攻击输出中,86.2--91.0\% 被评为高或严重,并且在没有基于模式的检测器的情况下,效果仍然存在。新一代筛查降低了风险,但并未消除风险,最强的筛查留下大约三分之一未被发现。这些发现将推理时上下文注入确定为重要的攻击面,并激发了具有来源意识的训练目标。