比較
CRACIとReversingLabs Spectra Assureの比較
Spectra Assureは、これから出荷するパッケージを検査します。CRACIは、それを生み出したビルドを記録します。一方は出力を調べ、もう一方はプロセスのエビデンスを残します。それぞれ、もう一方には捉えられないものを捉えます。
更新日
結論
ReversingLabs Spectra Assureは、コンパイル済みのソフトウェアパッケージをソースコードなしで解析し、マルウェア、改ざん、露出したシークレット、不審な挙動、脆弱性を調べ、その結果からSBOMを作成します。CRACIはGitHub Actionsのランナーで、各ビルドが実行中に取り込むものを記録し、ビルドの到達先を制御し、出荷したものを監視し続けます。Spectra Assureは出力に対する最終試験であり、CRACIはビルドの記録です。どちらもソフトウェアサプライチェーンのリスクに、反対側の端から取り組むもので、うまく組み合わせられます。
一覧で比較
| 機能 | CRACI | ReversingLabs |
|---|---|---|
| ビルドが取得したものの記録 | 各ジョブの実行中にランナーが観測 | ビルド後にパッケージを解析 |
| CIビルドの実行 | ジョブはCRACIランナーで実行 | CIステップで完成した成果物をスキャン |
| ビルド実行中のエグレスポリシー | ジョブ前に検証、フェイルクローズ | 対象範囲外 |
| CycloneDXとSPDXのSBOM | ビルドから生成、完全性の状態付き | バイナリから生成、ML-BOM、CBOM、SaaSBOMも |
| 完成したバイナリの解析 | 静的バイナリ解析、ソースコード不要 | |
| マルウェア検出 | 16の検出エンジンと脅威インテリジェンス | |
| 改ざんの検出 | APIで来歴データを取得。バイナリの差分比較なし | バージョン間の差分解析 |
| 自社でビルドしていないソフトウェアへの対応 | ビルドをCRACIで実行する必要あり | サードパーティ製・商用ソフトウェアを検証 |
| CIシステム | 現在はGitHub Actions。GitLab CIとJenkinsはロードマップに掲載 | GitHub Actions、GitLab CI、Jenkins、Azure DevOps、TeamCity |
| 料金 | 1vCPU分あたり$0.002(2 vCPUは$0.004)、秒単位の従量課金。月額料金なし、SBOMごとの課金なし | Communityは無料、Community+は月額$500、EssentialsとEnterpriseは要問い合わせ(2026年9月時点)。 |
- 対応
- 一部対応
- 非対応
Spectra Assureの強み
完成したパッケージの詳細な解析。Spectra Assureは静的バイナリ解析を使い、大規模で複雑なソフトウェアパッケージをソースコードなしで処理します。対応ファイル形式は70種類以上のアーカイブ形式、多数のインストーラー形式、200種類以上の実行ファイルパッカーに及び、すべてのファイルがgoodware、suspicious、malicious、unknownのいずれかに分類されます。
マルウェアと改ざん。ここはReversingLabsの本領です。Spectra Assureは16の独自マルウェア検出エンジンを使い、ReversingLabsによれば4,000億ファイルをカバーする脅威インテリジェンスデータベースがそれを支えています。組み込みの差分解析はバージョン間を比較し、不審な変更や改ざんの兆候を検出します。これにより、自社でビルドしたリリースでも予期しない挙動の変化を捉えられます。
SBOMとその先。SAFEレポートは、SBOMとリスク評価を組み合わせたものです。CLIはCycloneDX 1.6とSPDX 3.0.1をエクスポートし、ReversingLabsは同じパッケージについてML-BOM、CBOM、SaaSBOMのビューも生成します。
自社でビルドしていないソフトウェア。バイナリを対象とするため、Spectra Assureは商用やサードパーティのソフトウェアをデプロイ前に評価でき、無料のSpectra Assure Communityは広く使われているオープンソースパッケージや開発者ツールをチェックします。
リリースパイプラインへの組み込み。rl-secure CLIはオンプレミスとCIで動作し、ホスト型のPortalでプロジェクトとバージョンを管理します。公式の連携先はGitHub Actions、GitLab CI、Jenkins、Azure DevOps、TeamCity、JFrog Artifactoryです。
CRACIが異なる点
バイナリスキャンは、完成したパッケージからさかのぼって調べます。CRACIはビルドが実行されるマシンそのものなので、ビルドから順に記録していきます。
ビルドこそが信頼できる情報源
runs-onを1行変更するだけで、ワークフローはCRACIで実行されます。パッケージを認識するプロキシが、各ジョブがnpm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk、Gitの各パッケージソースからダウンロードしたものを記録し、CIキャッシュから復元されたパッケージも引き継がれます。各SBOMは、ジョブごと・キャッシュごとに、どれだけ完全かを明示します(Complete、Complete with connections、Incomplete、Unavailable、Not recorded)。ビルドツールやテスト用の依存関係など、ビルドが取得して使用したものの、出荷はしなかったものも含まれ、これは出力のスキャンでは見えません。
ビルドの到達先を制御
ランナーでのエグレスポリシーが、ジョブが接続できるホストを決めます。ポリシーはジョブ開始前に検証され、フェイルクローズで動作し、違反時にはアラートを送信します。ビルド後のスキャンは出力内の悪意あるペイロードを見つけられますが、エグレスポリシーは、侵害された依存関係がビルド中に未承認のホストへ到達するのを阻止できます。
来歴と監視
APIはSBOM、ネットワークトレース、来歴を返します。CRACIは来歴に署名しません。アドバイザリの公開に応じて、監視対象のSBOMを再評価し続けます。
CRACIが行わないことも同じくらい重要です。バイナリの解析、マルウェアの検出、2つのリリース間の挙動比較は行いません。ビルドステップが出力にコードを注入した場合、CRACIの記録はビルドが何をどこから取得したかを示しますが、結果を検査するのはバイナリスキャンです。
どこに何がデプロイされているかのインベントリ
CRACIのインベントリビューは、どのソフトウェアバージョンがどの製品にデプロイされているかを、全世界にわたって正確に表示します。新たな脆弱性が見つかったとき、リリースノートやスプレッドシートをつなぎ合わせなくても、影響を受けるバージョンを使っている製品を確認できます。
使い分けと併用
- 商用またはサードパーティのソフトウェアをデプロイする。Spectra Assureです。CRACIが記録できるのは、CRACIで実行されるビルドだけです。
- 各リリースに何が入ったかの証明が必要。CRACIです。記録はランナーから得られ、完全性も明示されます。
- マルウェアと改ざんに対するリリースゲートが欲しい。Spectra Assureです。公開前に成果物に対して実行してください。
- リリースを両方の視点で見たい。CRACIでビルドし、同じワークフローのステップとしてSpectra Assureのスキャンを実行してください。CRACIは「このビルドに何が入ったか」に答え、Spectra Assureは「このパッケージに何が入っているか」に答えます。両者が食い違う箇所があれば、そこが調査すべきポイントです。
CRAへの対応
Cyber Resilience Actはメーカーに対し、SBOMを含めて製品のコンポーネントを文書化し、製品のサポート期間中は脆弱性に対処することを求めています。積極的に悪用されている脆弱性の報告は2026年9月から適用されます。ReversingLabsは自社のSBOM機能が対応する規制の1つとしてCRAを挙げており、市場に投入するパッケージの解析は有用なエビデンスになります。CRACIは、そのパッケージに何が入ったかのビルドごとのエビデンスに加え、来歴、継続的な監視、CycloneDXまたはSPDXでのSBOMエクスポートを提供します。CRACIは、企業がより広範なCRAコンプライアンスのプロセスで必要とするソフトウェアサプライチェーンの可視性とエビデンスのかなりの部分を自動化しますが、どちらのツールもそれだけで製品を準拠させるものではありません。CRAの要件をご覧ください。
Spectra AssureとCRACIの併用
Spectra Assureのスキャンステップはそのまま残します。runs-on: craciを設定してリリースジョブをCRACIランナーに移すと、同じワークフローはGitHub Actionsで実行され続け、CRACIがビルドを記録します。ReversingLabsのGitHub Actionsは通常のワークフローステップなので、スキャンは同じジョブ内に残ります。エグレスポリシーを設定する場合は、スキャナーが必要とするホストを許可してください。CRACIが現在対応しているのはGitHub Actionsのみのため、GitLab、Jenkins、Azure DevOpsのパイプラインでCRACIランナーを使うには移行が必要です。GitLab CIとJenkinsはロードマップに掲載されています。コンシューマーエレクトロニクスやSaaSでのCRACIの活用方法もご覧ください。