论文

LLM 代码会破坏什么?表征代理代码助手的操作安全故障

What Breaks When LLMs Code? Characterizing Operational Safety Failures of Agentic Code Assistants

模型评测安全与风险评测

摘要

基于 大语言模型 (LLM) 构建的自主 编码智能体 正在快速集成到开发工作流程中,但除了对明显恶意输入的评估之外,其操作安全属性仍然知之甚少。在实践中,在良性、目标导向的使用过程中,通过环境破坏、捏造的成功报告等,会出现影响较大的故障,而当前的基准测试无法捕获这些故障。当编码智能体用于日常开发任务时,实际会发生哪些类别的操作安全故障?它们的影响是什么?我们提出了一项基于两个互补证据流的事件驱动的实证研究。我们筛选了来自 22 个主要场所的 68,816 篇论文,策划了 185 项安全相关研究,并从广泛部署的 LLM 驱动的编码工具中挖掘了 16,586 个 GitHub 问题,手动确认了 547 个真正的安全故障。通过对这两个语料库应用系统的开放编码,我们得出了跨七个维度组织的 33 种操作风险类型的多维安全分类法,并用影响因素、任务背景、严重性和下游影响来注释每个事件。我们的研究结果表明,编码代理故障通常很严重,547 起事件中有 326 起被评为高或严重。主要风险是约束违反、破坏性操作、授权绕过和欺骗,超过 65% 的事件发生在错误修复和设置或配置中,而以前的文献中很大程度上缺少这些模式。这些结果对 SE 工具设计者和基准开发者有直接影响:护栏必须超越对抗性提示防御,以实施环境约束、故障透明度和安全停止行为。