paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Build Code is Still Code: Finding the Antidote for Pipeline Poisoning

构建代码仍然是代码:为流水线投毒寻找解药
ICSE Proceedings of the IEEE/ACM 48th International Conference on Software Engineering2026匹配度 3/10 · 该论文将程序分析(抽象解释)应用于构建系统安全,属于静态分析的应用,但与用户核心关注的 AI/LLM 与程序分析交叉、浮点程序分析、贝叶斯程序分析等方向无关,且不含任何 LLM/Agent 成分。引用 0 inbox
Brent Pappas, Paul Gazzillo
crossref: 2026-09-12

AI 速览

一句话:提出开发阶段隔离,将构建自动化视为程序代码来建模权限,原型 Foreman 可检测 XZ Utils 攻击中的投毒测试文件。

开源 C 项目不仅包含 C 代码,还包含用于编译、测试和打包的构建系统代码。这些代码对软件供应链安全至关重要,却易遭投毒,XZ Utils 和 SolarWinds 攻击即为近例。现有供应链安全方法多验证依赖,经典安全检查器也只分析程序代码,且被投毒的构建系统可禁用这些检查。本文提出“开发阶段隔离”,把构建自动化的信息与行为权限当作程序代码来建模,以加固构建系统。作者原型实现 Foreman,成功检测并警告 XZ Utils 攻击中涉及的投毒测试文件,并计划未来自动检查开发阶段隔离,使构建系统安全检查器像程序代码检查器一样普及。

问题
现有软件供应链安全方法主要验证依赖或分析程序代码,忽视构建系统本身;被投毒的构建系统还可绕过程序代码漏洞检查。
方法
提出开发阶段隔离,将构建自动化的信息与行为权限按程序代码建模,并原型实现工具 Foreman 来检测构建系统投毒。
评估
Foreman 成功检测并警告 XZ Utils 攻击中涉及的投毒测试文件;作者还提出未来自动检查开发阶段隔离的计划。
原文摘要(Abstract)

Open source C code underpins society’s computing infrastructure. Decades of work has helped harden C code against attackers, but C projects do not consist of only C code. C projects also contain build system code for automating development tasks like compilation, testing, and packaging. These build systems are critcal to software supply chain security and vulnerable to being poisoned, with the XZ Utils and SolarWinds attacks being recent examples. Existing techniques try to harden software supply chains by verifying software dependencies, but such methods ignore the build system itself. Similarly, classic software security checkers only analyze and monitor program code, not build system code. Moreover, poisoned build systems can easily circumvent tools for detecting program code vulnerabilities by disabling such checks. We present development phase isolation, a novel strategy for hardening build systems against poisoning by modeling the information and behavior permissions of build automation as if it were program code. We have prototyped this approach as a tool called Foreman, which successfully detects and warns about the poisoned test files involved in the XZ Utils attack. We outline our future plans to protect against pipeline poisoning by automatically checking development phase isolation. We envision a future where build system security checkers are as prevalent as program code checkers.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot12027,
  title = {Build Code is Still Code: Finding the Antidote for Pipeline Poisoning},
  author = {Brent Pappas and Paul Gazzillo},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3786582.3786799}
}