エージェント型コーディングの進化は速く、多くの企業のガバナンス体制が追いつけていないのが実情です。Claude security guidanceプラグインやClaude Securityのようなコーディングアシスタントは、コードが書かれるのと同じセッション内で、よくある脆弱性を検出し修正できます。これはより安全なコードを書くうえで大きな価値がありますが、セキュリティはそこで終わりません。コミットは本番環境に至る道のりの一段階に過ぎず、マージ、依存関係の更新、インフラの変更、監査は、セッションが終わった後に発生します。
GitLabは、本番環境に至るまでの残りの工程のセキュリティを担います。Anthropic ClaudeからGitLabへと至る典型的なセキュリティワークフローには5つのハンドオフが存在し、本記事ではその一つひとつを取り上げながら、エージェント型コーディングを大規模に統制する方法を解説します。
すでにClaude security guidanceやClaude Securityを利用しているチームであれば、GitLab MCPサーバーを通じてそのコンテキストをGitLabに直接連携させ、既存のワークフローをそのまま維持できます。Claudeがコードを書く瞬間を担当し、そこから本番環境に至るまでのすべてを、単一のプラットフォーム上でGitLabが引き受けます。
Claude security guidanceプラグインは、開発者一人ひとりのセッション内でコードをレビューし、エージェントの手を止めないほどの速さで問題を検出します。しかし、そのコードがセッションを離れた後は、セキュリティチームはセッション内で何が起きたかの記録と、次に何が起きるかを制御する仕組みを必要とします。
GitLabが提供するのは、コードの出どころを問わず、本番環境に届く前の段階で安全なコーディングのためのガードレールを定義できるだけの可視性と制御力です。
対象となるすべてのプロジェクトでスキャナーを大規模に有効化し、回避できない仕組みにする
変更管理における監査要件は、エージェントも対象に含む形へと広がっています。SOC 2、PCI DSS、FedRAMPといったコンプライアンスフレームワークでは、あらゆる変更が出荷前にテスト・レビュー・承認されたことを示す文書化されたエビデンスが求められます。
GitLabは、コンプライアンス統制を実効性のあるものにし、監査人向けのエビデンス収集を自動化します:
エージェントの活動を記録した監査ログ。セッション単位のイベントと開始時刻を表示
レビューのためにコードやその背景にあるビジネスコンテキストを送る相手は、人よりもモデルのほうが多いかもしれません。規制業界、政府機関、知的財産に敏感な組織にとっては、認証情報や独自のロジック、規制対象データなど、何を環境の外に出すかを自ら決める必要があります。この判断は、スキャンが実行される前に、コードに触れるすべてのツールにわたって行われなければなりません。
GitLabを使えば、データが環境の外に出る前に、モデルに届く内容を自ら決められます:
AIモデルへの送信から除外するファイルやディレクトリを定義する
Anthropicのドキュメントでも、Claude security guidanceプラグインはベストエフォート型の支援ツールであり、人によるコードレビューや各種セキュリティスキャナーに置き換わるものではなく、それらと並行して使うものだと明記されています。この位置づけは重要です。なぜなら、出荷した時点では存在しない脆弱性もあるからです。今日出荷した依存関係に、来年、自分のコードには一切変更がないまま重大な脆弱性が公表されることもあります。Log4Shellはその典型例で、何年も前に出荷されたアプリケーションが、2021年12月に脆弱性が公になった瞬間、突然攻撃可能な状態になりました。
依存関係、コンテナイメージ、インフラ構成、そしてすでにコミット履歴に残っているシークレットには、特定のセッションから独立して実行されるスキャンが必要です。
GitLabは、ソフトウェア配信ライフサイクル全体を保護します:
SAST、DAST、依存関係、コンテナ、シークレットの各スキャンをパイプラインで必須実行
Claude security guidanceプラグインがレビューするのは、Claudeがセッション内で書いてコミットしたコードです。セッション内の「!」によるシェルエスケープを含め、開発者自身のシェルから行われたコミットは、プラグインのレビュー対象外です。Claude Securityは、開発者や管理者がオンデマンドで実行することで、コードベース全体や人が書いたコードにもレビューの範囲を広げます。
GitLabのスキャン実行ポリシーとマージリクエスト承認ポリシーは、すべての変更に対してパイプライン上で実行されます。そのため、コードを書いたのが人かエージェントか、スキャンを実行し忘れていないかといった事情に、カバレッジが左右されることはありません。
デフォルトブランチごとにセキュリティスキャンが実行されるよう設定する
Claude security guidanceとClaude Securityは、コードが書かれたその瞬間に問題を検出し、修正することを助けます。しかし、そのコードがセッションを離れた後は、本番環境まで安全に届けることの責任は、エンタープライズのセキュリティチームとプラットフォームチームが負います。そこで必要になるのが、エージェントが何をしたかの可視性、セキュリティ手順が守られたことの証明、そして問題のある変更を出荷前に止められる仕組みです。
GitLabは、Claudeのワークフローをそこにつなぎます。GitLab側でガードレールを一度設定すれば、あらゆるエージェントも開発者も、その内側でより速く、より安全に出荷できるようになります。Claudeの役割は、安全なコードを書く手助けをすることです。GitLabはそこから本番環境までのすべてを、チームの速度を落とすことなく統制します。
すでにUltimateをご利用の場合は、スキャン実行ポリシーとマージリクエスト承認ポリシーを設定し、今日からガードレールの適用を始めましょう。
このブログ記事を楽しんでいただけましたか?ご質問やフィードバックがあればお知らせください。GitLabコミュニティフォーラムで新しいトピックを作成してあなたの声を届けましょう。
フィードバックを共有する