2026年に報告されたCVEは、1日あたり前年比131%増加しています。

すべてのビルドから記録する、ソフトウェアサプライチェーンセキュリティ

ソフトウェアサプライチェーンと製品が交わるのは、CIビルドの中です。CRACIはGitHub Actionsのジョブをセキュアなランナーで実行し、取り込まれるすべての依存関係を記録し、各ビルドの接続先を制御し、出荷したものの脆弱性をトラッキングし続けます。

GitHub Actions向けセキュアランナー

runs-onをcraciに変更するだけで、GitHub ActionsのジョブがCRACIのランナーで実行され、実行結果はこれまでどおりGitHubに表示されます。各ジョブは、ヨーロッパでホストされるLinux x86-64またはARM64の専用の隔離された仮想マシンで実行されます。より高速なハードウェア、短い待ち時間、キャッシュにより、ビルドはGitHubホステッドランナーの約2倍の速さで完了します。

GitHub Actions jobs on CRACI runners A GitHub Actions workflow sets runs-on to craci. Each job runs in its own isolated virtual machine on a CRACI runner, on Linux x86-64 or ARM64, hosted in Europe, and the run still appears in GitHub. .github/workflows/release.yml jobs: build: runs-on: craci was: ubuntu-latest CRACI runners Hosted in Europe Job VM build Linux x86-64 Job VM test Linux ARM64 Job VM publish Linux x86-64 One isolated virtual machine per job, 1 to 32 vCPU Runs still appear in GitHub About 2x GitHub-hosted speed

すべてのビルドから記録されるSBOM

CRACIはスキャナーではなく、記録ツールです。ランナー上のパッケージを認識するプロキシが、ジョブがnpm、PyPI、RubyGems、Cargo、Go、Nix、OCI、apt、apk、Gitの各ソース、さらにYoctoとOpenEmbeddedのダウンロードプリセットから取り込むすべてのパッケージを、CIキャッシュから復元されたパッケージも含めて捕捉します。各ジョブのSBOMには完全性の状態が付き、推移的依存関係と各コンポーネントの宣言ライセンスを含めてCycloneDXまたはSPDXでエクスポートできます。

An SBOM recorded during the build Packages from npm, PyPI, Cargo, Go, OCI registries and the CI cache pass through a package-aware proxy on the CRACI runner. The job's SBOM lists what was fetched, states its completeness and exports as CycloneDX or SPDX. Package sources npm PyPI Cargo · Go OCI registries CI cache restore Package- aware proxy on the runner Job SBOM express 5.2.1 requests 2.32.3 serde 1.0.219 + transitive deps Declared license on every component Complete Completeness states per job and cache: Complete, Complete with connections, Incomplete, Unavailable, Not recorded CycloneDX · SPDX

ビルドの接続先を制御

エグレスポリシーは、ジョブが接続できるホストを決めます。デフォルト拒否またはデフォルト許可、24種類の組み込みソフトウェアソースプリセット、パッケージレジストリとGit向けの型付きカスタムソース、明示的なネットワークルールを設定できます。ポリシーはジョブの開始前に検証され、フェイルクローズで動作し、違反があればアラートが発生します。侵害された依存関係やビルドステップが、承認していないホストへひそかにデータを送信することはできません。

An egress policy on the build network A build job connects to hosts in its egress policy, such as package registries and Git, and a connection to a host outside the policy is blocked. The policy is validated before the job starts and fails closed, and a violation sends an alert. Egress policy Default deny Validated before the job starts Fails closed · 24 source presets Build job on a CRACI runner npm registry allowed PyPI allowed Git over HTTPS allowed Unapproved host blocked Alert on policy violation Connections are recorded in the job's network trace

出荷するものの来歴

公開REST APIは、ジョブごとにSBOM、ネットワークトレース、来歴を返します。いずれも同じビルドから記録されたものです。エビデンスはビルドそのものから得られ、ワークフローに追加のステップは必要ありません。

Provenance data from every build Every job on CRACI records the packages it fetched and its network trace. The public REST API returns the job's SBOMs, network trace and provenance. Build release job on CRACI Recorded packages fetched network trace Provenance build data, via the API Ask the API about any job Job → SBOM, trace, provenance Returned by the API Job Packages CycloneDX SBOM Network trace Recorded on every CRACI job, no extra step

リリース後の脆弱性トラッキング

CRACIは、新たな脆弱性が公開されるたびに出荷済みのSBOMを再評価し、ビルドとリポジトリをまたいで検出結果を集約します。セキュリティチームは検出結果をトリアージし、修正を担当するチームに振り分けます。ポリシーゲートで検出結果やライセンスに応じてビルドをブロックでき、VEXにも対応し、ベンダーのSBOMも自社のビルドと並べて監視されます。インベントリビューでは、どのソフトウェアバージョンがどの製品にデプロイされているかが分かります。

Vulnerability tracking after release After a release ships, its SBOM stays monitored. When a new vulnerability is published, CRACI re-evaluates the monitored SBOMs, finds the affected releases, and the security team triages the finding and routes it to the team that owns the fix. The inventory view shows which software versions are deployed to which products. Release shipped SBOM monitored Later New advisory published Re-evaluated automatically Finding: critical, in 2 releases 1. Triage 2. Route to owner 3. Team fixes Policy gates can block a build on findings · VEX supported Inventory: deployed versions Product Version Web app v4.12.0 Mobile API v2.3.1

顧客と監査人のためのエビデンス

顧客、監査人、規制は、リリースごとのSBOMと、脆弱性への対応記録を求めるようになっています。CRACIはSBOMを、コンポーネントで見つかった脆弱性を含めてCycloneDXまたはSPDXでエクスポートでき、公開REST APIはSBOM、ネットワークトレース、来歴を返します。同じエビデンスが、EU Cyber Resilience Act、NIS2、FDAのSBOM要件、ISO 27001のサプライチェーン管理策への対応を支えます。

Evidence from the build record SBOMs export as CycloneDX or SPDX, including the vulnerabilities found in their components, and the public REST API returns SBOMs, network traces and provenance, for customers, auditors and frameworks such as the EU Cyber Resilience Act, NIS2, FDA SBOM requirements and ISO 27001 supply chain controls. The build record SBOMs Vulnerability records Provenance Network traces Export CycloneDX SPDX REST API Who asks for it Customers Auditors Security reviews Frameworks this evidence supports EU Cyber Resilience Act NIS2 supply chain security FDA SBOM for cyber devices ISO 27001 supply chain controls

サプライチェーンインシデントで問われること

パッケージ、CIアクション、レジストリが侵害されたとき、最初の数時間は自社が影響を受けているかの確認に費やされます。ここでは、チームが抱く問いと、CRACIのビルド記録がそれにどう答えるかを示します。

問い CRACIの答え
自社のビルドが、侵害されたバージョンのパッケージを取り込んでいないか? すべてのビルドのSBOMに、ジョブが実際に取得したパッケージが記載されているため、リポジトリを再スキャンする代わりに記録済みのビルドを検索できます。
影響を受けるのはどの製品とリリースですか? 監視対象のSBOMは継続的に再評価され、インベントリビューでソフトウェアバージョンとそのデプロイ先の製品を対応付けられます。
ビルドステップがシークレットをどこかに送信した可能性はありますか? 各ジョブのネットワークトレースが行われた接続を記録し、エグレスポリシーはポリシー外のホストへの接続を到達前にブロックします。
このSBOMは提出できるほど完全ですか? 各ジョブのSBOMは、Complete、Complete with connections、Incomplete、Unavailable、Not recordedのいずれかで完全性を示します。
誰が修正していて、対応したことを証明できますか? 検出結果はトリアージされて担当チームに振り分けられ、SBOMはコンポーネントで見つかった脆弱性を含めてCycloneDXまたはSPDXでエクスポートできます。

CRACIが対象とするのは、ビルドとそれが出荷するものです。コードスキャン、シークレットスキャン、到達可能性分析は、引き続きアプリケーションセキュリティツールが担います。現在はGitHub Actionsに対応しており、その他のCIシステムはロードマップに掲載されています。

ソフトウェアサプライチェーンセキュリティのよくあるご質問

対象範囲、CI/CDで取り組むべき理由、CRACIの役割

ソフトウェアサプライチェーンセキュリティとは何ですか?

ソフトウェアサプライチェーンセキュリティは、最初のコミットからリリースまでの間にソフトウェアに入り込むすべてのもの、つまりオープンソースの依存関係、ベースイメージ、ビルドツール、サードパーティのCIアクション、CIパイプライン自体、出荷する成果物を守ることです。それらの構成要素が何かを把握し、どこから来るかを制御し、各リリースに何が含まれたかを証明することを意味します。

なぜCI/CDでソフトウェアサプライチェーンを守るのですか?

依存関係が解決され、ダウンロードされ、パッケージ化されるのはリリースビルドです。本番ビルドはノートPC上のビルドとは異なります。バージョン範囲、変更可能なタグ、キャッシュによって、異なるものが取り込まれる可能性があります。リリースビルドの実行中に取得した記録だけが、出荷内容の信頼できる記録です。そして、ビルドの接続先を制御できるのはビルドランナーです。

CRACIはサプライチェーンセキュリティのスキャナーとどう違いますか?

スキャナーは、マニフェスト、ロックファイル、ソースコード、完成したバイナリといったファイルを事後に読み取ります。CRACIはGitHub Actionsのジョブを実行するランナーであるため、ビルドをその場で観測し、各ジョブが実際に取り込んだパッケージを、CIキャッシュから復元されたパッケージも含めて記録します。各SBOMは自らの完全性を示し、エグレスポリシーがビルドの接続先を制御し、APIはSBOM、ネットワークトレース、来歴を返します。

CRACIはGitHub Actionsのワークフローを置き換えますか?

いいえ。CRACIが置き換えるのはランナーであり、GitHub Actionsではありません。runs-onをcraciに変更するだけで、ワークフロー、トリガー、実行履歴はGitHubに残ります。

CRACIはどのCIシステムとプラットフォームに対応していますか?

現在はGitHub Actionsに対応しています。GitLab CIやJenkinsを含むその他のCIシステムはロードマップに掲載されています。ランナーはx86-64とARM64のLinuxで、WindowsとmacOSはロードマップに掲載されています。

CRACIはSAST、シークレットスキャン、到達可能性分析を行いますか?

いいえ。CRACIはビルドを記録・制御し、出荷したものの脆弱性をトラッキングし、エビデンスを生成します。自社コードの欠陥やシークレットのスキャン、到達可能性分析は、アプリケーションセキュリティツールの役割です。

ビルドデータはどこに保存されますか?

CRACIはヨーロッパのベアメタルインフラ上でホストされており、データはデフォルトで180日間保持されます。Enterpriseでは保持期間をカスタマイズできます。CRACIはソースコードを保存しません。CRACIはISO 27001認証を取得しており、詳細はTrust Centerでご確認いただけます。

ビルドが実際に取り込むものを確認

デモを予約して、CRACIがGitHub Actionsのビルドについて記録するSBOM、ネットワークトレース、エグレスポリシー、来歴をご覧ください。

デモを予約