← Agent Tool Use 2026

ACL 2026 · Long · E84

When "Correct" Is Not Safe: Can We Trust Functionally Correct Patches Generated by Code Agents?

代码 / 软件 / 科研执行 · 扩展相关 · 方法 / 系统

Idea

论文将 functionally correct yet vulnerable(FCV)patch 定为独立评测对象:代码修复通过功能测试,仍可能引入 CWE-defined security weakness。研究先测干净任务中的自然风险,再在 issue 文本中加入误导性开发建议,检验这种风险是否会被放大。

Research Problem

代码 agent 主要按功能测试是否通过评价,现有安全研究又常关注显式恶意动作或会造成测试失败的修改。若不安全实现仍满足既有测试,常规成功率既看不见风险,也无法区分 agent 原有安全缺陷与外部 issue 注入的影响。

Insight

功能约束和安全约束并不等价,测试覆盖的正常行为可与危险边界行为同时存在。因此要把“补丁可用”与“补丁被判断存在目标弱点”联合统计,并在干净环境可解任务上比较,避免把能力不足混入攻击效果。

Method

  1. 首先检查 Mini-SWE-Agent 在 SWE-bench 上通过功能验证的补丁,量化其中被安全评估标记的问题,定义 FCV Rate 为正确补丁中含漏洞的比例。
  2. 在 black-box、单次提交条件下,把目标 CWE 相关建议作为看似普通的维护说明附在原始 issue 中,保留原问题;研究四类 weakness,覆盖敏感信息暴露、XSS、SQL injection 和 code injection。
  3. 在三种 agent scaffolds 与四种模型组合上,仅选各组合干净 Pass@1 可解决的实例。先用官方 SWE-bench harness 核验功能,再由获得 CWE 定义及 patch 的 Qwen3-Coder judge 输出结构化 vulnerability verdict。
  4. 分别报告 Pass@1、FCV Rate 和 ASR,后者要求补丁同时功能通过且匹配目标 CWE;另报告任意四类 weakness 的 relaxed ASR。controlled-trajectory variant 固定干净执行历史、在续写前加入相同指导,用于分析历史与最终补丁生成的作用。

Sources & Reading Scope

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

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

核读章节:Why "Correct" Is Not Secure: Motivating Observation · Threat Model · FCV-Attack · Experimental Setup · Evaluation Protocol · Evaluation Metrics

核读威胁模型、受控变体及双阶段评价。漏洞判定主要依赖 LLM judge,所读方法未提供每个样本的可执行 exploit 证明;ASR 的分母是各组合筛选出的干净可解任务。