正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

脆弱性の重大度レベル

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLabの脆弱性アナライザーは、可能な場合は常に脆弱性重大度レベルの値を返そうとします。以下は、利用可能なGitLabの脆弱性重大度レベルのリストであり、最も重大度の高いものから低いものへとランク付けされています:

  • Critical
  • High
  • Medium
  • Low
  • Info
  • Unknown

GitLabアナライザーは、以下の重大度の説明に適合するように努めていますが、必ずしも正しいとは限りません。サードパーティベンダーから提供されたアナライザーとスキャナーは、同じ分類に従わない場合があります。

重大度Critical(致命的)

クリティカルな重大度レベルで識別された脆弱性は、直ちに調査する必要があります。このレベルの脆弱性は、欠陥の悪用がシステムまたはデータの完全な侵害につながる可能性があることを前提としています。クリティカルな重大度の欠陥の例としては、コマンド/コードインジェクションとSQLインジェクションがあります。通常、これらの欠陥はCVSS 3.1で9.0~10.0の評価が付けられます。

重大度High(高)

重大度の高い脆弱性は、攻撃者がアプリケーションリソースにアクセスしたり、意図しないデータが公開されたりする可能性のある欠陥として特徴付けることができます。重大度の高い欠陥の例としては、外部XMLエンティティインジェクション(XXE)、サーバーサイドリクエストフォージェリ(SSRF)、ローカルファイルインクルード/パストラバーサル、および特定の形式のクロスサイトスクリプティング(XSS)があります。通常、これらの欠陥はCVSS 3.1で7.0~8.9の評価が付けられます。

重大度Medium(中)

中程度の重大度の脆弱性は、通常、システムの設定ミスまたはセキュリティ制御の欠如から発生します。これらの脆弱性を悪用すると、制限された量のデータにアクセスしたり、他の欠陥と組み合わせて使用​​して、システムまたはリソースへの意図しないアクセスを取得したりする可能性があります。中程度の重大度の欠陥の例としては、リフレクテッドXSS、不正なHTTPセッション処理、およびセキュリティ制御の欠落があります。通常、これらの欠陥はCVSS 3.1で4.0~6.9の評価が付けられます。

重大度Low(低)

低い重大度の脆弱性には、直接悪用できるわけではないものの、アプリケーションまたはシステムに不要な脆弱性をもたらす可能性のある欠陥が含まれています。これらの欠陥は通常、セキュリティ制御の欠落、またはアプリケーション環境に関する不要な情報の開示が原因です。低い重大度の脆弱性の例としては、Cookieセキュリティディレクティブの欠落、詳細なエラーまたは例外メッセージなどがあります。通常、これらの欠陥はCVSS 3.1で0.1~3.9の評価が付けられます。

重大度Info(情報)

情報レベルの重大度の脆弱性には、価値がある可能性のある情報が含まれていますが、特定の欠陥または脆弱性に関連付けられているとは限りません。通常、これらのイシューにはCVSS評価はありません。

重大度Unknown(不明)

このレベルで識別されたイシューは、重大度を明確に示すのに十分なコンテキストがありません。

GitLabの脆弱性アナライザーには、一般的なオープンソースのスキャンツールが含まれています。各オープンソースのスキャンツールは、独自のネイティブ脆弱性重大度レベルの値を提供します。これらの値は、次のいずれかになります:

ネイティブ脆弱性重大度レベルタイプ
文字列WARNINGERRORCriticalNegligible
整数125
CVSS v2.0評価(AV:N/AC:L/Au:S/C:P/I:P/A:N)
CVSS v3.1定性的重大度評価CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

一貫した脆弱性重大度レベルの値を提供するために、GitLab脆弱性アナライザーは、次の表に示すように、以前の値を標準化されたGitLab脆弱性重大度レベルに変換します:

コンテナスキャン

GitLabアナライザー重大度レベルを出力しますか?ネイティブ重大度レベルタイプネイティブ重大度レベルの例
container-scanningcheck-circle 対応文字列UnknownLowMediumHighCritical

利用可能な場合、ベンダーの重大度レベルが優先され、アナライザーによって使用されます。利用できない場合は、CVSS v3.1評価にフォールバックします。それも利用できない場合は、代わりにCVSS v2.0評価が使用されます。この実装の詳細については、Trivyイシュー310を参照してください。

動的アプリケーションセキュリティテスト(DAST)

GitLabアナライザー重大度レベルを出力しますか?ネイティブ重大度レベルタイプネイティブ重大度レベルの例
Browser-based DASTcheck-circle 対応文字列HIGHMEDIUMLOWINFO

APIセキュリティテスト

GitLabアナライザー重大度レベルを出力しますか?ネイティブ重大度レベルタイプネイティブ重大度レベルの例
API security testingcheck-circle 対応文字列HIGHMEDIUMLOW

依存関係スキャン

GitLabアナライザー重大度レベルを出力しますか?ネイティブ重大度レベルタイプネイティブ重大度レベルの例
gemnasiumcheck-circle 対応CVSS v2.0評価およびCVSS v3.1定性的重大度評価1(AV:N/AC:L/Au:S/C:P/I:P/A:N)CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

CVSS v3.1評価は、重大度レベルを計算するために使用されます。利用できない場合は、代わりにCVSS v2.0評価が使用されます。

ファズテスト

すべてのファズテスト結果は、不明な重大度として報告されます。修正の優先順位を付けるために、悪用可能な欠陥を見つけるには、手動でレビューしてトリアージする必要があります。

静的アプリケーションセキュリティテスト(SAST)

GitLabアナライザー重大度レベルを出力しますか?ネイティブ重大度レベルタイプネイティブ重大度レベルの例
kubeseccheck-circle 対応文字列CriticalSeverityInfoSeverity
pmd-apexcheck-circle 対応整数12345
semgrepcheck-circle 対応文字列errorwarningnotenone
sobelowcheck-circle 対応該当なしすべての重大度レベルをUnknownにハードコードします
SpotBugscheck-circle 対応整数123111218

Infrastructure as Code(IaC)スキャン

GitLabアナライザー重大度レベルを出力しますか?ネイティブ重大度レベルタイプネイティブ重大度レベルの例
kicscheck-circle 対応文字列errorwarningnotenoneアナライザーバージョン3.7.0以降infoにマップされます)

Infrastructure as Code(IaC)Secure(KICS)重大度マッピング

KICSアナライザーは、その出力をStatic Analysis Results Interchange Format(SARIF)重大度にマップし、次にGitLab重大度にマップします。GitLab脆弱性レポートに対応する重大度については、以下の表を参照してください。

KICSの重大度KICS SARIFの重大度GitLabの重大度
CRITICALエラーCritical
HIGHエラーCritical
普通警告中程度
Info
INFOなしInfo
invalidなしInfo

KICSとGitLabの両方が高い重大度を定義していますが、SARIFは定義していないため、KICSの高い重大度の脆弱性はGitLabのクリティカルな重大度にマップされます。

GitLabマッピングのコード

シークレット検出

GitLab secretsアナライザーは、すべての重大度レベルをクリティカルにハードコードします。より詳細な重大度評価は、エピック10320で提案されています。