Kettle: 検証可能なソフトウェア由来証明のための認証付きビルド Kettle: Attested builds for verifiable software provenance
- Kettleは、ビルド工程をTEEなどで認証し、ソースから成果物までの来歴を暗号学的に検証可能にする仕組みを提案する研究。
- SolarWinds型のサプライチェーン攻撃対策として、再現ビルドや署名と組み合わせた信頼チェーン構築を目指す。
English summary
- Kettle proposes attested builds that cryptographically bind source code to compiled artifacts, enabling verifiable software provenance and defending against supply-chain attacks like SolarWinds by combining trusted execution with reproducible build practices.
Kettleは、ソフトウェアの「ビルド工程そのもの」を信頼の対象とし、ソースコードから成果物に至る来歴を暗号学的に検証可能にすることを目指す研究である。SolarWinds事件以降、ソフトウェアサプライチェーンの脆弱性は国家レベルの懸念事項となっており、本研究はその中核的な弱点に踏み込むものと位置付けられる。
従来、開発者が署名するコード署名は「誰が成果物を配布したか」を示すに過ぎず、ビルドサーバー上で悪意あるコードが挿入された場合を検出できない。Kettleはこの問題に対し、ビルドを認証された環境(TEEや検証可能な実行基盤と見られる)で実行し、入力ソース・ビルド構成・出力バイナリのハッシュを束ねた証明書を生成する仕組みを提示する。利用者は配布されたバイナリが、特定のソースリビジョンから特定の手順で生成されたことを第三者検証できる。
背景として、近年はSLSA(Supply-chain Levels for Software Artifacts)やin-toto、Sigstore、再現ビルド(Reproducible Builds)など、来歴と完全性を保証する枠組みが急速に整備されている。GoogleやLinux Foundationが主導するこれらの取り組みは、メタデータの署名や監査ログの公開を中心とするが、ビルド環境自体の改竄耐性については外部の信頼に依存する部分が残る。Kettleはハードウェア支援の認証(リモートアテステーション)を組み込むことで、この信頼の根を狭めるアプローチと考えられる。
Kettleは、ビルド工程をTEEなどで認証し、ソースから成果物までの来歴を暗号学的に検証可能にする仕組みを提案する研究。
一方で、TEEベースの認証はIntel SGXの脆弱性事例が示すように万能ではなく、ハードウェアベンダへの依存や鍵管理の運用コストといった課題が残る可能性がある。また、ビルドの非決定性(タイムスタンプ、並列化、外部依存解決など)が証明の有用性を損なうため、再現ビルドの実践との組み合わせが実装上の鍵となるだろう。研究の実用化には、CI/CDエコシステム(GitHub Actions、Bazel、Nixなど)との統合や、配布チャネルでの検証フローの標準化が今後の論点となると見られる。
Kettle is a research proposal that treats the build process itself as a first-class trust boundary, aiming to make the journey from source code to shipped binary cryptographically verifiable. In the wake of SolarWinds and a steady stream of compromised build pipelines, this question has moved from academic curiosity to a top-tier concern for governments and enterprises alike.
Traditional code signing only attests that a particular publisher released a particular artifact. It says nothing about what happened inside the build server. If an attacker injects malicious code during compilation, the resulting binary is still signed with a legitimate key and passes downstream verification. Kettle attacks this blind spot by running builds inside an attested environment, likely leveraging trusted execution technology and remote attestation, and emitting a certificate that binds together the hashes of input sources, build configuration, toolchain, and output artifacts. A downstream consumer can then independently verify that a given binary was produced from a specific source revision by a specific, inspectable procedure.
The work sits within a rapidly maturing ecosystem of supply-chain integrity efforts. SLSA, championed by Google and the OpenSSF, defines progressive levels of build provenance assurance. in-toto formalizes the chain of custody across pipeline steps. Sigstore provides keyless signing and a transparency log for artifacts. The Reproducible Builds project, meanwhile, has spent over a decade hardening Debian, Arch, and others against the assumption that bit-identical outputs from identical inputs are unattainable. Most of these frameworks rely on signed metadata and auditable logs but ultimately trust that the build host itself has not been subverted. Kettle appears to tighten that root of trust by anchoring it in hardware attestation rather than operational hygiene alone.
That anchoring is not without trade-offs. TEEs such as Intel SGX, AMD SEV-SNP, and ARM CDN have all faced side-channel and architectural vulnerabilities, and they introduce a dependency on specific silicon vendors and their attestation services. Key management, revocation, and long-term verifiability of certificates issued by retired hardware generations remain open operational questions. There is also a tension between attestation and build determinism: if a build embeds timestamps, resolves dependencies dynamically, or parallelizes nondeterministically, two honest builds of the same source can produce different binaries, weakening the practical value of any single attestation. For this reason, Kettle's approach is likely most powerful when combined with reproducible-build discipline, so that multiple independent attested builders can corroborate one another.
The practical impact will depend heavily on integration with existing CI/CD ecosystems. GitHub Actions has begun shipping artifact attestations based on Sigstore and SLSA; GitLab, Buildkite, and cloud-native systems like Tekton Chains are moving in similar directions. Build systems with strong hermeticity guarantees, such as Bazel and Nix, are natural partners for this kind of work because they already constrain inputs in ways that make attestations meaningful. Whether Kettle's specific design becomes a standard or simply informs the next iteration of SLSA-style frameworks remains to be seen, but the underlying direction, pushing verifiability deeper into the toolchain, looks set to define supply-chain security work for the rest of the decade.
本ページの本文・要約は AI による自動生成です。正確性は元記事 (arxiv.org) をご確認ください。