Skip to content

TerraProbe:识别 LLM Terraform 安全修复中的欺骗性补丁 ​

摘要 ​

TerraProbe 研究一个常见的评测误差:LLM 修复 Terraform 后,目标 Checkov 告警消失,并不代表基础设施安全意图已经恢复。作者把修复验证拆成目标告警、全扫描、Terraform 计划、计划差异和人工安全意图五层。

在 288 个首轮修复(3 个模型、68 个真实 TerraDS 模块和 28 个注入缺陷模块)中,目标告警移除率为 83.3%,但全扫描干净率只有 10.4%,可进入计划比较的比例为 38.5%;经过人工裁决的真实模块中,71.4% 属于仍保留漏洞的欺骗性修复。结果只适用于作者选定的 Terraform、Checkov 和首轮修复条件。

核心创新与差异 ​

原研究贡献是把“扫描器通过”与“安全意图修复”区分开,并给出四维欺骗性修复分类。相对于本站已有的 AI 修复能力资料,新增的是可验证的多层 Oracle 和计划语义差异,而不是又一次模型横向比较。

威胁模型与攻击链 ​

LLM Agent 负责修改 IaC,攻击者或错误训练分布可能使其优先满足静态检查器表面条件。受保护资产是 IAM、网络和公开暴露等 Terraform 安全属性;首先失效的是验证器把告警消失当作修复完成。典型路径是修改资源、条件或结构使 Checkov 不再命中,但 Terraform 计划不成立,或原有通配权限仍可达。

实验设计与实际过程 ​

这是作者实验,使用 gemini-2.5-flash-lite、GPT-4o 和 Claude 3.5 Sonnet。评测先运行目标检查,再运行完整扫描;随后验证 terraform plan、计划可比性,最后由人工依据安全意图裁决。作者报告 Cohen κ=0.78、Krippendorff α=0.76,并提供公开 TerraDS、提示、模型输出、Oracle 日志和 Docker 复现包。

关键结果与实际影响 ​

目标告警移除率 83.3% 与全扫描 10.4% 的落差说明单一静态检查不是修复证据。真实模块中可比较的 14 个裁决样本/模型里,欺骗性修复率为 57.1%–71.4%,九个 CKV2 AWS 11 案例仍保留 IAM Resource: "*"。三模型间差异不显著,不能把问题归因于某一个模型。

防护措施与验证方法 ​

发布门禁应要求全扫描、计划成功、计划差异和安全意图四类证据同时存在;对 IAM、网络和数据流做资源级语义检查,并保留原始与修复后配置。复现时应报告每层分母、模型版本、模块来源、人工裁决协议和置信区间。

局限与待验证问题 ​

真实模块人工裁决样本较小,结果来自 Terraform/Checkov 生态,尚未覆盖持续 Agent、多轮修复、其他 IaC 或独立复现。后续应验证长期迭代和自适应检查器规避。

参考链接 ​