更新日:2026年7月17日

6分で読めます

バージョンアップでビルドが壊れてもGitLabが修正します

依存関係の自動アップグレード、破壊的変更へのコード調整、承認のための変更ルーティングを実現するのはGitLabだけ。すべてのコンテキストを踏まえたネイティブな対応です。

AIがコードを書く量が増え、依存関係の取り込みも増えるにつれ、アプリケーションのリスクは高まっています。そうしたリスクの多くは、開発チームが積極的に選んだコードに起因するものではありません。2025年に実施されたMavenエコシステムに関する調査によると、脆弱性は直接的な依存関係を通じては31%であるのに対し、推移的依存関係を通じては最新リリースの約63%に達していることがわかりました。

依存関係スキャンの自動修復(現在ベータ版)は、セキュリティのループを閉じる機能です。依存関係スキャンが脆弱なパッケージを検出すると、GitLabはそれを更新するマージリクエストを開き、AIを使ってビルドを壊す変更を修正し、パイプラインが通過するまで繰り返します。変更はすべて、既存のゲートと監査証跡によって管理されます。

その結果、開発者の手を煩わせることなくセキュリティのバックログが縮小し、重大な脆弱性はコンプライアンス期限内に修正され、破壊的なアップグレードは承認可能な状態のマージリクエストとして届きます。

依存関係のバックログが増え続ける理由

脆弱で古くなったコンポーネントは、長年にわたるOWASP Top 10のリスクであり、修復バックログの主要な原因です。検出結果の解消は時間のかかる手作業であり、機能開発と競合するため、PCI-DSSやFedRAMPが定める30日という期限を超えて、重大な脆弱性が未対応のまま残ってしまいます。さらに、確立されたライブラリであっても、AIを活用したエクスプロイト開発によって、脆弱性の公開と悪用が加速しています。

依存関係の更新のうち、およそ8件に1件が破壊的変更を伴うとされ、後方互換性があるとされているものの多くも、実際にはビルドを壊してしまいます。開発チームは複雑な変更を先送りにしがちで、脆弱性が放置される期間が長引くほど、その深刻度は増していきます。

開発者の手を止めずに、バックログを修正へ

依存関係スキャンの自動修復は、脆弱な依存関係をレビュー済みでマージ可能な修正へと変換します。これにより、開発チームは検出結果をより早く解消し、破壊的変更の対応にかける時間を削減できます。チームが得られるメリットは、スピード、工数、統制の3つの観点にわたります。

  • 依存関係のバックログを縮小:脆弱な依存関係は検出されると同時にアップグレードされるため、検出結果が積み上がることなく、重大な脆弱性もコンプライアンス期限内に収まります。
  • 破壊的変更の書き直しに費やす時間を取り戻す:バージョンアップでビルドが壊れた場合、GitLab Duo Agent Platformが修正をコミットするため、開発者はゼロから変更を作成するのではなく、動作する変更をレビューするだけで済みます。
  • すべての変更を統制下に置く:自動修復が変更のドラフトを作成しますが、レビュアーが承認するまでマージされることはなく、すべてのマージリクエストには何が変更され、誰が承認したかという監査証跡が残ります。

コード変更が必要な場合でも、脆弱性を迅速に解消

依存関係スキャンの自動修復は、2つの段階で脆弱性のアップグレードと破壊的変更の修正を行います。

自動依存関係バージョンアップは、スキャンによって脆弱な依存関係が検出されると自動的に実行され、修正済みの最も近いバージョンへアップグレードするマージリクエストを開きます。適用可能な修正が存在しない場合、安全なアップグレード経路が利用可能になるまで、検出結果は脆弱性レポートに残ります。すべてのマージリクエストは専用のサービスアカウントに紐づけられるため、変更ごとに明確な識別情報として追跡できます。

エージェント型の破壊的変更解消は、バージョンアップが破壊的変更を引き起こす、より難しいケースに対応します。修復用マージリクエストのパイプラインが、新しいバージョンによってプロジェクトが壊れることで失敗すると、GitLab Duo Agent Platformが自動的にパイプラインのエラー、依存関係の変更履歴、そしてコードでの依存関係の使用方法を分析します。そのうえで、同じマージリクエスト内でコードに修正をコミットし、更新されたバージョンでプロジェクトが動作するようにします。パイプラインを通過させられない場合は処理を停止し、判明した内容をマージリクエストに投稿するため、その後の対応は開発チームに委ねられます。対応エコシステムにはBundler、Maven、Gradle、主要なPythonおよびJavaScript/TypeScriptのパッケージマネージャーが含まれ、RustGoは今後数か月以内に対応予定です。

自動修復が単独でマージされることはありません。レビューを迅速に行えるよう、各マージリクエストには対応する脆弱性、移行先のバージョン、そしてビルドを通過させるためにGitLab Duo Agent Platformが提案したコードが明記されるため、承認者が変更内容を逆算する必要はありません。

依存関係スキャンの自動修復の仕組み

自動修復は、SBOMベースの依存関係スキャンによって修正可能な脆弱な依存関係が検出されると自動的に実行されます。担当者は、脆弱性レポートから個別の検出結果に対して手動で開始することもできます。GitLabは通常のレビューおよびマージプロセスを経る修復用マージリクエストを開き、エージェント型の破壊的変更解消が有効になっていてバージョンアップがパイプラインを壊す場合は、GitLab Duo Agent Platformが同じマージリクエスト内で、発生したコードの変更を修正しようとします。

組み込みの保護機能により、修復の自動化がノイズにならないようにしています。クールダウン期間により、活発なプロジェクトがパイプラインのたびに修復をトリガーすることを防ぎ、新しい修正が利用可能でない限り、GitLabがクローズ済みのマージリクエストを再作成することはありません。

修復設定は、リスク許容度に合わせて調整できます。低から重大まで、任意の深刻度の脆弱性を対象にでき、バージョンアップの許容範囲(パッチ、マイナー、メジャー)を制限でき、設定はプロジェクトまたはグループレベルの構成プロファイルに保存できます(ベータ期間中はAPI経由)。

修復は組織自身のパイプラインを通じて実行されるため、既存のアクセス制御と承認ゲートをそのまま引き継ぎます。また、何が変更され、誰が承認し、その理由は何かという、完全で監査可能な記録も得られます。

依存関係スキャンの自動修復の実際の動作をご覧ください。

今すぐ依存関係のバックログの解消を始めましょう

依存関係スキャンの自動修復は現在パブリックベータ版です。GitLab.comで利用可能で、GitLab Self-ManagedおよびGitLab Dedicatedへの展開も進めています。

試してみたい方は、依存関係スキャンの自動修復のドキュメントをご確認ください。

自動依存関係バージョンアップは、追加費用なしでGitLab Ultimateに含まれています。

GitLab Duo Agent Platformの無料トライアルにより、エージェント型の破壊的変更解消をご利用いただけます。すでにGitLab Ultimateをご利用の方は、Duo Agent Platformを有効化し、サブスクリプションに含まれるGitLabクレジットをご利用ください。

ご意見・ご感想がございましたら、フィードバック用エピックにてお寄せください。

ご意見をお寄せください

このブログ記事を楽しんでいただけましたか?ご質問やフィードバックがあればお知らせください。GitLabコミュニティフォーラムで新しいトピックを作成してあなたの声を届けましょう。

フィードバックを共有する

今すぐ開発をスピードアップ

DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。