検出事項をソースコードにリンクする (Open Source)
一部のツール(特にSASTツール)は、脆弱性データに関連するファイル名と行番号を含みます。エンゲージメントでソースコードのリポジトリが指定されている場合、DefectDojoはファイルパスをリンクとして表示し、ユーザーは脆弱性の場所に直接移動できます。
エンゲージメントとテストでのリポジトリの設定
エンゲージメント
エンゲージメントの編集中に、ユーザーは特定のソースコード管理リポジトリのURLを設定できます。(Pro UIでは、このフィールドは編集エンゲージメント > オプションフィールド > Repo で設定できます)。
インタラクティブエンゲージメントの場合、ブランチを指定するURLである必要があります。
- GitHubの場合 - https://github.com/DefectDojo/django-DefectDojo/tree/dev のような形式

- GitLabの場合 - https://gitlab.com/gitlab-org/gitlab/-/tree/master のような形式

- パブリックBitBucketの場合 - (git cloneのURLと同様)

- スタンドアロン/オンプレミスBitBucketの場合、パブリックなユーザーリポジトリでは https://bb.example.com/scm/some-project/some-repo.git または https://bb.example.com/scm/some-user-name/some-repo.git (git cloneのURLと同様)

CI/CDエンゲージメントの場合、コミットハッシュ、ブランチ/タグ、コード行が変わる可能性があるため、リポジトリのURLのみを含める必要があります。
- GitHubの場合 -
https://github.com/DefectDojo/django-DefectDojoのような形式 - GitLabの場合 -
https://gitlab.com/gitlab-org/gitlabのような形式 - パブリックBitBucket、Gitea、Codebergの場合 -
https://bitbucket.org/some-user/some-project.gitのような形式(git cloneのURLと同様) - スタンドアロン/オンプレミスBitBucketの場合、パブリックなユーザーリポジトリでは
https://bb.example.com/scm/some-project.gitまたはhttps://bb.example.com/scm/some-user-name/some-repo.git(git cloneのURLと同様)
CI/CDエンゲージメントでは、エンゲージメントの編集フォームでコミットハッシュやブランチ/タグを指定でき、これはDefectDojoが表示するすべてのリンクに付加されます。これらが設定されていない場合、SCMのURLにはコードブランチを含む完全なリンクが含まれている必要があります。
SCMナビゲーションURLは、SCMタイプを使用してリポジトリURLから構成されます。特定のSCMタイプは、アセットのカスタムフィールド「scm-type」で設定できます。「scm-type」が設定されておらず、URLに「https://github.com」が含まれている場合は、「github」のSCMタイプが想定されます。
アセットのカスタムフィールド:

アセットのSCMタイプの追加:

利用可能なSCMタイプは、「github」、「gitlab」、「bitbucket」、「bitbucket-standalone」、「gitea」、「codeberg」、または未設定(デフォルトのgithub)です。
検出事項内のソースコードリンク
検出事項を表示する際、エンゲージメントでソースコードのリポジトリが設定されていれば、場所はリンクとして表示されます。

このリンクをクリックすると、ブラウザで新しいタブが開き、対応する行番号の脆弱性のソースファイルが表示されます。
