検出事項 (Pro)
組織 → アセット → エンゲージメント → テスト → 検出事項
概要
検出事項は、個々の脆弱性が追跡・管理される製品階層の最下層に位置し、DefectDojoがセキュリティツールのレポートおよび修復プロセスを標準化し導くための主要な手段として機能します。脆弱性がSonarQube、Acunetix、またはチーム独自のツールのいずれで報告されたかに関わらず、検出事項によって同じ方法で各脆弱性を管理できます。
検出事項の例には以下のようなものがあります。
- Cookie に HttpOnly 属性が設定されていない
- バージョンが古い (PHP)
- 帯域外コード評価 (PHP)
- バージョンが古い (MySQL)
- バックアップソースコードの検出
- ブラインドクロスサイトスクリプティング
脆弱性データを保存し、修復のためのフレームワークを提供することに加えて、DefectDojoは以下の方法で検出事項を強化します。
- 悪用可能性を示す関連EPSSスコアを検出事項に自動的に追加します
- セキュリティツールの深刻度指標を各検出事項の深刻度スコアに自動的に変換し、アセットのSLA設定に応じて検出事項にSLAを付与します。SLA設定の詳細については、こちらをクリックしてください。
全体として、検出事項は製品階層と連携して機能するように設計されており、取り組みを標準化し、各アセットに一貫した方法を適用します。
検出事項へのアクセス
検出事項にはサイドバーからアクセスできます。サブメニューからは、アクティブおよび緩和済みの検出事項、(オープンまたはクローズのステータスを問わない)すべての検出事項、検出事項グループ、検出事項テンプレート、新規検出事項の作成ワークフローにアクセスできます。個々の検出事項は、それを含むテストの中からもアクセスできます。
[リスク受容済みの検出事項] (/triage_findings/findings_workflows/os__risk_acceptance/)は、サイドバーのリスク受容セクションからアクセスできます。

権限
すべての検出事項はテストに属しており、これによりDefectDojoは、その脆弱性を最初に特定したスキャンまたは評価がどれであるかを保持できます。
検出事項はテストに属しているため、検出事項へのアクセス権は、そのテストを含むアセットに対するユーザーのアクセス権によって決まります。テストには独立したアクセス制御リストはありません。
検出事項ビュー
検出事項ビューには、検出事項のステータスを一目で把握できるよう、さまざまなテーブルが含まれています。
検出事項の概要
- 説明: 検出事項の説明(検出事項の種類に応じて自動的に追加されるか、手動で作成されます)。
- 緩和策: 推奨される緩和手順。
- 一般緩和ポリシー: 選択した検出事項に適用される標準化された緩和ポリシー。 緩和ポリシーは、サイドバーの設定 → 緩和ポリシーで確認・編集できます。
- 影響: 検出事項が未解決のまま残された場合に想定される影響。
- 参照: サードパーティ製スキャンツールによる検出事項の具体的な説明を相互参照するためのURL。例えば、参照には検出事項カタログ内の該当項目へのリンクや、単一のアドバイザリURLが含まれることがあります。
- ファイル: 検出事項に文脈情報を加えるために追加されたファイル。
- メモ: 検出事項に関連してユーザーが残したメモ。メモを非公開としてマークすると、その検出事項を含む生成済みレポートには含まれなくなります。
メタデータ
- ID: DefectDojoが割り当てる検出事項固有のID。
- 組織、アセット、エンゲージメント、テスト: 選択した検出事項の親オブジェクト。
- ステータス: 検出事項のステータス(例: アクティブ、検証済み、誤検知、重複、対象外、不具合レビュー中など)。
- 深刻度: その検出事項に自動的に適用される深刻度評価。
- 前述の通り、DefectDojoはセキュリティツールの深刻度指標を各検出事項の深刻度スコアに自動的に変換し、アセットのSLA設定に応じて検出事項にSLAを付与します。
- リスク: 検出事項の悪用可能性を考慮した、自動的に適用される4段階のランキングシステム。
- 優先度: すべての検出事項に適用される計算済みの数値ランクで、脆弱性を文脈の中で素早く把握できるようにします。
- 経過日数: 選択した検出事項がどれくらい前のものかを示します。
- SLA: 検出事項の解決が見込まれる期限日。
- 種別: 検出事項が静的または動的なアプリケーションセキュリティツールのいずれから検出されたか(Static、Dynamic、またはStatic/Dynamic)。
- 場所と行: 選択した検出事項が見つかったファイルと行番号。
- コンポーネント名とバージョン: 選択した検出事項が見つかったコンポーネントの名前とバージョン。
- 発見日: 検出事項が発見された日付。
- 修復予定日とバージョン: 検出事項の修復が予定されている日付と、修正が実装される対象コンポーネントのバージョン。
- サービス: 選択した検出事項の影響を受ける接続済みサービス(アセット内で完結した機能の単位)。この項目に値が入力されている場合、重複排除のマッチングに使用されます(つまり、サービスの項目が同一の検出事項同士は重複排除されます)。
- 報告者: 検出事項を発見したユーザー。
- CWE: 検出事項のCWE脆弱性分類。1つの検出事項は複数のCWEを持つことができます—プライマリCWEに加えて、報告元ツールが提供した追加のCWEです。プライマリCWEはレガシーの重複排除およびハッシュコード計算に使用されるCWEであり、CWEの全セットはPro独自のセットベースのハッシュコードフィールドを通じたマッチングにも使用できます(重複排除の調整を参照)。
- CWEは(例えば「SQLインジェクション」のような)脆弱性のクラスを表すものであり、個々の脆弱性インスタンスを表すものではありません—それを表すのが脆弱性IDです。
- 脆弱性ID: CVE、GHSA、その他の標準化されたアドバイザリ参照など、検出事項に関連付けられた公に認知されている脆弱性識別子。DefectDojo Proでは、EPSSおよびKEVのルックアップを行う際にも使用されます。
- 脆弱性IDはファーストクラスのレコードとして保存されるため、同一のCVEは一度だけ追跡され、それを参照するすべての検出事項で共有されます。これらはEPSSおよびKEVの値とともに脆弱性エクスプローラーで確認できます。EPSS / KEVを参照してください。
- ツール固有の一意のID: 特定の検出事項インスタンスに対して発生元ツールが割り当てる安定した識別子。一意のIDは、繰り返しのスキャンにわたって一貫性を保つことを意図しており、ツールが時間の経過とともに同一の検出事項を認識できるようにします。
- 脆弱性IDとは異なり、この値は報告元ツールに固有のものであり、公開された脆弱性の参照ではありません。
- 例:
finding-12345
- 例:
- 脆弱性IDとは異なり、この値は報告元ツールに固有のものであり、公開された脆弱性の参照ではありません。
- ツール固有の脆弱性ID: 検出された脆弱性の種類を説明するために発生元ツールが割り当てる、独自の脆弱性またはルールの識別子。
- ツール固有の一意のIDとは異なり、この識別子は個々の検出事項に固有ではなく、同じ検出ルールに一致する多くの検出事項に現れることがあります。
- 脆弱性IDとは異なり、これらの識別子は報告元ツールに固有のものであり、公に標準化されたものではありません。
- 例:
semgrep.rule.lang.security.sql-injection
- 例:
- EPSSスコア/パーセンタイル: CVEのEPSSスコアとパーセンタイル。
- 既知の悪用: 脆弱性が悪用されたことが確認されているかどうか。
- ランサムウェアの使用: 脆弱性の悪用にランサムウェアが関与していたかどうか。
- KEV登録日: 検出事項がKEVカタログに追加された日付。
- 検出元: 脆弱性を特定したツールの種類。
- CVSSv3およびCVSSv4のベクターとスコア: 選択した検出事項のCVSS3およびCVSS4のベクターとスコア。
- インテグレーターチケット: 検出事項に関連付けられたサードパーティ製課題管理システムのチケット番号。
脆弱なエンドポイント
このセクションには、選択した検出事項が影響を及ぼすエンドポイントのテーブルと、関連するメタデータが含まれます。
追加の詳細
- リクエスト/レスポンスペア: クライアントから送信されたメッセージと、そのリクエストに対するサーバーの応答のコピー。
- 再現手順: 検出事項を再現するための手順。
- 深刻度の根拠: 特定の深刻度評価が検出事項に関連付けられた理由を記述したもの。
検出事項のデータ
検出事項には以下のメタデータが必須です。
- 名前
- 日付
- 深刻度
- 説明
検出事項ビューのテーブルに対応するメタデータに加え、以下の任意のメタデータ項目も指定できます。
- タグ: 検出事項に追加されたタグ。
- 担当者: 選択した検出事項を担当するユーザーのグループ。
- Jiraへプッシュ: チケット発行のために検出事項をJiraへプッシュします。
- インテグレーターへプッシュ: 統合済みのサードパーティ製課題管理システムへ検出事項をプッシュします。
- リスクと優先度の設定: DefectDojoによる検出事項のリスクと優先度の自動計算を上書きするオプションを提供します。
- 追加するエンドポイント: 上記のシステム/エンドポイントの一覧に反映されていない、選択した検出事項の影響を受ける可能性のある脆弱なエンドポイント。
- 不具合レビュー依頼者: 該当する不具合についてレビューを依頼した人物を記録します。
- SASTソースオブジェクト、行番号、ファイルパス: 攻撃ベクターのソースオブジェクト、行番号、ファイルパス。
- SASTシンクオブジェクト: 攻撃ベクターのシンクオブジェクト。
- 発生件数: スキャナーによって複数の脆弱性が検出・集約された際の、発生元ツールにおける発生件数。
- 公開日: 脆弱性が公開された日付。
- 対応工数の見積もり: 検出事項の修正にかかる作業量のレベル(例: 低、中、高)。
利用可能な具体的なメタデータは、検出事項を明らかにしたパーサー/スキャナーによって異なります。タイトルと深刻度といった基本情報のみを提供するものもあれば、CVSSベクター、脆弱なコンポーネント、エンドポイント、リクエスト/レスポンスペア、その他スキャナー固有のメタデータを含むものもあります。
このメタデータにより、セキュリティプログラム全体でのフィルタリング、レポート作成、優先順位付けが向上し、長期的な追跡とトレンド分析が可能になります。詳細およびメタデータの説明はこちらをご覧ください。
重複排除
DefectDojoには、同一の根本的な脆弱性を表す検出事項を特定・管理するための重複排除機能が備わっています。1つまたは複数のツールからスキャン結果がインポートされると、DefectDojoは設定可能なマッチングロジックを使用して、同一の脆弱性を表す検出事項を特定します。
重複排除により、同一または異なるスキャナーによって繰り返し発見された同一の脆弱性が複数回表示されることを防ぎ、修復履歴を1つの検出事項に紐付けたまま保持できます。
重複排除の詳細はこちらをご覧ください。
再インポート
DefectDojoの再インポート機能により、新しいスキャン結果がインポートされる際に検出事項を更新できます。スキャンが再インポートされると、DefectDojoは受信した結果を既存の検出事項と比較し、まったく新しいレコードを作成するのではなく、一致するレコードを更新します。これにより、ステータスの変更、修復履歴、コメント、担当情報などの重要な文脈が保持され、複数のテストサイクルにわたる検出事項のライフサイクルの継続的な記録が提供されます。
再インポート機能の詳細はこちらをご覧ください。
リスク受容
リスク受容は、検出事項を即座に修復せずに承認する決定を正式に文書化し運用するために、検出事項に適用できる特別なステータスです。
リスク受容の詳細はこちらをご覧ください。
ステータス
DefectDojoで作成された各検出事項には、関連情報を伝え、チームが問題解決の進捗を追跡できるようにするステータスがあります。
ステータスの詳細はこちらをご覧ください。
検出事項の操作
検出事項の作成
ほとんどの検出事項はスキャンのインポートや統合を通じて自動的に生成されますが、DefectDojoでは検出事項を手動で作成することもサポートしています。手動での検出事項作成は、ペネトレーションテスト、アーキテクチャレビュー、コンプライアンス評価、バグバウンティプログラム、コンサルタントによるエンゲージメントなど、スキャナーの出力を生成しない活動を通じて特定された脆弱性やセキュリティ上の懸念事項を追跡する際に役立ちます。
検出事項は、サイドバーの検出事項セクション内で新規検出事項をクリックするか、検出事項を追加したいテストの歯車メニュー内で検出事項を追加を選択することで、手動で追加できます。
検出事項の編集
検出事項の横にある⋮ケバブメニューには、以下の機能があります。
- 検出事項を編集: 検出事項を編集します。
- 検出事項をコピー: 検出事項のコピーを別のテストに作成します。コピーは、編集権限を持つ同一エンゲージメント内の任意のテストに保存できます。コピー機能は、同一の脆弱性を複数のテストのコンテキストで個別に追跡する必要がある場合に役立ちます。
- 検出事項をクローズ: 検出事項をクローズするプロセスを開始します。
- レビューを依頼: ピアレビューのプロセスを開始し、検出事項のステータスを「レビュー中」に変更します。ピアレビューの詳細はこちらをご覧ください。
- リスク受容を追加: リスク受容のプロセスを開始します。詳細はこちらをご覧ください。
- ファイルを追加: 検出事項にファイルを追加するプロセスを開始します(以下のセクションを参照)。
- メモを追加: 検出事項にメモを追加するプロセスを開始します。
- カスタムフィールドを追加: 検出事項に適用するカスタムフィールドを追加・定義できるポップアップを開始します。
- Jiraへプッシュ: チケット発行のために検出事項をJiraへプッシュします。
- インテグレーターへプッシュ: 統合済みのサードパーティ製課題管理システムへ検出事項をプッシュします。
- 検出事項を削除: 選択した検出事項を削除します。
- 検出事項の履歴: 選択した検出事項の履歴を表示します。
検出事項へのファイルの添付
どの検出事項にもファイルを添付して、追加の文脈情報を提供できます—例えば、脆弱性が実際に発生している様子のスクリーンショットや、概念実証(PoC)の画像などです。
サポートされているファイル形式は以下の通りです。
.txt .pdf .json .xml .csv .yml .png .jpeg
.sarif .xlsx .doc .html .js .nessus .zip .fpr検出事項にファイルを添付するには、選択した検出事項の⋮ケバブメニューまたは歯車メニューからファイルを追加をクリックします。ファイルのタイトルを入力し、コンピューターからファイルを選択して、送信をクリックします。
ファイルは、検出事項ビュー内のテスト概要テーブルのファイルセクションに表示されます。
検出事項の一括編集
検出事項は、サイドバーからアクセスできるすべての検出事項のテーブルなどの検出事項リストや、特定のテスト内の検出事項のテーブルから一括編集できます。
検出事項の一括編集方法の詳細はこちらをご覧ください。
検出事項のクローズ
検出事項に対する作業が完了したら、検出事項の⋮ケバブメニューまたは歯車メニュー内の検出事項をクローズをクリックして手動でクローズできます。あるいは、以前に記録された検出事項を含まないスキャンがDefectDojoに再インポートされた場合、その以前に記録された検出事項は自動的にクローズされます。
検出事項をクローズしたくない場合は、再インポートスキャンフォームでこの動作を無効にできます。
- UIを使用している場合は、Close Old Findingsのチェックボックスをオフにします
- APIを使用している場合は、close_old_findingsをFalseに設定します
検出事項の削除
検出事項の削除は、検出事項の⋮ケバブメニューまたは歯車メニューから行えます。この操作は元に戻せません。
監査の目的上、修復済みの検出事項は削除するのではなく、クローズすることが推奨されます。
検出事項グループ
検出事項グループを使用すると、トリアージ、レポート作成、修復調整のために、複数の関連する検出事項を単一の論理的な単位として扱うことができます。
例えば、あるスキャンによって異なるエンドポイントにわたる10件のSQLインジェクションの検出事項が生成されることがあります。それぞれを個別に管理する代わりに、それらをより広範なSQLインジェクションの問題を表す単一の検出事項グループにまとめることができます。
検出事項グループは個々の検出事項を置き換えるものではありません。各検出事項は、それぞれ固有の深刻度、ステータス、メタデータ、コメント、修復履歴を保持したまま存在し続けます。検出事項グループは、含まれる検出事項の上に、単に追加の整理層を提供するだけです。
検出事項グループへのアクセス
検出事項グループにはサイドバーからアクセスできます。サブメニューからは、オープンおよびクローズの検出事項グループ、ならびに(オープン状態を問わない)すべての検出事項グループにアクセスできます。

検出事項グループの作成
検出事項グループは、手動または自動のいずれかで作成できます。
なお、検出事項グループは単一のテストに含まれる検出事項からのみ作成できます。異なるテスト、エンゲージメント、または製品にまたがる検出事項を同じ検出事項グループに追加することはできません。
手動での検出事項グループ
検出事項グループの操作を手動で行うには:
- テスト内の検出事項の一覧に移動します。
- 検出事項グループに追加したい検出事項に対応するチェックボックスをクリックして選択します。
- 検出事項リストの上部に表示される検出事項グループボタンをクリックします。
- 実行したい対応するアクションをクリックします。
- 新しい検出事項グループに追加: 選択した検出事項を含む新しい検出事項グループを作成します。
- 既存の検出事項グループに追加: 選択した検出事項を既存の検出事項グループに追加します。
- 検出事項グループから削除: 選択した検出事項を、それまで属していた検出事項グループから削除します。
- 送信をクリックします。
選択したすべての検出事項が編集可能であり、未グループ化であり、かつ同じテストに含まれている場合にのみ、グループ化が有効になる点に注意してください。
さらに、すべての検出事項の一覧から検出事項を選択した場合に実行できる唯一のアクションは、選択した検出事項を検出事項グループから削除することです。これは前述の通り、検出事項グループが単一のテストに含まれる検出事項からのみ作成できるためです。
自動での検出事項グループ
スキャンをインポートする際、折りたたみ可能なオプションフィールドメニュー内のグループ化基準機能を使用すると、選択したグループ化方法に基づいて検出事項グループを自動的に作成できます。これは、スキャナーが一緒に管理すべき多数の関連する検出事項を生成する場合に役立ちます。
隣接するすべての検出事項に対して検出事項グループを作成するチェックボックスは、2つの機能を果たします。
- チェックした場合: インポートされたすべての検出事項に対して検出事項グループを作成します。たとえそのグループのメンバーがその検出事項のみであってもです。
- チェックしない場合: 実際にグループ化すべき複数の検出事項が存在する場合にのみ、検出事項グループを作成します。

インポート時にグループ化基準のドロップダウンメニューからオプションが選択されていない場合(例えば上記のスクリーンショットにある検出事項タイトルなど)、グループ化は行われません。
グループ化基準(コンポーネント名、脆弱性ID、検出事項タイトルなど)が検出事項に設定されていない場合、その検出事項に対してグループが作成されたり、既存の検出事項グループに追加されたりすることはありません。
グループ化されていない10件の検出事項が明らかになるスキャンがインポートされ、その後同じスキャンが再インポートされて検出事項がグループ化された場合、最初の10件の検出事項はその検出事項グループには追加されません(つまり、検出事項グループには再インポート時の10件の検出事項のみが含まれ、初回インポート時の10件の検出事項は含まれません)。
検出事項テンプレート
検出事項テンプレートを使用すると、ユーザーはよく報告される脆弱性やセキュリティ上の問題に対する再利用可能なテンプレートを作成できます。テンプレートには、タイトル、説明、影響、再現手順、緩和策、参照、その他の検出事項メタデータなどの標準化された情報を含めることができます。
検出事項テンプレートは、ユーザーが手動での検出事項作成を繰り返し行う必要があり、毎回同じ補足情報を再入力することを避けたい状況で最も役立ちます。
検出事項テンプレートへのアクセス
検出事項テンプレートは、サイドバーの検出事項サブメニュー内にあります。

検出事項テンプレートの作成
検出事項テンプレートは、検出事項テンプレートビューの左上にある新規検出事項テンプレートボタンをクリックすることで作成できます。
続くページには、検出事項テンプレートを使用した際に検出事項に適用されるメタデータの概要が表示されます。
検出事項テンプレートの適用
検出事項テンプレートは、OS版DefectDojoとDefectDojo Proとで異なります。Proでは、検出事項テンプレートを既存の検出事項に適用することはできず、また既存の検出事項に基づいて作成することもできません。
ただし、親エンゲージメントのビュー内でテストの横にある⋮ケバブメニュー、またはテストのビュー内の歯車メニューを使用して、検出事項テンプレートに基づく検出事項をテストに手動で追加することができます。


レポート作成
DefectDojoのレポートビルダーを使用すると、一連のコンテンツウィジェットからカスタムレポートを組み立て、実行し、その結果をエクスポートできます(例えば、PDFとして印刷するなど)。カスタムレポートは、社外の対象者と共有したい検出事項やエンドポイントをまとめることができ、ブランディングや定型文を含めることもできます。
DefectDojoのレポートビルダーの詳細はこちらをご覧ください。
検出事項のエクスポート
検出事項の一覧またはエンゲージメントの一覧を表示するページには、左上にCSVおよびExcelのエクスポートオプションがあります。検出事項の場合、クイックエクスポートを実行するオプションもあり、これを実行すると各検出事項に関するメタデータのテーブルを含む新しいタブが開きます。