该论文提出 SkillShield,一种针对 LLM 编程智能体(coding agent)的系统提示词(system-prompt)防御方法。编程智能体通常以开发者的权限编辑文件和执行 shell 命令,因此恶意请求可能直接导致有害操作或功能性恶意软件生成。现有防御存在互补性局限:权重级对齐(weight-level alignment)不适用于仅通过 API 部署的模型;输入过滤器与执行边界监控器则需要在智能体运行轨迹中引入额外的分类或检查组件。SkillShield 的出发点是在离线状态下,从已知攻击或记录的智能体失败案例中综合生成安全技能(security skills),并在会话开始时注入系统提示词,使其在整个工具调用循环中持续生效。这些技能并非作为外部参考监视器,而是通过定义模型在执行过程中应遵循的安全策略来保护系统。由于系统提示词空间有限,论文考察了三种固定预算的供给范围:全类别(all-classes,一个技能覆盖所有威胁类别)、按捆绑(per-bundle,一个技能针对相关子集)和按类别(per-class,每个已知类别一个技能,作为上限参考)。所有方案均无需运行时请求分类或路由。在 RedCode 基准上对六个大语言模型进行评估,默认的全类别技能将恶意软件生成严重性从 3.37 降至 0.58,执行攻击成功率降至 43.6%,与 Llama Guard 3 的 42.7% 相当,但后者需要单独的 8B 分类器。按捆绑与按类别的固定设置进一步将成功率降至 36.2% 和 14.5%。在两种非自适应越狱家族下,SkillShield 在恶意软件生成方面持续优于所有基线。在 731 个良性任务描述中,SkillShield 的平均安全拒绝率仅为 0.14%。结果表明,提示词空间中的安全技能具有防止 LLM 编程智能体产生有害行为和恶意软件生成的潜力。该研究适合对 LLM 智能体安全、提示注入防御、系统提示工程和 AI 安全对齐感兴趣的研究人员与安全工程师阅读。
💡 推荐理由: LLM 编程智能体若被恶意指令诱导,可直接利用开发者权限执行危险操作或生成恶意代码。SkillShield 无需额外分类器或运行时监控,仅靠系统提示词注入安全技能即可显著降低攻击成功率,且误报率极低,为 API 部署场景提供了一种轻量、可落地的防御思路。
🎯 建议动作: 研究跟进