比較
CRACI vs DefectDojo
DefectDojoは、多くのセキュリティツールの検出結果が集まる場所です。CRACIは、ソフトウェアが何から構築されているかの記録が始まる場所です。PSIRTにとって、両者は同じ問い、つまり「この脆弱性は自社のどの製品に影響するのか」の異なる部分に答えます。
更新日
要点
DefectDojoはオープンソースの脆弱性管理プラットフォームで、OWASPのフラッグシッププロジェクトです。テキサス州オースティンのDefectDojo Inc.が商用版のDefectDojo Proを提供しています。すでに運用しているセキュリティツールの結果を取り込み、重複を排除して1つのキューにまとめ、修正状況を追跡します。ProではSBOM管理とPSIRT Advisory Engineが加わります。CRACIはGitHub Actionsランナーであり、各ビルドが実行中に取り込むものを記録し、その記録からSBOMを生成して、新たな脆弱性について監視し、セキュリティチームが検出結果をトリアージできるようにします。DefectDojoは他のツールが報告するものを集め、CRACIは自社でビルドするソフトウェアの依存関係の記録そのものを生み出します。
一覧で比較
| 機能 | CRACI | DefectDojo |
|---|---|---|
| SBOMの生成 | 各ビルド中にランナーが記録 | アップロードされたSBOMを取り込む(Pro) |
| CIビルドを実行 | ジョブはCRACIランナーで実行 | パイプラインの結果を取り込む |
| 他のスキャナーの検出結果の取り込み | 500以上の対応ツール、重複排除 | |
| SBOMの完全性の状態 | ジョブごと・キャッシュごとに5つの状態 | 受け取るSBOMに依存 |
| サードパーティのSBOMの取り込み | ベンダーのSBOMを追加可能 | CycloneDXとSPDX(Pro) |
| 継続的な脆弱性分析 | 監視対象のSBOMをビルドとリポジトリをまたいで再評価 | ProがアドバイザリフィードをSBOMデータと照合 |
| VEX | CycloneDX VEXのエクスポート(Pro) | |
| トリアージと担当者 | 検出結果をトリアージしチームに振り分け | 担当者付きのケース、SLA追跡、Jiraチケット |
| ビルドのネットワークエグレスポリシー | デフォルト拒否または許可、フェイルクローズ | ビルド後の結果を扱う |
| 導入形態 | 現在はマネージド型。顧客ホスト型ランナーはロードマップに掲載(Enterprise) | オープンソース版はセルフホスト。Proはクラウドまたはセルフホスト |
| CIシステム | 現在はGitHub Actions。GitLab CIとJenkinsはロードマップに掲載 | CIシステムではなく、パイプラインから結果を取り込む |
| 料金(2026年10月) | 1vCPU分あたり$0.002(2 vCPUは$0.004)、秒単位の従量課金。月額料金なし、SBOMごとの課金なし | Communityは無料。Proは月額$100から、検出結果1件あたり$0.15 |
- 対応
- 非対応
- ロードマップに掲載
DefectDojoの強み
すべてのスキャナーを1つのキューに。DefectDojoのサイトには500以上の対応ツールが掲載されており、その目的は「スタック内のあらゆるSAST、DAST、SCA、クラウド、コンテナのスキャナーの結果を、重複を排除して1つのキューに」と明快に説明されています。重複するスキャナー間での重複排除こそ、多くのチームが採用する理由です。そこから検出結果に担当者、SLA、Jiraチケットが割り当てられます。
長い実績を持つオープンソース。Community EditionはBSD 3-Clauseライセンスのもと無料で、Docker Composeで動作します。OWASPはDefectDojoをフラッグシッププロジェクトに位置付けており、DefectDojoによれば10,000以上の組織が利用しています。DefectDojo Inc.は2024年9月にシリーズAで700万ドルを調達しました。
アセットモデルとしてのSBOM。Proでは、アセットにアップロードされたSBOMが、DefectDojoのコンポーネント単位のアセットモデルであるLocationsの依存関係の集合になります。CycloneDX(JSONとXML)とSPDX(JSON、XML、tag-value)を取り込み、CycloneDX 1.6またはSPDX 2.3でエクスポートし、検出結果のステータスをCycloneDX VEXドキュメントとしてエクスポートします。ドキュメントには、DefectDojo自体はSBOMを生成しないと明記されています。
PSIRTワークフロー。DefectDojoは2026年4月に、PSIRT Advisory Engineを「PSIRT専用に構築された初のセキュリティプラットフォーム」として発表しました。これはProの機能です。CISA Known Exploited Vulnerabilities、NVD、EUVD、Red Hat、Exploit-DBなどのフィードからアドバイザリを取り込み、SBOMデータやカスタムのアセットルールと照合し、CVSS、EPSS、KEVのステータスで優先順位を付け、担当者付きのケースにまとめ、ブランド入りのPDFアドバイザリを公開します。2026年9月のProリリースでは、CSAF 2.0とVEXのアドバイザリエクスポート、CRA第14条の報告インターフェースが追加されました。
公開された料金。従量課金のProは月額$100に加え、処理した検出結果1件あたり$0.15で、年間前払いには割引があります。Community Editionは引き続き無料です。
CRACIの違い
DefectDojoは、他のツールが生成した結果を起点に動作します。CRACIはビルドが実行されるマシンそのものであるため、独自の記録を生成します。
SBOMはビルドから生まれる
DefectDojoのアドバイザリ照合の精度は、読み込むSBOMデータの質に左右され、そのSBOMは上流のどこかにある生成ツールから生まれます。CRACIはランナーを置き換えます。runs-onをcraciに変更すると、パッケージを認識するプロキシが、各ジョブがパッケージソースから取得したものを記録します。CIキャッシュから復元されたパッケージや、どのロックファイルにも記載されない隠れた依存関係も対象です。CycloneDXまたはSPDXのSBOMはその記録から生成され、それぞれにジョブごと・キャッシュごとの完全性の状態が示されます。状態はComplete、Complete with connections、Incomplete、Unavailable、Not recordedのいずれかです。
同じ記録の上で監視とトリアージ
CRACIは新たな脆弱性が公開されるたびに監視対象のSBOMを再評価し、ビルドとリポジトリをまたいで検出結果を集約します。ビルド履歴には、保持期間内の過去のすべてのビルドとそのSBOMが表示されるため、脆弱な依存関係を含んでいたビルドとその期間がわかります。インベントリビューでは、どのソフトウェアバージョンがどの製品にデプロイされているかを確認できます。セキュリティチームは検出結果をトリアージして修正を担当するチームにそれぞれ振り分け、VEXを記録し、特定のCVEを含むビルドを含めてビルドをブロックするポリシーゲートを設定できます。ベンダーのSBOMも追加できるため、購入したコンポーネントも自社のビルドと並べて監視されます。
ビルドがアクセスできる範囲の制御
CRACIはジョブを実行するため、ネットワークのエグレスポリシーを適用できます。ポリシーはデフォルト拒否またはデフォルト許可で、24の組み込みソフトウェアソースプリセットを備えています。ポリシーはジョブ開始前に検証され、フェイルクローズで動作します。DefectDojoはリスクのあるコンポーネントを事後に追跡できますが、エグレスポリシーはそもそもビルドがどこから取得できるかを制限します。
CRACIが行わないこと
CRACIは他のスキャナーの検出結果を取り込まないため、SAST、DAST、クラウド、コンテナの結果をまとめる単一のキューにはなりません。ソースコードはスキャンしません。SASTとシークレットスキャンは、設計上対象範囲外です。到達可能性分析は提供しておらず、現在はGitHub Actionsのみに対応しており、GitLab CIとJenkinsはロードマップに掲載されています。
使い分けの目安
- 多くのツールの検出結果を1つのキューにまとめたい場合。DefectDojoです。SAST、DAST、SCA、クラウド、コンテナのスキャナーの結果を取り込み、重複を排除するよう設計されており、CRACIはそれを行いません。
- 主なリスクが、GitHub Actionsでビルドするソフトウェアの依存関係にある場合。CRACIです。ビルド内でSBOMを生成して監視し、トリアージを担当チームまでつなげるため、生成ツールの実行もSBOMアップロードの保守も不要です。
- 製品と照合したアドバイザリフィード、PDFアドバイザリ、CRA第14条の報告インターフェースを1つのツールで使いたい場合。DefectDojo Proは、これらをPSIRT Advisory Engineに組み込んでいます。
- 自社でホストできる無料ツールが必要な場合。DefectDojoのCommunity Editionです。CRACIは現在マネージドサービスであり、顧客ホスト型ランナーはEnterprise向けにロードマップに掲載されています。
DefectDojoのSBOM関連の役割を置き換える
DefectDojoが主に、自社でビルドするソフトウェアのSCA検出結果とアップロードされたSBOMを保持しているなら、CRACIはその役割を1つの製品でカバーします。ビルド、SBOM、継続的な監視、トリアージです。各エコシステムに合わせて生成ツールを保守する必要も、インポートジョブを保守する必要もなく、インベントリはスキャンが推定したものではなく、ビルドが実際に取得したものから得られます。
失うものも明確にしておきましょう。DefectDojoはオープンソースで、セルフホストが可能です。依存関係だけでなく、数百のツールの検出結果の重複を排除します。DefectDojoがすべてのスキャナーの結果が集まる場所になっているなら、その役割のために使い続けてください。CRACIは他のツールの検出結果を取り込みません。
PSIRTにおいて
多くのPSIRT案件で最初に問われるのは、影響を受けるコンポーネントを含む製品とバージョンはどれか、という点です。FIRSTのPSIRT Services Frameworkは、この問いに答えるうえで製品コンポーネントのインベントリが不可欠であるとしています。DefectDojoは読み込んだSBOMデータから答え、CRACIは各ビルドが取得したものの記録から答え、新しいCVEが現れるたびに答え続けます。PSIRTの役割、PSIRTチーム向けのCRACI、PSIRTツールの比較をご覧ください。
規制対象の製品について、CRACIは、企業がより広範なCRAコンプライアンスプロセスで必要とするソフトウェアサプライチェーンの可視性とエビデンスのかなりの部分を自動化します。このページで紹介するどのツールも、それだけで製品を準拠させるものではありません。
CRACIは現在GitHub Actionsに対応しています。GitLab CIとJenkinsはロードマップに掲載されています。ビルド時SBOM生成と脆弱性トラッキングの詳細もご覧ください。
3つ以上のツールを検討している場合は、DefectDojoの代替ツールで、Dependency-Trackを含む6つの選択肢を比較しています。