比較
CRACI vs Lineaje
Lineajeはソフトウェアサプライチェーンの棚卸しとスコアリングを行い、その修正を支援します。CRACIは、GitHub Actionsの各ビルドが実際に取得したものを記録し、出荷したものを監視します。
更新日
結論
Lineajeはソフトウェアサプライチェーンのプラットフォームです。ソース、アーティファクトリポジトリ、コンテナをスキャンし、各コンポーネントのリスクをスコアリングし、完全性と出自をチェックし、可能なものを修正し、SBOM360 Hubを通じて顧客とSBOMを共有します。CRACIはGitHub Actionsランナーで、各ジョブが実際に取得した依存関係を記録し、その記録から完全性の状態付きのSBOMを生成します。
Lineajeは存在するものを分析します。CRACIはビルドが行ったことを記録して監視するため、CI、SBOM、脆弱性トラッキングが1つの製品から得られます。
概要
| 機能 | CRACI | Lineaje |
|---|---|---|
| 観測したビルド通信から作るSBOM | CRACIランナー上のパッケージを認識するプロキシ | ソース、アーティファクトリポジトリ、コンテナをスキャン |
| SBOMの品質や完全性を示す指標 | ジョブごと・キャッシュごとの完全性の状態 | NTIAの最小要素に照らしてSBOMを検証 |
| ランナーでのエグレスポリシー | デフォルト拒否または許可、フェイルクローズ | ビルドを実行しない |
| CIジョブの実行 | ジョブはCRACIランナー上で実行 | |
| 脆弱性の継続的な監視 | 監視対象のSBOMを再評価 | ソースコードとパッケージ化されたコードを継続的にスキャン |
| CRAのエビデンスとレポート | CycloneDXまたはSPDXのSBOM、APIによる記録、CRA通知の内容の準備に対応。レポートのエクスポートはなし | コンプライアンスレポートと証明のエビデンス |
| コンポーネントの改ざん・出自の検出 | 改ざんされたパッケージや出自の疑わしいものを検出 | |
| 修正済みのオープンソースパッケージ | Gold Open Sourceのパッケージとコンテナ | |
| VEXとCSAF | VEXに対応。CSAFは未記載 | VEXとCSAFを各SBOMに紐付け |
| 顧客とのSBOM共有 | CycloneDXとSPDXのファイルをエクスポート | 一度公開すれば顧客や再販業者と共有 |
- 対応
- 一部対応
- 非対応
Lineajeの強み
- 分析の深さ。SCA360は「ソフトウェア開発のあらゆる段階で、すべてのソフトウェアコンポーネントのソースコードとパッケージ化されたコードの両方」をスキャンし、必須および任意の依存関係チェーンを列挙し、到達可能な脆弱性を検出します。
- 完全性と出自。Lineajeは「埋め込まれた悪意のあるパッケージや改ざんされたパッケージ」を特定し、出自の疑わしいパッケージを強調表示し、オープンソースとプライベートの各コンポーネントの完全性を証明します。CRACIはこのような方法でコンポーネントを分析しません。
- 検出だけでなく修正も。SBOM360は直接の依存関係について互換性のある更新を見つけ、承認後に自動修正します。また、互換性があり、より安全なコンテナのクローンを作成できます。Gold Open Sourceは、修正済みのオープンソースパッケージ、コンテナ、パッチを提供します。
- SBOMの交換。SBOM360 HubはSBOMを製品のSKUに紐付け、NTIAの最小要素に照らして検証し、VEXとCSAFのドキュメントを各SBOMに紐付けて管理し、顧客、販売代理店、再販業者と共有します。そのアップロードAPIは「あらゆるSBOM作成ツールと互換性があります」。
自社で書いていないコードを含め、大規模な既存ポートフォリオの分析と整理を優先するなら、LineajeはCRACIよりも広い範囲をカバーしています。
CRACIの違い
来歴の2つの意味
Lineajeは来歴という言葉を主にコンポーネントについて使います。オープンソースパッケージがどこから来たのか、誰が貢献したのか、改ざんの兆候があるかどうかです。CRACIは自社のビルドについて使います。各ビルドが何を取得したかです。APIはSBOM、ネットワークトレース、来歴を返しますが、CRACIは来歴に署名しません。自社のリリースについて監査人が尋ねるのは、ビルドが何を取得したかです。
結果の分析ではなく、ビルドの記録
CRACIはジョブを実行します。runs-onをcraciに変更すると、パッケージを認識するプロキシが、ビルド中のパッケージソースへの通信を記録します。対象はnpm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk、Gitの各ソースとダウンロードプリセットです。依存関係のエビデンスはCIキャッシュと一緒に引き継がれるため、キャッシュから復元されたパッケージも記録に残ります。
この記録は、たまたまどのファイルが存在するかに左右されません。そこがスキャンの最も弱い点です。ジェネレーターは目の前のファイルの中で認識したものを報告するため、2つのジェネレーターを同じリポジトリに向けると異なる一覧が返り、どちらも間違ってはいません。Lineajeをそうした条件で比較することはできず、ビルドを記録する仕組みのためディレクトリをスキャンできないCRACIも同様です。
すべてのSBOMに完全性の状態
NTIAの検証は、SBOMが必須フィールドを備えているかをチェックします。CRACIは記録そのものについての指標を、ジョブごと・キャッシュごとに加えます。状態はComplete、Complete with connections、Incomplete、Unavailable、Not recordedのいずれかです。各SBOMで何が欠けているかがわかります。
ランナーでの制御
CRACIはジョブを実行するため、ネットワークのエグレスポリシーを適用します。デフォルト拒否またはデフォルト許可で、24種類の組み込みソフトウェアソースプリセットと型付きカスタムソースを備え、ジョブの開始前に検証され、フェイルクローズで動作します。Lineajeは出自の疑わしいパッケージを検出できますが、エグレスポリシーは、そもそもビルドがアクセスできるソースを制限します。
監視
CRACIは監視対象のSBOMを継続的に再評価し、ビルドとリポジトリをまたいで脆弱性を集約するため、検出結果は実際に出荷したものと結び付いています。
どこに何がデプロイされているかのインベントリ
CRACIのインベントリビューでは、どのソフトウェアバージョンがどの製品にデプロイされているかを、グローバルに正確に把握できます。新たな脆弱性が見つかったとき、リリースノートやスプレッドシートからつなぎ合わせることなく、影響を受けるバージョンを使用している製品を確認できます。
LineajeをCRACIに置き換える
GitHub Actionsを使うソフトウェアチームにとって、CRACIはLineajeが購入される目的の中核をカバーします。各ビルドでSBOMを生成し、新たな脆弱性が公開されるたびに監視対象のSBOMを再評価し続け、ビルドとリポジトリをまたいで検出結果を集約し、セキュリティチームがそれらをトリアージして、それぞれを修正を担当するチームに振り分けられるようにします。別途スキャンとインベントリのプラットフォームを運用する必要はありません。
手放すものも明確にしておきます。Lineajeは自社でビルドしていないコンポーネントを分析し、パッケージの改ざんや疑わしい出自をチェックし、到達可能な脆弱性を見つけ、Gold Open Sourceを通じて修正済みのパッケージとコンテナを提供します。CRACIは現在、そのいずれも行いません。SBOM360 HubはSBOM、VEX、CSAFのドキュメントを顧客や販売代理店と共有することもできます。CRACIはVEXに対応しSBOMをエクスポートしますが、共有ハブはホストしていません。サードパーティのコードを含め、大規模な既存ポートフォリオの整理を優先するなら、Lineajeのほうが適しています。
Cyber Resilience Actへの対応
Lineajeは規制に関するガイダンスでCRAを取り上げています。「SBOMは機械可読な形式でなければならず、製品のトップレベルの依存関係を含まなければならない」、そして「製品の技術文書に含め、要請に応じて市場監視当局に提供しなければならない」としています。規制対応には、SBOM360、SBOM360 Hub、Third Party Risk Managerを挙げています。
CRAの報告義務は2026年9月11日から適用され、実際に悪用されている脆弱性については、CRA Single Reporting Platformを通じて24時間以内に早期警告を行う必要があります。主要な規定は2027年12月11日から適用されます。トップレベルの依存関係は最低限にすぎず、推移的なパッケージも製品に含まれています。CRACIは各ビルドが使用した依存関係の全体を記録し、APIは各ビルドのCycloneDX SBOM、来歴、ジョブのネットワークトレースを返し、SBOMはCycloneDXまたはSPDXでエクスポートできます。
CRACIは、企業がより広範なCRAコンプライアンスのプロセスで必要とするソフトウェアサプライチェーンの可視性とエビデンスのかなりの部分を自動化します。どちらの製品も、それだけでメーカーをコンプライアンスに適合させるものではありません。CRAが求めるものとCRACIによるCRAコンプライアンスをご覧ください。
CRACIは現在GitHub Actionsに対応しています。GitLab CI、Jenkins、その他のCIシステムはロードマップに掲載されています。詳しくはビルド時SBOM生成と脆弱性トラッキングをご覧ください。