← Agent Tool Use 2026

ACL 2026 · Long · D150

RedCoder: Automated Multi-Turn Red Teaming for Code LLMs

安全与可靠性 · 直接工具使用 · 方法 / 系统

Idea

RedCoder 把 Code LLM 的安全评估从静态单轮提示扩展为可随回答变化的多轮对话测试。研究先用多 agent gaming 生成 prototype conversations 与抽象策略库,再将对话行为蒸馏到独立模型,用以系统检查代码生成模型在持续交互中是否输出 CWE 类漏洞。

Research Problem

既有 code red-teaming 依赖人工设计不完整代码或单轮 adversarial prompts,难以规模化模拟真实开发中的连续讨论。风险意图可能跨多个看似普通的轮次逐步形成,单轮 guardrail 即使对直接危险请求有效,也未必识别整体对话最终导向的不安全代码。

Insight

多轮安全边界应由整段交互中的代码产物衡量,而不是只看某个用户输入是否明显有害。比较同一测试任务的失败与成功对话,可提取可复用的高层交互模式;用这些轨迹训练 context-sensitive tester,有助于发现静态测试覆盖不到的失效。这里的策略归因来自对比分析,不能直接解释为经过因果验证的机制。

Method

  1. 构建 attacker、带 multi-turn guardrail 的 defender、vulnerability evaluator 与 strategy analyst 四类角色,在受控任务集合上模拟连续对话;保存 evaluator 判定出现不安全代码的 prototype conversations,并用整段历史反馈组织后续实验。
  2. 从 defender 回答提取 code snippets,以 Amazon CodeGuru 检查 CWE 类弱点;guardrail 根据累计对话筛查候选回复,被判 unsafe 时替换成拒绝消息,使测试同时覆盖交互和防护行为。
  3. 将 prototype conversations 拆成 history→next utterance 的监督样本训练 tester;对失败/成功对话对提炼高层策略摘要,并建立与局部交互语义表示关联的 retrieval memory,用于测试时的上下文适配。
  4. 在覆盖 43 类弱点的 170 个 coding tasks 上比较单轮与多轮测试方法、检索消融和 guardrails,评价至少一次生成漏洞的对话比例。另检验以多轮数据训练防护的作用,说明结果依赖对话级风险识别。

Sources & Reading Scope

阅读依据:官方 PDF 正文。核读页码按 PDF 页序计数,可能与 proceedings 页码不同。

p. 1 · p. 2 · p. 3 · p. 4 · p. 5

核读章节:2.1 System Overview · 2.2 Multi-Agent Gaming · 2.3 Training RedCoder · 2.4 Deploying RedCoder · 3.1 Experimental Setup

核读四角色设计、监督训练及 CodeGuru 评价,保留研究层面的安全测试描述。漏洞标签来自自动分析器,不等同于每段代码均有经执行确认的可利用攻击;部分任务也用于 gaming,作者的跨模型测试不应表述为所有任务完全未见。