スキャンインポートフォーム (Open Source)

製品階層に少なくとも1つの製品タイプ、製品、テスト、エンゲージメントが設定されていれば、DefectDojoにスキャンファイルをインポートして検出事項を作成できます。

DefectDojoでは製品階層を簡単に再編成できるため、まだ設定方法がよくわからなくても問題ありません。

今のところ、エンゲージメントは複数のツールからのデータを保存できるということを知っておくとよいでしょう。これは、単一のテスト活動の一環として複数のツールを同時に実行している場合に役立ちます。

スキャンインポートフォームへのアクセス(クラシックUI / オープンソース)

DefectDojo OSでは、このフォームには次の2か所からアクセスできます。

  • エンゲージメントの「テスト」セクション: image
  • 製品のナビゲーションバーにある「検出事項」セクション: image

スキャンインポートフォームの入力

image スキャンインポートフォームは、エンゲージメントの配下に新しいテストを作成し、そのテストにはスキャンファイルに含まれる各脆弱性に対応する固有の検出事項が含まれます。

テストは、スキャンタイプに一致する名前で作成されます。例えば、Tenableのスキャンは「Tenable Scan」という名前になります。

フォームオプション

  • スキャンファイル: 「Choose」ボタンをクリックすると、コンピューター上のファイルを選択してアップロードできます。
  • スキャン日(任意): このインポートで作成されるすべての検出事項に単一のスキャン日を適用したい場合は、このフィールドで日付を選択できます。 スキャン日を選択しない場合、このレポートから作成される検出事項にはツールが指定した日付が使用されます。各検出事項のSLAはその日付に基づいて計算されます。
  • スキャンタイプ: このデータの作成に使用したツールを選択します。
  • 環境: アップロードするデータに対応する環境を選択します。
  • タグ: テストデータをさらに整理するためにタグを使用したい場合は、このフォームからタグを追加できます。作成したいタグの名前を入力し、キーボードのEnterキーを押すとタグの一覧に追加されます。

任意フィールド

  • 最小深刻度: 特定の深刻度レベル以上の検出事項のみを作成したい場合は、ここで最小深刻度レベルを選択できます。このフィールドより深刻度が低い脆弱性はすべて無視されます。
  • アクティブ: 受信するすべての検出事項をアクティブまたは非アクティブのいずれかに設定したい場合は、ここで指定できます。指定しない場合、DefectDojoはツールの脆弱性データを使用して、検出事項がアクティブか非アクティブかを判断します。このオプションは、特定のツールからの検出事項をチームが手動でトリアージ・検証する必要がある場合に関係します。
  • 検証済み: アクティブと同様に、新しい検出事項のセットをデフォルトで検証済みまたは未検証に設定できます。これはワークフローの好みによります。例えば、チームが証明されない限り検出事項は検証済みであるとみなすことを好む場合、このフィールドをTrueに設定できます。
  • テストにこれらの詳細を含めたい場合は、バージョン、ブランチタグ、コミットハッシュ、ビルドID、サービスをすべて指定できます。
  • ソースコード管理URIも指定できます。このフォームオプションには有効なURIを指定する必要があります。
  • グループ化: このファイルから検出事項グループを作成したい場合は、ここでグループ化方法を指定できます。

トリアージ情報のないスキャナー: 「Do Not Reactivate」フィールド

一部のスキャナー(例: tfsec)は、レポートにトリアージ情報を含めない場合があります。これらのスキャナーは、脆弱性が既にトリアージされているかどうかにかかわらず、コードや依存関係をスキャンして問題にフラグを立て、すべてを返すだけです。

このようなケースに対応するため、DefectDojoにはレポートのアップロード時(および再インポートAPI内)に「Do not reactivate」チェックボックスが用意されています。これにより、インポート/再インポートのたびにトリアージ済みの検出事項を再アクティブ化するのではなく、DefectDojoをトリアージの信頼できる情報源として使用できます。

スキャン完了日(API: scan_date)フィールドの使用

DefectDojoは非常に多くのスキャナーレポートをサポートしていますが、そのすべてがユーザーにとって最も重要な情報を含んでいるわけではありません。scan_dateフィールドは、特定のスキャンレポートの完了日を設定し、それをインポートされたすべての検出事項に反映させることができる、柔軟なスマート機能です。このフィールドは必須ではありませんが、デフォルト値はインポートの日付(リクエストが処理され、成功したレスポンスが返された時点)になります。

このフィールドを使用する際のユースケースは次のとおりです。

  1. レポートが日付を設定しておらず、インポート時にscan_date設定されていない場合
    • 検出事項の日付はscan_dateのデフォルト値になります
  2. レポートが日付を設定しており、インポート時にscan_date設定されていない場合
    • 検出事項の日付はレポートが設定した値になります
  3. レポートが日付を設定しておらず、インポート時にscan_date設定されている場合
    • 検出事項の日付はユーザーがscan_dateに設定した値になります
  4. レポートが日付を設定しており、インポート時にscan_date設定されている場合
    • 検出事項の日付はユーザーがscan_dateに設定した値になります