
GitHub
Google本周释出OSS Rebuild以协助开发人员确保开源套件的安全性,免于供应链攻击。目前已支援PyPI、npm和Crates.io套件。
Google指出,开源软件已成现代应用开发的重要工具,然而开源工具普及使用也使其成为新的攻击目标,像是透过感染众多人使用的套件进行供应链攻击。开源社群也分别发展出安全工具,如OpenSSF推出的安全检查工具Security Scorecard、PyPI的Trusted Publisher和npm原生支援由OpenSSF主导的SLSA(Supply-chain Levels for Software Artifacts)框架等。但是这些计画都只解决一部份问题,使专案工作负担落在接手的出版者或维护者身上。
因此Google推出了OSS Rebuild,其宗旨为在SLSA Build框架中利用宣告式建构流程(declarative build)、建构仪表监控(build instrumentation)、网路行为监控(network monitoring)产生可微调、可信赖的安全metadata,藉此提升供应链的透明度及安全性。
OSS Rebuild包括四个部份。自动建构定义、SLSA Provenance证明、建构验证工具及可自行架设的基础架构。技术层面而言,OSS Rebuild透过自动化与启发式(heuristics)技术重建开源套件并验证其来源与建构方式,以便使用者验证套件来源、了解其建构流程,并可基于可信版本进行自订建构或产生更详细的SBOM(软件物料清单)。
OSS Rebuild延续Google先前OSS-Fuzz(记忆体漏洞侦测平台)工具使用的代管基础架构模式,差别在OSS旨在用于开源专案自动化记忆体错误侦测,而OSS Rebuild目的是解决开源软件供应链的安全问题。
目前OSS Rebuild已支援PyPI(Python)、npm(JS/TS)和Crates.io(Rust)。其他套件目前无法完全自动重建,让平台允许社群手动提供建构规格。但Google表示其愿景在扩及到更多套件的生态体系。
团队也开始尝试让OSS Rebuild使用AI语言模型来自动解析这些文件、协助理解与重建,已证实在複杂专案中具可行性。
就安全效益而言,OSS Rebuild可协助侦测的供应链安全问题包括未出版的来源程序码、Build环境的破坏、不易发现的后门程序。作为企业及安全部门的工具,OSS Rebuild可提升metadata、强化SBOM、加快漏洞回应。对出版及维护人员,这项工具则能提升套件的可信赖度及旧式套件的安全性,使其专注在开发工作本身。
目前最方便使用OSS Rebuild的方法是其提供的Go-based指令行工具。Google也邀请开发人员到GitHub试用。