Federal AppSec コンテナスキャン結果レビュープロセス
特定の顧客は、GitLab が提供するコンテナを既知の脆弱性やその他のセキュリティ上の懸念についてスキャンします。GitLab Federal Application Security チームは、これらの結果をレビューする責任があります。多くの場合、これらの検出事項は脆弱性に対処するために更新する必要がある依存関係に関連しています。
期待されているのは、Federal Application Security チームがスキャンされた各コンテナのすべての検出事項を検証し、それが真陽性、偽陽性、または重複であるかを判断することです。これらの判断のそれぞれについて、正当化を伝える必要があります。これらの正当化は次にレビューされ、特定の GitLab コンテナが使用承認されるかどうかを決定するために使われます。
キューの処理
- カスタマーポータルにログインします。ログインすると、複数のバージョンタグを持つコンテナのリストが表示されます
- 正当化を必要とする検出事項を持つコンテナバージョン (
Statusフィールドで示される) はレビューされ、正当化が提供される必要があります Needs Justificationステータスを持つ各検出事項について、それが真陽性、偽陽性、または重複であるかを判断しますSave Progressボタンを必ずクリックしてください- すべての正当化が提供され、提出する準備ができたら、
Send for Reviewボタンをクリックします - 検出事項や正当化に関する質問や懸念は、適切なハードニングチームに向けることができます
真陽性
GitLab Issue で追跡されていない真陽性については、適切なリポジトリで Issue を作成する必要があります。Issue の説明は、検出事項を説明し、その解決に関連するあらゆる情報を提供するべきです。この Issue は次に、適切な優先度/重大度ラベル、期日を適用し、責任あるプロダクトおよびエンジニアリングチームにピングを送ることでトリアージされる必要があります。次に、GitLab が検出事項を確認し、関連する GitLab Issue ID を提供し、ドロップダウンを介して修正がリリースされる予定日を指定することを伝える正当化を提供する必要があります。
何かが真陽性であるかを判断する際は:
- スキャナーの検出事項が実際に GitLab が使用している依存関係を参照していることを確認します
- ライブラリ名の重複により、偽陽性は一般的であることに注意してください
- NIST のリンクや他のリソースを使って、CVE がどのソフトウェアに影響するかを確認できます
Package Pathを使って検出事項がどこから来ているかを判断します- 適切なマニフェストファイル (
Gemfile.lock,go.sumなど) を確認し、スキャナーの検出事項で言及されているバージョンが実際に使用されているかを判断します - CVE 識別子や依存関係名で適切なリポジトリ(およびおそらく
gitlab-org/gitlabでも)を検索して、既存の Issue がないことを確認します - Docker 関連の検出事項の一部については、イメージで bash を実行し、影響を受けるライブラリがデフォルトで含まれているかを確認することを検討します
- ライブラリがベースコンテナに含まれている場合、修正されたバージョンは次回コンテナが更新されたときにおそらく含まれます
- 場合によっては、バージョンが GitLab のリポジトリで指定されており、変更する必要があります(例:
gitlab-org/build/CNG)
偽陽性
検出事項が偽陽性である場合、それを偽陽性と見なす理由の説明とともに、正当化で伝える必要があります。
重複
場合によっては、GitLab がすでにその検出事項を追跡していることがあります。これらの重複は真陽性と見なされます。これらにも、すでに検出事項を認識していることを述べ、関連する GitLab Issue ID を言及する正当化を提供する必要があります。時折、スキャンの同じページの検出事項に重複があり、通常は同じ脆弱性を 2 つの異なる CNA が記述しているためにスキャナーが警告しています。これらは偽陽性と見なすことができ、正当化で重複する検出事項の識別子を言及します。
リポジトリ
ますます多くのコンテナが提供されスキャンされています。これらの検出事項を確認する場所と、それらに対する Issue を作成する場所を知ることは時に難しい場合があります。状況によっては、個々のリポジトリが適切な場所です(gitlab-rails や gitaly など)。他のケースでは、変更を CNG リポジトリ または別の場所で行う必要があります。
bfd74782)