Contrast Securityは、待望のMCPサーバをついにリリースした。 スマートアシスタントが文章の間違いを見つけて直してくれるように、コードのセキュリティ上の弱点を修正するアシスタントを想像してほしい。CopilotのようなIDEベースのAIエージェントとContrastのMCPサーバを連携すれば、まさにそれが実現する!
Contrast MCPの実例:SQLインジェクションの脆弱性を修正する
Contrast MCPサーバを使用して、AIコーディングエージェントで実際のSQLインジェクションの脆弱性を迅速に特定し、修正する様子を見てほしい。
デモ:Contrast MCPを使用して効率的にJNDI脆弱性を修正する
このビデオでは、Contrast MCPサーバとAIアシスタントを組み合わせることで、複雑なJNDIインジェクションの脆弱性を修正するプロセスをどのように簡素化するかを紹介している。
Contrast MCPサーバは、Contrastのデータ(特に、セキュリティ情報に富んだIASTの脆弱性データ)とIDE(統合開発環境)ベースのAIエージェントをつなぐ橋渡し役である。この橋渡し役により、IDEの画面を離れずに脆弱なコードを特定し、そのまま修正することができる。脆弱性のデータそのものに加えて、専門家が厳選した修復ガイダンスがContrastからAIエージェントに提供される。これにより、AIは必要な全ての情報を確実に入手し、最初から正しい修正を行うことができる。
この技術革新の背後にあるテクノロジーについて詳しく見ていこう。
MCPとは?
モデルコンテキストプロトコル(MCP)とは、AIエージェント内の大規模言語モデル(LLM)が外部のデータソースやツールにアクセスできるように設計されたプロトコルだ。これにより、LLMは特別な学習や開発を必要とせずに、個別の情報を活用したり、外部システムに変更を加えたりできるため、その活用範囲は大幅に広がる。MCPは2つの主要なコンポーネントで構成されている:GitHub Copilot、 Cline、Aider、Claude DesktopなどのAIツールに存在するMCPクライアントと、ツール、サービス、データを公開するMCPサーバだ。
AIツールが起動すると、ツール内部のMCPクライアントが、あらかじめ設定されたMCP サーバに問い合わせを行う。これにより、利用可能なツールの一覧と、それぞれのツールの説明が取得される。この仕組みにより、AIツール側では、どのようなツールが利用でき、それらをどう使えば良いのかが判断できるようになる。AIがユーザから指示(プロンプト)を受け取ると、利用可能なツールについては把握されているため、AI自体の判断でそれらのツールが適切に活用され、非常に幅広い用途に対応できるようになる。
MCPの強みを示す簡単な例として、ローカルファイルシステムの一部をMCPクライアント、ひいてはLLMに公開する機能が挙げられる。これにより、LLMはローカルファイルを読み込み、操作ができるようになり、クラウドベースのLLMでは不可能だった処理が可能になる。つまり、MCPによってLLMの実行環境と外部リソースとの間のギャップが埋まり、高度な連携が可能になるのだ。
ContrastのMCPサーバ
Contrast MCPサーバは、MCPクライアントにContrast Securityの脆弱性データへのアクセスを提供する。その結果、LLMもそのデータを利用できるようになる。エージェント型コーディングツールと組み合わせて使用すると、Contrastが提供する詳細なセキュリティ情報により、開発者は効率的かつ効果的に脆弱性を修正することができる。これを可能にするのは、ContrastのMCPサーバから、コーディングツールに以下のような詳細な脆弱性情報が提供されるからだ:
この包括的な情報によって、開発者が指示を与えて適宜誘導するコーディングエージェントにて、特定された脆弱性を迅速かつ正確に修正できる。
ContrastのMCPサーバを使用する理由は?
ContrastのMCPサーバとAIコーディングエージェントを連携することで、Contrastによって検出された脆弱性を開発者は迅速かつ正確に修正できる。これが最も効果を発揮するユースケースのように思えるかもしれないが、MCPテクノロジの柔軟な性質を考えると、Contrastのデータを使ってAIエージェントにほぼ何でも実行させることが可能だ。例えば、以下の通り:
- Contrastからのライブラリの使用情報に基づいて、アプリケーション内の脆弱なライブラリに優先順位を付け、修正する。
- 新たに発表された深刻度の高い脆弱性がアプリケーション全体に与える影響を判断する。
- ランタイムクラスの使用状況データを使って、未使用のライブラリをすぐに特定して削除する。
これらの例が、全てを網羅しているわけではない。本当のMCPの強みは、LLMのユーザに提供される柔軟性にある。
Contrast MCPの使い方を学ぶ
ContrastのMCPサーバの使い方を説明したビデオを作成した。このビデオでは、この記事で取り上げたSQLインジェクションとJNDIの脆弱性を修正する方法も紹介している。
MCPの多用途性は、ここで取り上げた範囲をはるかに超えており、LLMが様々なシステムと連携できる機能は、セキュリティワークフローの改善に無限の可能性をもたらす。Contrast MCPサーバを実際に試すには、GitHubのリポジトリをチェックしてみてほしい。
