GitLab Duo Agent Platform活用による脆弱性対応フローの効率化

GitLab Duo Agent Platform活用による脆弱性対応フローの効率化
執筆者
aslead編集部
aslead編集部

こんにちは。aslead編集部です。
最新ソフトウェア開発のトレンドから、AI・DXツールの効果的な活用法、企業のITガバナンスの強化、業務効率化やDX化を成功に導くソリューションまで、幅広い記事を提供しています。
企業が直面する課題の解決策として効率的なツールの活用方法を探求し、生産性の向上に繋がる実践的な情報をお届けすることを目指します。

目次

はじめに

近年、ソフトウェア開発におけるセキュリティ対策の重要性はますます高まっています。特にAI技術の進化は目覚ましく、Anthropic社のClaude Mythosをはじめとする高度な言語モデルが登場したことで、攻撃者がこれらを悪用するリスクも増大しています。

こうした背景から、脆弱性の早期検出と迅速な対応がこれまで以上に必要とされており、問題を開発初期に発見・対処する「シフトレフト」の考え方が重要視されています。

本記事では、GitLabが提供するAIソリューション「GitLab Duo Agent Platform」の概要と、それを活用したIssue作成からMerge Request作成までの一連のフローをご紹介します。
開発チームの作業負荷を軽減しつつ、セキュリティ対応を加速させる有効な手法として、ぜひご活用ください。

脆弱性対応の課題

セキュリティスキャンで検出された脆弱性に対応する際、以下のような課題が存在します。

  • 対応工数の増大:検出された脆弱性に対する調査や修正コードの作成など、開発者の負担が大きい
  • 対応の遅延:脆弱性の特定から調査、修正、レビュー、マージまでの間に時間がかかり、セキュリティリスクが長期間残る恐れがある

このような課題を解決する手段として、AIエージェントを使用した脆弱性対応の自動化が注目されています。

GitLab Duo Agent Platformとは

GitLab Duo Agent Platform(DAP)は、ソフトウェア開発ライフサイクル全体にわたって複数のAIエージェントを組み込み、開発作業の自動化と効率化を実現するAIソリューションです。
例えば、コードの修正やリファクタリングに加えて、セキュリティスキャンで検出された脆弱性の調査・修正など、繰り返し発生するルーチンタスクを専門のAIエージェントに任せることで、効率的に処理できます。
DAPの機能詳細については公式ドキュメントで確認いただけます。

クレジットについて

DAPを利用する際は、GitLab Creditsというクレジットが必要です。
クレジットには以下の3種類があり、上から順に優先して消費されます。

クレジットの種類 概要 課金形態
プランに含まれるクレジット Premium・Ultimateプランの
ユーザーに毎月付与される
クレジット
無料の利用枠
月間コミットメントプール 組織で共有可能な月毎の
クレジットプール
事前の年間契約
オンデマンドクレジット 上記クレジット消費後の
超過利用分
利用量に応じた従量課金

月間コミットメントプールの契約がない場合は、プランに含まれるクレジットを消費後に、オンデマンドクレジットが消費されます。
なお、オンデマンドクレジットについては、毎月の利用量に応じて月次課金される従量課金制となっています。

また、DAPでは複数のAIモデルが用意されており、モデルごとに1クレジットあたりで処理可能なリクエスト数が異なります。
一般的に、より高性能なモデルほど、1クレジットあたりのリクエスト数が少なくなる傾向があります。
加えて、実行するAI機能によってクレジットの消費量が異なります。
詳細なクレジットの仕組みや、モデル、機能ごとの消費量については公式ドキュメントをご確認ください。

DAP利用の前提条件

DAPを利用するためには以下の前提条件を満たしている必要があります。

●ライセンスプラン
・Premium, Ultimateプラン

●GitLabのバージョン要件
・GitLab 18.8以降

●運用環境
・GitLab.com
・GitLab Self-Managed
・GitLab Dedicated

前提条件の詳細については公式ドキュメントをご確認ください。
また、詳しい導入手順や設定方法についてはGitLab Duo Agent Platformスタートガイドをご確認ください。

DAPを使った脆弱性対応の実施

今回はDAPの一機能であるGitLab Duo Agentic Chat機能を利用し、開発者によるAIへの指示をトリガーとして脆弱性の修正案を作成します。

CI/CDパイプラインのSAST(静的解析)で脆弱性が検知されたことをトリガーに、DAPが脆弱性の誤検出判定・修正案生成・Merge Request作成までを自動で実行することも可能です。
SASTをトリガーとした脆弱性の自動修正については公式ドキュメントをご確認ください。

本記事では、以下のフローで進行します。

①トリガー(AIへの指示) → ②Issueを作成 → ③脆弱性修正案の作成 →
④Merge Requestの作成 → ⑤Merge Requestの承認

今回はGitLab.comの環境(19.1.0)でOWASP Juice Shopリポジトリに対して静的解析(SAST)を実行して、検出された脆弱性に対する脆弱性修正フローを試してみます。

SASTによって検出された脆弱性は脆弱性レポートで一覧表示されます。

今回はSASTで検出された以下の認証情報のハードコードに関する脆弱性を対象に、一連のフローを実施します。

① トリガー(AIへの指示)

GitLab Duo Agentic Chatを使用する際はモデルとエージェントの選択が必要です。

今回使用するモデルとエージェントは以下の通りです。
・モデル:Claude Sonnet 4.6 Vertex
・エージェント:Security Analyst

前述の通り、DAPでは複数のモデルから用途に応じてモデルを選択できますが、使用するモデルによってクレジットの消費量が異なる点に注意が必要です。
利用可能なモデルの一覧やモデルごとのクレジットの消費量については、公式ドキュメントをご確認ください。

また、​「Security Analyst」は、​GitLabの​脆弱性管理および​セキュリティ分析ワークフローの​支援に​特化した、​標準提供の​エージェントです。​ 導入する​ことで、​脆弱性の​トリアージや​分析、​セキュリティ関連の​ワークフローの​自動化と​いった​作業を​効率化できます。​ な​お、​本エージェントの​システムプロンプトに​ついてはAIカタログページを、​その​他の​エージェントの​詳細は​公式ドキュメントを​あわせて​ご確認ください。​

それでは、SASTのセキュリティスキャンで検出された脆弱性に対して、GitLab Duo Agentic Chatに修正を依頼します。
GitLab Duo Agentic Chatは、GitLab.comの画面右上にある「新しいチャットを追加」ボタンから開始できます。

脆弱性レポートで対象の脆弱性を表示した状態で、下記をGitLab Duo Agentic Chatで依頼します。

今回は一つの脆弱性を対象としますが、脆弱性の重大度や脆弱性ID等を指定することで複数の脆弱性を対象とすることも可能です。

この脆弱性について下記の対応をしてください。
【実施内容】
1. Issueを作成
 ・脆弱性概要
 ・影響範囲
 ・修正方針
 ・対応優先度
2. 修正案を作成
 ・必要に応じて関連コードへの影響確認
 ・既存機能への影響を最小化
3. Merge Requestを作成
 ・変更内容
 ・修正理由
 ・想定影響
 ・確認ポイント

依頼を受けると、AIエージェントは脆弱性に関連するファイルを確認します。

② Issueの作成

指示を受けたAIエージェントは検知内容を解析し、Issueを作成します。

ステップごとに内容を確認し、問題なければ「承認する」ことで作成が完了します。

Issueにはチャットで指示した項目が整理されて記載されます。
これにより、開発者が手動でIssueを整理・記述する負荷を軽減できます。

③ 脆弱性修正案の作成

Issueの作成が完了するとAIエージェントが脆弱性修正案を作成します。修正案は別のブランチを作成した上でコミットされるため、mainブランチには影響を及ぼしません。
(実際のプロジェクトで機能を使用する場合は、念のため「ブランチを切ってからコミットすること」をあらかじめ明記することを推奨します。)

開発者はゼロから調査・修正するのではなく、AIが生成した修正内容を確認しながら進められます。

コミットの内容に問題がある場合は、「拒否」を選択し、指摘内容をチャットに入力することで再度コミットの作成が可能です。
内容を確認し、問題なければ承認することでコミットが完了します。

無事に作成されたブランチに変更内容がコミットされています。

・作成されたコミットのイメージ

④ Merge Requestの作成

コミット完了後、AIエージェントはMerge Requestを作成します。
Merge Requestにはチャットで指示した項目が整理されて記載されます。

変更内容や修正理由を明確に記述するため、レビュアーは何を、なぜ修正したのか把握しやすくなります。
また、Merge RequestはIssueに紐づいた状態で作成されます。

内容を確認し、問題なければ承認することでMerge Requestの作成が完了します。

・作成されたMerge Requestのイメージ

AIエージェントによる一連のフローが完了すると、チャット画面で全体のサマリーが表示されます。

⑤ Merge Requestの承認

AIによるMerge Request後は、人が内容や変更を確認します。
Merge Requestの「レポート」タブより、該当の脆弱性が修正されていることを確認できます。

詳細の確認後、問題がなければ「マージ」を実行します。

マージ後、脆弱性レポートにて、ステータス「解決済み」でフィルターをかけると、今回対象とした認証情報のハードコードに関する脆弱性が解決されていることが確認できます。

期待できる効果・メリット

1.  セキュリティ対応までの時間の短縮

AIがIssueの作成からMerge Request作成まで行うことで、人手による起票や確認作業が減少し、脆弱性検知後の脆弱性対応の着手から解消までの時間を大幅に短縮できます。

2. 脆弱性対応の品質の標準化

脆弱性の内容や修正案をAIが整理することで、担当者間の知識差を軽減し、アウトプットのフォーマット統一が可能となり、対応品質の標準化が期待できます。

3. 定型業務の工数削減

定型的な調査・Issue作成・修正提案・Merge Request作成などの作業はAIエージェントに任せることで、開発者は影響判断や設計判断といった意思決定に専念できるようになります。

まとめ

本記事では、GitLabのDuo Agent Platform(DAP)を活用し、脆弱性対応のIssue作成から、修正案のコミット、そしてMerge Request作成までの一連のフローを自動化する方法について紹介しました。

脆弱性対応の迅速化が求められる中、DAPはAIエージェントによる支援で定型作業を効率化し、開発者の負担を軽減します。これにより、従来の手作業中心のフローに比べ、対応完了までの時間を大幅に短縮できる点が大きな特長です。

また、脆弱性修正の提案からMerge Request作成まで自動化することで、作業の抜け漏れや属人化を防ぎ、安定した品質での対応が期待できます。

これらの機能は、DevSecOpsの運用強化や継続的なセキュリティ対策の推進にもつながり、開発ライフサイクルへのセキュリティ統合を支援します。

お問い合わせ

株式会社野村総合研究所(NRI)は、GitLab社と販売代理店契約を締結しており、中でも優れた顧客価値を提供した実績を持つパートナーだけに与えられる「GitLab Select Professional Partner」に認定されています。

DevSecOpsソリューション「aslead DevOps」は、製品・ソリューションの導入からサポートや運用保守まで、ワンストップのトータルサービスを提供しています。

GitLabの導入に関するご相談や費用のお問い合わせ、GitLab無料トライアルの申し込みについては、こちらよりお気軽にお問い合わせください。