公開:2026年5月26日
9分で読めます
GitLab 19.0のセキュリティ設定プロファイルを活用すると、SAST・依存関係スキャン・シークレット検出を数千のプロジェクトに一括適用できます。YAMLファイルを編集せずにスキャナーカバレッジを迅速に確立し、セキュリティの抜け漏れをなくします。

CI/CDプラットフォームが抱える課題は、業界共通のものです。組織が成長するにつれ、すべてのパイプライン定義ファイルにスキャナーを手動で設定することは現実的に対応しきれなくなります。AIによってコードのリリース速度が加速する中、プロジェクト数・パイプライン数・セキュリティの対象範囲はいずれも増加し続けています。当初は意図的なセキュリティ上の判断として行われた設定が、いつの間にか誰も管理しない引き継ぎ設定となり、バックフィルされないままのカバレッジとなり、そして問題が露見するまで誰にも気づかれないギャップとなっていきます。
セキュリティチームには、プロジェクトごとに手動でYAMLファイルを編集するのではなく、スキャナーをスケールして適用する手段が必要です。セキュリティ設定プロファイルとは、セキュリティスキャナーをプロジェクト全体でどのように・いつ実行するかをUIで一元管理できる設定です。GitLab 19.0では、セキュリティ設定プロファイルを使って、静的アプリケーションセキュリティテスト(SAST)・依存関係スキャン・シークレット検出の各スキャナーを、初日からすべてのプロジェクトに対して有効化できます。
セキュリティ設定プロファイルのデモ動画をご覧ください。
小規模な組織であれば、プロジェクトごとにスキャナーを手動設定することは可能です。チームが1つ、リポジトリが数件、そしてすべての場所を把握しているセキュリティエンジニアがいる環境ならば、このモデルは機能します。しかし、チームやプロジェクトが増えるにつれて維持が難しくなり、AIによってコード速度とセキュリティカバレッジの差はさらに広がっています。
この乖離はさまざまな形で現れます。チームは手近にあるソースからスキャナー設定をコピーするため、SASTがバックエンドサービスとフロントエンドで異なるルールセットで実行されてしまいます。依存関係スキャンは新規プロジェクトには追加されても、既存プロジェクトへのバックフィルは行われません。パイプラインの問題を修正しようと .gitlab-ci.yml ファイルを更新した結果、スキャナーが削除されてしまうこともあります。
一元的なビューがなければ、スキャナーカバレッジに関する個別の判断をいくら積み重ねても、組織全体で一貫したセキュリティ態勢につながることはほとんどありません。
セキュリティ設定プロファイルとは、セキュリティスキャナーをプロジェクト全体でどのように・いつ実行するかを定義した、設定の一元管理グループです。各プロジェクトの .gitlab-ci.yml にSAST・シークレット検出・依存関係スキャンを個別に設定する代わりに、グループレベルでプロファイルを一度定義し、必要なだけ多くのプロジェクトに一括で適用できます。
GitLabは各スキャナー向けにデフォルトプロファイルを提供しており、推奨されるプラクティスを反映した事前設定済みの設定です。YAMLを一行も書くことなく、数分でプロジェクト全体にスキャンを展開できます。技術的な詳細については、セキュリティ設定プロファイルのドキュメントをご参照ください。
各デフォルトプロファイルは、スキャンの実行タイミングを定義するスキャントリガーのセットを有効化します。SASTと依存関係スキャンには、2つのトリガーが適用されます。
マージリクエストパイプライン: オープン状態のマージリクエストがあるブランチに新しいコミットがプッシュされるたびに、スキャンが自動実行されます。結果はそのマージリクエストで新たに導入された脆弱性のみに限定されるため、開発者は既存の問題のノイズに邪魔されることなく、的確ですぐに対処できるフィードバックを受け取れます。
ブランチパイプライン(デフォルトブランチのみ): デフォルトブランチへの変更がマージまたはプッシュされると、スキャンが自動実行されます。セキュリティチームは、常にデフォルトブランチのセキュリティ対策状況を完全な形で把握できます。
シークレット検出はこれら2つのトリガーをどちらも含み、さらに3つ目を追加します。それがプッシュ保護です。パイプラインの実行を待つのではなく、git push 処理中にリアルタイムでシークレットを検出し、シークレットがコードベースに入り込む前にプッシュをブロックします。パイプラインベースではなくイベントベースであるため、セキュリティインベントリにスキャン日時は記録されません。
セキュリティ設定プロファイルが効果を発揮する、4つの現実的なシナリオを紹介します。
大規模グループ全体でのカバレッジ標準化
あるプラットフォームセキュリティチームが、数十のサブグループにまたがる数百のプロジェクトを管理しています。セキュリティインベントリを使えば、すべてのプロジェクトのスキャナーカバレッジを1つのビューで把握でき、SASTが実行されているプロジェクト・されていないプロジェクト・スキャンが失敗しているプロジェクトを一目で確認できます。このダッシュボードからすべてのプロジェクトを選択し、一括アクションでデフォルトプロファイルを適用。.gitlab-ci.yml を一行も編集することなく、すべてのプロジェクトがマージリクエストおよびブランチパイプラインでSAST・シークレット検出・依存関係スキャンを実行するようになります。
リリース前にコードレベルの脆弱性を検出
ある開発者が、新しいAPIエンドポイントを実装する際に、安全でないデシリアライズ処理のパターンを混入させてしまいます。悪意があるわけではなく、時間的なプレッシャーの中で生じたミスです。SASTプロファイルが適用されていれば、マージリクエストブランチにコミットがプッシュされた時点で自動的にスキャンが実行されます。脆弱性はマージリクエストが承認される前にフラグが立てられます。その時点であれば、事後のインシデント対応で数日を費やすのではなく、開発者一人が1時間で修正できます。
本番環境へのリリース前に侵害された依存関係を検出
ある開発者がロックファイルの依存関係を更新します。広く使われているパッケージの新バージョンが侵害されており、不正なペイロードが仕込まれていました。マージリクエストパイプラインで依存関係スキャンが自動実行され、ブランチがマージされる前に侵害されたバージョンが検出されます。開発者は変更を加えたその時点で通知を受け取れます。パッケージがビルドサーバーや本番環境全体に展開されてからではありません。
シークレットがリポジトリに入り込む前に検出
ある開発者がパイプラインの問題をデバッグする際、誤ってAPIキーをコミットに含めてしまいます。よくあるミスで、忙しいチームでは数日間気づかれないこともあります。シークレット検出プロファイルが適用されていれば、プッシュ保護がリアルタイムでプッシュを遮断し、シークレットがリポジトリに到達する前にブロックします。開発者はミスが発生したその時点で即座のフィードバックを受け取れます。セキュリティレポートも、インシデントチケットも、認証情報のローテーションも一切不要です。
セキュリティ設定プロファイルは、GitLab.com・GitLab Self-Managed・GitLab Dedicated のGitLab Ultimateでいよいよ利用可能になりました。デフォルトプロファイルをプロジェクト全体に一括で適用する方法は次の通りです:
プロファイル適用後にカバレッジの状態を確認するには、セキュリティインベントリに戻り、ツールカバレッジ列を確認します。緑のバーが全体にあればスキャナーは完全に有効です。バーが一部の場合は一部のトリガーのみが有効な状態です。グレーのバーはスキャナーがまだ設定されていないことを示します。
プロファイルのスキャントリガーや現在のステータスなど、技術的な詳細を確認するには、セキュリティインベントリからプロファイル名を選択します。
.gitlab-ci.yml にスキャナー設定が既存のプロジェクトがある場合、プロファイルベースの設定とレガシー設定は共存できますが、移行期間中はセキュリティインベントリのツールチップが組み合わせたステータスを正確に反映しない場合があります。現在のプロファイル状態を最も正確に把握するには、個別プロジェクトの「セキュリティ設定」ページを確認してください。詳細はセキュリティ設定プロファイルのドキュメントをご参照ください。
GitLab Ultimateをまだご利用でない方は、無料トライアルを開始して、SAST・シークレット検出・依存関係スキャンをプロジェクト全体で数分で稼働させましょう。
セキュリティ設定プロファイルとは何ですか?
セキュリティ設定プロファイルとは、セキュリティスキャナーをプロジェクト全体でどのように・いつ実行するかを定義した設定の一元管理セットです。各プロジェクトの .gitlab-ci.yml でスキャナーを手動設定する代わりに、プロファイルを一度適用するだけでグループ内のすべてのプロジェクトをカバーできます。
GitLab 19.0ではどのスキャナーにデフォルトプロファイルがありますか?
GitLab 19.0では最初のデフォルトプロファイルセットが完成し、依存関係スキャンが、18.9から段階的に拡充されたシークレット検出プロファイルと、18.11で導入されたSASTプロファイルに加わりました。各プロファイルは手動設定なしで推奨されるスキャントリガーのセットを有効化します。
各プロファイルはどのスキャントリガーを有効化しますか?
シークレット検出プロファイルは3つのトリガーを有効化します:プッシュ保護・マージリクエストパイプライン・デフォルトブランチを対象としたブランチパイプライン。SASTと依存関係スキャンのプロファイルは2つのトリガーを有効化します:マージリクエストパイプラインとデフォルトブランチを対象としたブランチパイプライン。
プロファイルを適用すると、既存の .gitlab-ci.yml のスキャナー設定は置き換えられますか?
自動的には置き換えられません。プロファイルベースとレガシーの設定は共存できます。プロファイルベースの設定のみを使いたい場合は、 .gitlab-ci.yml から該当するスキャナー設定を削除してください。移行期間中にプロファイルの状態を最も正確に把握するには、各プロジェクトのセキュリティ設定ページをご確認ください。そのページが常に最新かつ正確な状態を反映しています。
どのGitLabのサブスクリプションプランが必要ですか?
セキュリティ設定プロファイルはGitLab Ultimateプランで利用できます。GitLab.com・GitLab Self-Managed・GitLab Dedicatedのすべてのインスタンスに対応しています。
グループ全体ではなく個別のプロジェクトにプロファイルを適用できますか?
はい。セキュリティインベントリから、プロジェクト横の縦三点メニューを選択し、ツールカバレッジの管理を選ぶことで、個別プロジェクトのスキャナーカバレッジを管理できます。
このブログ記事を楽しんでいただけましたか?ご質問やフィードバックがあればお知らせください。GitLabコミュニティフォーラムで新しいトピックを作成してあなたの声を届けましょう。
フィードバックを共有する