SASTの誤検出判定
- プラン: Ultimate
- アドオン: GitLab Duo Core、Pro、またはEnterprise
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
静的アプリケーションセキュリティテスト(SAST)スキャンを実行すると、GitLab Duoは、重大度クリティカルおよび高の各SAST脆弱性を自動的に分析して、それが誤検出である可能性を判断します。この検知機能は、GitLabがサポートするSASTアナライザーから報告された脆弱性に対して利用できます。
GitLab Duoの評価には次の内容が含まれます:
- 信頼度スコア: その検出結果が誤検出である可能性を示す数値スコア。
- 説明: コードのコンテキストと脆弱性の特性に基づいて、検出結果が真陽性であるか、そうでないかのコンテキスト推論。
- ビジュアルインジケーター: 誤検出の評価を示す脆弱性レポートのバッジ。
この検出は、セキュリティスキャンのたびに自動的に実行されます。手動でのトリガーは不要です。
結果はAIによる分析に基づいており、セキュリティ担当者によるレビューが必要です。この機能を使用するには、アクティブなサブスクリプションのGitLab Duoが必要です。
クリックスルーデモについては、SAST誤検出判定フローを参照してください。
自動検出
誤検出判定は、次の場合に自動的に実行されます:
- デフォルトブランチでSASTセキュリティスキャンが正常に完了した。
- スキャンによって、重大度が致命的または高い脆弱性が検出された。
- GitLab Duo機能がプロジェクトで有効になっている。
分析はバックグラウンドで行われ、処理が完了すると、脆弱性レポートに結果が表示されます。
手動トリガー
既存の脆弱性に対して、手動で誤検出判定をトリガーできます:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- セキュリティ > 脆弱性レポートを選択します。
- 分析する脆弱性を選択します。
- 右上隅で、誤検知のチェックを選択して、誤検出判定をトリガーします。
GitLab Duoの分析が実行され、結果が脆弱性の詳細ページに表示されます。
設定
誤検出判定を使用するには、以下が必要です:
- GitLab Duoアドオンのサブスクリプション(GitLab Duo Core、Pro、またはEnterprise)。
- プロジェクトまたはグループでGitLab Duoを有効になっている。
- ユーザー環境設定でデフォルトのGitLab Duoネームスペースが設定されていること。
- GitLab 18.7以降。
誤検出判定を有効にする
誤検出判定は、デフォルトでオフになっています。この機能を使用するには、グループの基本フローを有効にし、プロジェクトの機能をオンにする必要があります。
グループの基本フローを許可する
グループ内のすべてのプロジェクトで基本フローを使用することを許可できます。個々のプロジェクトでは、そのプロジェクト設定で機能を有効にする必要があります。グループ内のすべてのプロジェクトで誤検出判定を許可するには:
- 左サイドバーで、検索または移動先を選択し、グループを見つけます。
- 設定 > GitLab Duoを選択します。
- 基本フローを許可の下で、SAST誤検出チェックボックスを選択します。
- 変更を保存を選択します。
プロジェクトをオンにする
特定のプロジェクトで誤検出判定をオンにするには:
- 左サイドバーで、検索または移動先を選択し、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- GitLab Duoを展開します。
- SAST誤検出判定を有効にする切替をオンにします。
- 変更を保存を選択します。
グループで誤検出判定を許可し、プロジェクトでそれをオンにすると、この機能は既存のSASTスキャナーと自動的に連携します。
信頼度スコア
信頼度スコアは、GitLab Duoの評価がどの程度正しいかの推定値です:
- 誤検出の可能性が高い(80〜100%): GitLab Duoは、検出結果が誤検出である可能性が非常に高いと判断しています。
- 誤検出の可能性あり(60〜79%): GitLab Duoは、検出結果が誤検出である可能性があると一定の確信を持っていますが、手動での確認を推奨します。
- 誤検出の可能性は低い(60%未満): GitLab Duoは、検出結果が誤検出であるとは考えていません。脆弱性を無視する前に、手動での確認を強く推奨します。
誤検出を無視する
GitLab Duoの分析により脆弱性が誤検出と識別された場合、次のオプションがあります:
- 脆弱性を無視する
- 誤検出フラグを削除する
脆弱性を無視する
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- セキュリティ > 脆弱性レポートを選択します。
- 無視する脆弱性を選択します。
- ステータスを変更を選択します。
- ステータスドロップダウンリストから、却下済みを選択します。
- Set dismissal reasonドロップダウンリストから、偽陽性を選択します。
- コメントの追加入力で、誤検出として無視する理由に関するコンテキストを提供します。
- ステータスを変更を選択します。
脆弱性は無視としてマークされ、再導入されない限り、将来のスキャンには表示されません。
誤検出フラグを削除する
誤検出の評価を削除して、脆弱性を保持する場合は、以下の手順に従います:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- セキュリティ > 脆弱性レポートを選択します。
- 誤検出フラグが付いた脆弱性を見つけます。
- 脆弱性の誤検出バッジにカーソルを合わせます。
- 誤検出フラグを削除するを選択します。
誤検出フラグが削除され、FP信頼度スコアが0に戻ります。脆弱性はレポートに残っており、将来のスキャンで再評価できます。
フィードバックを提供する
誤検出判定はベータ機能です。フィードバックをお待ちしております。問題が発生した場合、または改善のための提案がある場合は、イシュー583697でフィードバックをお寄せください。