比較
AIとセキュリティ
AIが役立つ場面と、決定論的なエビデンスが必要な場面。
更新日
各比較では、他製品の強み、CRACIとの違い、両方を併用すべきケースを説明しています。すべてのカテゴリーはすべての比較をご覧ください。
2つのレイヤー、2つの役割
多くのセキュリティチームは、すでにAIを取り入れています。コードのレビュー、検出結果のトリアージ、修正の作成などです。これは良い活用法です。問題は、AIが何を根拠に動くかです。セキュリティプログラムには2つのレイヤーが必要です。
- AIレイヤー:読み、説明し、行動します。コードレビュー、トリアージ、修正プルリクエストなどです。
- 記録レイヤー:実際に何が起きたかを示します。各ビルドがどの依存関係を取得したかを毎回同じ方法で記録し、記録が不完全な箇所を明示します。
AIは記録の上でこそ最も力を発揮します。このページの以下の内容と下記のガイドでは、それぞれのレイヤーが強みを持つ領域を解説します。
セキュリティデータに求められる3つの条件
監査、顧客からの質問票、CRAの報告など、エンジニアリングチームの外に出るセキュリティデータは、3つの条件を満たす必要があります。
- 再現性。同じ質問を2回すれば、同じ答えが返ってくること。モデルの出力は実行ごとに変わることがありますが、ビルドの記録は変わりません。
- 監査可能性。なぜそう言えるのかを示せること。記録はその元になったビルドを指し示せますが、推論による答えは同じように根拠を示すことができません。
- 完全性。一度も見ていないものは報告できません。AIツールもスキャナーも、目の前になかった依存関係を挙げることはできません。
決定論的であることは必要条件ですが、十分条件ではありません。SBOM生成ツールは決定論的でありながら互いに結果が一致しないため、ギャップを埋めるのは観測です。つまり、ビルドが取り込んだものを記録し、記録が不完全な場合はそれを明示することです。CRACIはすべてのジョブとキャッシュを、Complete、Complete with connections、Incomplete、Unavailable、Not recordedのいずれかで示します。AIと決定論的セキュリティの比較(具体例付き)
AIが得意なこと
- コードレビュー:忙しいレビュアーが省きがちな読み込み作業を、プルリクエストへのコメントや提案として行います。
- トリアージ:アドバイザリをわかりやすい言葉で説明し、優先して確認すべきものを順位付けします。
- 修正:変更を書き、破壊的なアップグレードにコードを適応させ、プルリクエストを作成します。その修正が役立つかどうかは、AIに何を修正するよう指示するかで決まります。AIによる脆弱性修正
- 記録されたSBOMの活用:どのコンポーネントがリスクを抱えているかを要約し、関連ドキュメントの草案を作成して人によるレビューに回します。
記録が必要な場面
- 「影響を受けるか?」新しいアドバイザリが公開されたとき、その答えは、モデルやスキャンがたまたま確認したビルドだけでなく、そのパッケージを取り込んだすべてのビルドを網羅していなければなりません。
- AIが追加した依存関係。AIコーディングアシスタントは依存関係を追加し、ときには存在しないパッケージ名を挙げることもあります。ビルドの記録があれば、実際にダウンロードされたものがわかります。
- 監査と顧客からの質問。監査人や顧客が求めているのは、説明ではなく自ら検証できるエビデンスです。
- CRAにおけるSBOM。AIが生成したSBOMはビルドについての推測にすぎません。Cyber Resilience Actと2026年版のCISA最小要素が求めているのは記録です。AIが生成したSBOMがエビデンスにならない理由
原則はシンプルです。記録はビルドに作らせ、AIにはそれを読ませることです。AIセキュリティツールとCRACIの組み合わせ方
CRACIと各ツールの比較
AIとセキュリティに関するよくあるご質問
AIツールにSBOMを作成させることはできますか?
SBOMらしく見えるものなら、すぐに作成できます。しかしモデルが扱うのは提示されたコードやファイルであり、ビルドが実際に取得したものではありません。また、ハルシネーションは既知の失敗パターンです。規制当局や顧客が求めているのは、製品に何が含まれているかの記録です。SBOMはビルドに生成させ、モデルにはそれを読ませてください。
AIセキュリティツールはSCAやビルドのエビデンスに取って代わりますか?
いいえ。AIによるコードレビュー、トリアージ、修正プルリクエストはセキュリティプログラムを補う有用な手段ですが、完全で再現可能なデータの上でこそ最も力を発揮します。2つのレイヤーは役割が異なり、ほとんどのチームには両方が必要です。
決定論的なスキャナーだけで十分ですか?
決定論的であることは必要条件ですが、十分条件ではありません。SBOM生成ツールは決定論的でありながら、互いに結果が一致しません。何をコンポーネントとみなすかを各ツールが独自に判断しているためです。決定論的なスキャナーは、同じ不完全な答えを毎回再現することもあります。このギャップを埋めるのは、ビルドが実際に取り込んだものを記録し、記録が不完全な場合はそれを明示することです。
CRACIはどこに位置づけられますか?
記録のレイヤーです。CRACIはGitHub Actionsのランナーを置き換え、パッケージを認識するプロキシが各ジョブの実行中に取得したものを記録します。出力されるのは、ジョブが取り込んだもののSBOM、ジョブとキャッシュごとの完全性の状態、そしてネットワークトレースです。APIはSBOM、ネットワークトレース、来歴を返します。AIツールはその記録の上で動作できます。