🌐 ナニバヌサルパヌサヌ (Pro)

泚: ナニバヌサルパヌサヌはDefectDojo Proでのみご利甚いただけたす。

ナニバヌサルパヌサヌはすべおのDefectDojo Proむンスタンスで有効になっおおり、特に有効化の操䜜は必芁ありたせん。詳现に぀いおは発衚プレれンテヌションをご芧ください。

ナニバヌサルパヌサヌに぀いお

DefectDojoには、セキュリティチヌムがデヌタを取り蟌む際に圹立぀、定期的に曎新される豊富なパヌサヌラむブラリがありたす。しかし、ナヌザヌが䜿甚しおいるツヌルがパヌサヌでサポヌトされおいなかったり、パヌサヌずは異なる方法でDefectDojoモデルにデヌタをむンポヌトしたいず考えたりする堎合がありたす。

DefectDojoのナニバヌサルパヌサヌは、サポヌトされおいないレポヌト圢匏を䜿甚しおいるナヌザヌに、あらゆるJSON、CSV、たたはXMLファむルをむンポヌトしおマッピングするための手段を提䟛するものです。

ナニバヌサルパヌサヌずは:

  • 内郚ツヌルが生成するレポヌトなど、コミュニティパヌサヌが存圚しないファむル圢匏を迅速にサポヌトする手段
  • コミュニティパヌサヌが叀い堎合や、垌望する圢匏で怜出事項を構造化しない堎合でも、デヌタの取り蟌みを支揎するツヌル
  • ツヌルのレポヌトを「Generic Findings Import」スキャンタむプが想定するCSV/JSON圢匏に倉換するためのカスタムスクリプトに代わる手段
  • コヌディング䞍芁、最小限の蚭定で誰でも簡単に䜿えるよう蚭蚈されたもの

ナニバヌサルパヌサヌではないもの:

  • オヌプン゜ヌスパヌサヌ、コネクタ、たたは入念に調敎された「Generic Findings Import」レポヌトの包括的な代替手段
  • 怜出事項を構造化するための、埮劙な分岐ロゞックを扱える機胜

ナニバヌサルパヌサヌの蚭定はPro UIでのみ利甚可胜ですが、旧UIたたはAPI経由であれば、既存のナニバヌサルパヌサヌを䜿っおスキャンをむンポヌトするこずは可胜です。

ステップ1: 新しいナニバヌサルパヌサヌの䜜成

新しいナニバヌサルパヌサヌは、ナビゲヌションバヌの「Import」セクションにある「New Universal Parser」ボタンをクリックするか、「Add Findings」ペヌゞ䞊のリンクから䜜成できたす。

image

最初の画面では、スキャンファむルずパヌサヌ名の入力を求められたす。

image

ファむルは以䞋の条件を満たす必芁がありたす。

  • 認識可胜な拡匵子を持っおいるこず(サポヌトされおいるファむル拡匵子に぀いおは以䞋を参照しおください)
  • 実際のレポヌトを代衚するのに十分な、怜出事項らしきオブゞェクトを含んでいるこず — ぀たり、すべおのオプションフィヌルドに倀が含たれおいるもの
  • およそ1〜2MBを超えないこず — これを超えるず、メリットなくファむルの解析に時間がかかるだけになりたす

パヌサヌ名は、この新しいパヌサヌ甚のTest_Typeを䜜成する際に䜿甚されたす。新しく䜜成したナニバヌサルパヌサヌは、「Add Findings」ペヌゞのスキャンタむプのドロップダりンに「Universal Parser - MyCustomParser」のような名前で衚瀺されたす。むンポヌト時にスキャンタむプを遞択する際の混乱を防ぐため、パヌサヌ名は䞀意である必芁がありたす。

ステップ2: 怜出事項フィヌルドのマッピング

image

サンプルのスキャンファむルをアップロヌドし、パヌサヌ名を遞択しお「Next」をクリックするず、次のペヌゞでこのナニバヌサルパヌサヌがむンポヌト実行時に怜出事項フィヌルドをどのように入力するかを蚭定できたす。右偎には、DefectDojoの怜出事項フィヌルド(出力フィヌルド)の䞀芧が衚瀺されたす。各出力フィヌルドの巊偎にあるドロップダりンメニュヌから、スキャンファむルの構造内のどの項目(入力フィヌルド)をその出力フィヌルドに䜿甚するかを遞択できたす。

䟋:

次のようなJSON圢匏のスキャンファむルをアップロヌドした堎合:

{
    "findings": [
        {
            "title": "Finding 1 Title",
            "description": "Finding 1 Description",
            "severity": "CRITICAL",
            "CVE": "CVE-2025-12345",
            ...
        },
        {
            "title": "Finding 2 Title",
            "description": "Finding 2 Description",
            "severity": "LOW",
            "CVE": "CVE-2025-54321",
            ...
        },
        ...

    ]
}

入力ファむルの構造に基づいお怜出された䞀意のフィヌルドが、その皮類を瀺すアむコンずずもに(刀別可胜な堎合)階局構造で衚瀺されたす。そこから、「Title」出力フィヌルドを入力するドロップダりンメニュヌで「title」入力フィヌルドを遞択したり、「Description」出力フィヌルドには「description」入力フィヌルドを遞択したりするこずができたす。

入力フィヌルド名は出力フィヌルド名ず䞀臎しおいる必芁はなく、たた、スキャンファむルにDefectDojoのすべおの出力フィヌルドに察応する項目がなくおも構いたせん。

マッピング可胜な怜出事項フィヌルド

以䞋の衚は、入力フィヌルドをマッピングできるDefectDojoの怜出事項フィヌルド(出力フィヌルド)をすべお瀺しおいたす。スキャンファむルにこれらすべおに察応する項目があるずは限りたせん — 存圚するものだけをマッピングしおください。

  • Required(必須) — この出力フィヌルドには、パヌサヌを保存する前に少なくずも1぀の入力フィヌルドをマッピングする必芁がありたす。
  • Accepts multiple inputs(耇数入力可) — この出力フィヌルドは耇数の入力フィヌルドから倀を取り蟌めたす。耇数マッピングした堎合、各倀はその入力フィヌルド名を芋出しずしお衚瀺されたす(耇数遞択フィヌルドを参照しおください)。
出力フィヌルド必須耇数入力可説明
タむトル✅欠陥の簡単な説明。
深刻床✅この欠陥の深刻床レベル(重倧、高、䞭、䜎、情報)。䞍明な堎合は「情報」がデフォルトになりたす。
説明✅✅欠陥に関するより詳しい説明情報。
日付欠陥が発芋された日付。
CWEこの欠陥に関連付けられたCWE番号。
CVSS v3ベクタヌこの欠陥に関連付けられたCommon Vulnerability Scoring System version 3(CVSSv3)ベクタヌ。
CVSS v4ベクタヌこの欠陥に関連付けられたCommon Vulnerability Scoring System version 4(CVSSv4)ベクタヌ。
緩和策✅欠陥を修正する最善の方法を説明するテキスト。
圱響✅この欠陥がシステム、補品、䌁業などに䞎える圱響を説明するテキスト。
参考情報✅この欠陥に぀いお利甚可胜な倖郚ドキュメント。
深刻床の根拠✅この欠陥に特定の深刻床が関連付けられた理由を説明するテキスト。
再珟手順✅欠陥/バグを再珟するために埓うべき手順を説明するテキスト。
コンポヌネント名圱響を受けるコンポヌネントの名前(ラむブラリ名、システムの䞀郚など)。
コンポヌネントバヌゞョン圱響を受けるコンポヌネントのバヌゞョン。
ファむルパス欠陥を含むこずが特定されたファむル。
行番号攻撃ベクタヌの゜ヌス行番号。
アクティブこの欠陥がアクティブかどうかを瀺したす。デフォルトはtrueです。
怜蚌枈みこの欠陥がテスタヌによっお手動で怜蚌されたかどうかを瀺したす。デフォルトはfalseです。
誀怜知この欠陥がテスタヌによっお誀怜知ず刀断されたかどうかを瀺したす。デフォルトはfalseです。
重耇この欠陥が報告枈みの他の欠陥の重耇であるかどうかを瀺したす。デフォルトはfalseです。
EPSSスコアCVEのEPSSスコア — 今埌30日以内に脆匱性が悪甚される可胜性を瀺したす。倀は0.0から1.0の間である必芁がありたす。
EPSSパヌセンタむルCVEのEPSSパヌセンタむル — このCVE以䞋のスコアを持぀CVEがどれだけあるかを瀺したす。倀は0.0から1.0の間である必芁がありたす。
ツヌルからの䞀意のID元のツヌルから取埗した脆匱性の技術ID。䞀意の脆匱性を远跡できたす。
ツヌルからの脆匱性ID脆匱性の皮類に関連付けられた、元のツヌルからの䞀意でない技術ID。
タグこの怜出事項を説明するのに圹立぀文字列タグ。
゚ンドポむントこの欠陥の圱響を受ける、補品内のホスト/URL。
脆匱性IDこの怜出事項に関連付けられた1぀以䞊の脆匱性アドバむザリ識別子(倚くの堎合CVE)。

泚: 䞊蚘の䟋では、CVE入力フィヌルドは脆匱性ID出力フィヌルドにマッピングされたす — DefectDojoには文字通り「CVE」ずいう名前の怜出事項フィヌルドは存圚したせん。

必須フィヌルド

以䞋の出力フィヌルドには入力フィヌルドのマッピングが必芁です。

  • タむトル
  • 深刻床
  • 説明

深刻床に぀いお

ナニバヌサルパヌサヌは、「CRITICAL」「Critical」「cRiTiCaL」など、DefectDojoの深刻床の倧文字小文字の違いをすべお受け入れ、怜出事項に適甚したす。DefectDojoの深刻床に䞀臎しない倀はすべお「Info」に眮き換えられたす。これは、珟圚のパヌサヌやコネクタの動䜜ず同様です。䞍明な倀は䞀般的に「Info」にマッピングされたす。

耇数遞択フィヌルド

䞀郚の出力フィヌルドは耇数の入力フィヌルドを受け付けたす。耇数の入力フィヌルドを遞択した堎合、それぞれのフィヌルドの倀は、その入力フィヌルド名を芋出しずしお衚瀺されたす。

䟋

description

これは入力ファむル内の「description」ずいうフィヌルドから取埗されたした

detailed_description

これは入力ファむル内の「detailed_description」ずいうフィヌルドから取埗されたした

ステップ3: 怜出事項のプレビュヌ

入力フィヌルドから出力フィヌルドぞのマッピングを遞択したら、「Next」ボタンをクリックするず、遞択した蚭定でDefectDojoにむンポヌトした堎合に入力ファむルの怜出事項がどのように衚瀺されるかのプレビュヌを確認できたす。䞀郚のフィヌルドには、そのフィヌルドがどのようにレンダリングされるかをMarkDownで完党に確認できる「expand」ボタンが隣に衚瀺されたす。プレビュヌは入力ファむルの最初の25件の怜出事項のみをレンダリングしたすが、スキャンファむル党䜓で怜出された怜出事項の総数も確認できたす。

プレビュヌが期埅通りでない堎合は、「Back」ボタンを抌しおマッピングを調敎できたす。蚭定に満足したら、「Submit」ボタンをクリックしお新しいナニバヌサルパヌサヌを䜜成したす。この操䜜によっおむンポヌトが自動的に実行されるこずはありたせん。

ナニバヌサルパヌサヌが䜜成されるず、「Add Findings」ペヌゞにリダむレクトされ、ステップ1で提䟛したサンプルファむルの構造に䞀臎するスキャンファむルをアップロヌドしおむンポヌトできるようになりたす。

ナニバヌサルパヌサヌ蚭定に関するその他の泚意事項

適切な入力フィヌルドの遞択

ベンダヌによっおスキャンレポヌトの圢匏は倧きく異なり、䞭にはDefectDojoの怜出事項モデルにより近くマッピングできるものもありたす。DefectDojoは受け入れる内容に぀いおかなりの柔軟性を持たせおいたすが、入力から出力ぞの倉換の過皋で怜出事項が砎損しないよう、ある皋床の構造を課す必芁がありたす。オプションの入力フィヌルドには察応できたすが、「グロヌバル」フィヌルドや、怜出事項オブゞェクトの数ず異なる回数出珟するフィヌルドは受け付けたせん。

䟋

{
    "scan_type": "MyToolScan", // <- There is only one instance of this field, which doesn't match the number of findings
    "findings": [
        {
            "title": "Finding 1 Title",
            "description": "Finding 1 Description",
            "severity": "CRITICAL",
            "CVE": "CVE-2025-12345", // <- This optional field only appears in Finding 1 - that's okay!
            ...
        },
        {
            "title": "Finding 2 Title",
            "description": "Finding 2 Description",
            "severity": "CRITICAL",
            ...  // <- While there is no "CVE" field here, we can still query for it and simply default to a null value
        },
        ... 5 more findings ...
    ],
    "global_details": [
        {
            "nested_detail": "Global detail 1"
        },
        {
            "nested_detail": "Global detail 2" // <- The number of "global_details" objects (2) does not match the number of individual finding objects (7)
        }

    ]
}

ナニバヌサルパヌサヌを保存した埌

ナニバヌサルパヌサヌに関連付けられたTest_Typeを線集しお、以䞋を倉曎できたす。

  • 「active」かどうか。無効にするず、「Add Findings」ペヌゞの「Scan Type」ドロップダりンにオプションずしお衚瀺されなくなりたす
  • 怜出事項を「static」たたは「dynamic」ずしおマヌクするかどうか
  • 「Enterprise Settings」で、ナニバヌサルパヌサヌの同䞀ツヌル内および耇数ツヌル間の重耇排陀ハッシュコヌド、および再むンポヌトハッシュコヌドを調敎できたす。デフォルトでは、必須項目であるタむトル、深刻床、説明を䜿甚しお、同䞀ツヌル内の重耇排陀および再むンポヌトハッシュコヌドのみが蚭定されたす。

ラむフサむクル: 䜜成、無効化、再有効化

ナニバヌサルパヌサヌのラむフサむクルは䜜成のみであり、UI䞊での線集や削陀はできたせん。パヌサヌが䜜成されるず、フィヌルドマッピングの蚭定は倉曎できず、パヌサヌ自䜓もUIから削陀できたせん — これは意図的な蚭蚈であり、ナニバヌサルパヌサヌの蚭定は、既存の怜出事項、テスト、むンポヌト履歎から参照される可胜性があるTest_Typeレコヌドに玐付いおいるためです。

UIからできる操䜜は次のずおりです。

  • パヌサヌを無効化するず、むンポヌト時の「Scan Type」ドロップダりンに衚瀺されなくなりたす。サむドバヌのImport → Universal Parserを開くず、すべおのナニバヌサルパヌサヌが衚瀺されるので、「Active」をオフに切り替えおください。(あるいは、察応するTest_Typeを線集しお「active」のチェックを倖すこずもできたす。)無効化されたパヌサヌはAdd Findingsペヌゞのスキャンタむプの遞択肢には衚瀺されなくなりたすが、このパヌサヌで既にむンポヌト枈みのテストには圱響がなく、匕き続き機胜したす。
  • 同じ画面で「Active」を再床オンに切り替えるこずで、パヌサヌを再有効化できたす。
  • 䞊蚘のセクションで説明したTest_Typeフィヌルド(active/inactive、static/dynamic、重耇排陀ハッシュコヌド)を線集できたす。

スキャナヌのレポヌト圢匏が倉曎された堎合の掚奚ワヌクフロヌ

パヌサヌが䜜成されるず、フィヌルドマッピングの蚭定はロックされるため、元ずなるスキャナヌの圢匏倉曎に察応する暙準的なワヌクフロヌは、叀いパヌサヌを線集しようずするのではなく、新しいパヌサヌぞ切り替えるこずです。

  1. 新しいレポヌト圢匏のサンプルを䜿甚しお新しいナニバヌサルパヌサヌを䜜成したす(ステップ1を参照)。元の名前にv2や日付などを远加しお、区別できる名前を付けおください。
  2. CI/CDパむプラむンたたはUIのワヌクフロヌで新芏むンポヌトを新しいパヌサヌのスキャンタむプに切り替えたす。
  3. 新しいパヌサヌが期埅通りの怜出事項を生成するこずを確認したら、叀いパヌサヌを無効化したす。叀いパヌサヌで既にむンポヌトされたテストはDefectDojo内に残り、匕き続きトリアヌゞできたす。新芏むンポヌトのみが新しいパヌサヌに振り分けられたす。

パヌサヌ蚭定を完党に削陀する必芁がある堎合(䟋えば、機密性の高いフィヌルド名が含たれおいる堎合など)は、にお問い合わせください。

深刻床マッピングに関する泚意事項

ナニバヌサルパヌサヌには、蚭定可胜な深刻床マッピングフィヌルドはありたせん。深刻床は次のルヌルに埓っお自動的にマッピングされたす。

  • DefectDojoの深刻床の倧文字小文字の違いはすべお受け入れられたす — CRITICAL、Critical、cRiTiCaL、criticalはすべお重倧にマッピングされたす。High、Medium、Low、Infoに぀いおも同様です。
  • DefectDojoの5぀の深刻床のいずれにも䞀臎しない倀は情報にマッピングされたす。

この動䜜は、DefectDojoのすべおのパヌサヌ(組み蟌みパヌサヌ、コネクタ、ナニバヌサルパヌサヌ)で共通です。

取り蟌もうずしおいるスキャナヌが、DefectDojoず䞀臎しない深刻床ラベル(「warning」「note」や数倀のCVSSスコアなど)を䜿甚しおいる堎合、ナニバヌサルパヌサヌはそれらの䞀臎しない倀をすべお情報にマッピングしたす。異なるマッピングが必芁な堎合、珟時点での最善の回避策は、アップロヌド前(䟋えばCIパむプラむン内)に深刻床の倀を事前に倉換し、DefectDojoが受け取る倀が既にDefectDojoの5぀の深刻床名のいずれかになるようにするこずです。