背景:相次ぐサプライチェーン攻撃への対応

2026年3月には「Trivy」「LiteLLM」のサプライチェーン侵害が発生し、それ以前にも「Ultralytics」「tj-actions」「Nx」など著名なOSSプロジェクトが攻撃を受けた。こうした状況を受け、Python向け高速ツールチェーン「uv」と「Ruff」を開発するAstralは、2026年4月8日に自社OSSプロジェクトで実践しているセキュリティ対策を包括的に公開した。執筆者はAstralのWilliam Woodruff氏で、ユーザーや他のメンテナー、CI/CDシステム開発者にとって参考になる知見を共有することを目的としている。

CI/CDワークフローのセキュリティ強化

CI/CD面では、まずpull_request_targetworkflow_runといったGitHub Actionsのトリガーを組織全体で禁止している。Astralはこれらを「安全に使うことがほぼ不可能」と断じ、より安全な代替手段が存在するケースがほとんどだと主張している。

GitHub Actionsのアクション参照はすべてコミットハッシュへのピン留めを必須とし、可変なタグやブランチへの参照は許可しない。ピン留めの強制には静的解析ツールzizmorunpinned-usesimpostor-commitチェック)とGitHubの組織レベルポリシーを組み合わせて使用する。ただし、ハッシュピン留めで改ざんは防げても「ピン留め済みアクションが実行時に未検証のバイナリをダウンロードする」ケースは防ぎきれないという限界も率直に認めている。

ワークフローはデフォルトでpermissions: {}(権限なし)とし、ジョブ単位で必要最小限の権限のみ付与する。シークレットはリポジトリや組織全体でなく、デプロイ環境単位にスコープを限定している。

リリースプロセスとリポジトリ管理

リリースセキュリティの核心は長期有効な認証情報の排除だ。PyPI・crates.io・NPMへの公開にはOIDCベースのTrusted Publishingを採用し、固定のクレデンシャルが不要な仕組みを実現している。加えてSigstoreの署名・証明機能で、公開済みアーティファクトとそれを生成したワークフローの間に暗号学的な検証可能リンクを形成する。

GitHubのイミュータブルリリース機能によってリリース後の成果物改ざんを防ぎ、キャッシュポイズニング攻撃を防ぐためリリースワークフロー中はキャッシュを無効化している。uvのような大規模プロジェクトでは、最小権限のGitHub Appがタグ作成を仲介するrelease-gate環境を設け、タグ保護ルールセットによりデプロイ完了前のタグ作成を禁止している。また、リリースには別の権限保有メンバー1名以上の承認が必要で、多人数承認ゲートが設けられている。

組織レベルのブランチ・タグルールセットは管理者でも回避できない形で設定されており、そのルールセットはGitHub Gistで公開して他プロジェクトへの横展開を促している。

依存関係管理と上流コミュニティへの関与

依存関係の自動更新にはDependabotRenovateを利用し、既知の脆弱性を継続的に検出している。特徴的なのは「クールダウン戦略」で、新バージョンリリース直後は意図的に更新を遅らせる。これは「一時的に侵害された依存関係がリリース直後に最も影響しやすい」というサプライチェーン攻撃の窓口を意識した対策だ。RenovateのグループごとのクールダウンでAstral自社依存は緩め、サードパーティ依存は厳しく設定している。

技術的な対策に加え、主要な上流依存のメンテナーと社会的な関係を構築し、セキュリティ改善を上流プロジェクトへ積極的にコントリビュートしている(例:apache/opendal-reqsignへのCI/CDセキュリティ改善)。Python Packaging AuthorityやPython Security Response Teamへの参加、不必要な依存の削除、バイナリblobを含む依存の回避、OSSファンドを通じた財政的支援も実践している。

まとめ:4つの原則

Astralはこれらの実践を4原則に集約している。①CI/CDの限界を尊重し安全に実行できない操作はGitHub Appで代替する、②OIDC活用で長期有効な認証情報を排除する、③環境保護・多人数承認・ルールセット・イミュータブルリリースでリリースプロセスを強化する、④自動化ツールと上流コミュニティへの積極的な参加で依存関係を継続的に監視・管理する。本記事はzizmor・pinact・Sigstore・Trusted Publishingなど具体的なツール名とともに実践的な知見を詳述しており、OSSプロジェクトのセキュリティ強化を検討するメンテナーにとって参考価値が高い内容となっている。