こんにちは、クラウドエースの小田です。
Google Security Command Center (SCC)、Google SecOps SIEM/SOAR、Google Threat Intelligence 用の Google MCP Security という、Google 公式の MCP サーバー群が最近公開されました。
これを使えば、生成 AI に自然言語で指示するだけでセキュリティ運用ができるようになるかも?と思い、実際に使ってみました。
Google MCP Security とは
Google MCP Security は、Google のセキュリティ製品にアクセスできる 4 つの MCP サーバーで構成されています。
- Security Command Center – クラウド セキュリティとリスク管理
- Google SecOps SIEM – 脅威の検出、調査、ハンティング
- Google SecOps SOAR – セキュリティのオーケストレーション、自動化、対応
- Google Threat Intelligence – Google の脅威インテリジェンス データへのアクセス
https://google.github.io/mcp-security
https://github.com/google/mcp-security
各 MCP サーバーで利用可能なツール一覧
それぞれの MCP サーバーで利用できる主なツールを紹介します。
※今後利用できるツールが増える可能性があります。
1. Security Command Center MCP サーバー
Security Command Center API (securitycenter.googleapis.com) と Cloud Asset API (cloudasset.googleapis.com) にアクセスして、脆弱性やリソースの情報を取得することができます。
ツール詳細
ツール
- top_vulnerability_findings: 特定プロジェクトの脆弱性を重大度順に一覧表示
- get_finding_remediation: 検出結果に対する修復手順と影響を受けるリソースの情報を取得
2. Google SecOps SIEM MCP サーバー
セキュリティイベントの検索、アラート管理、脅威インテリジェンス、ログ取り込み、パーサー管理などを行うことができます。
ツール詳細
セキュリティ ツール
- search_security_events: 自然言語を使用して SecOps のセキュリティイベントを検索
- get_security_alerts: 時間範囲とステータスでフィルタリングしたセキュリティアラートを取得
- get_security_alert_by_id: 特定のアラート ID でセキュリティアラートを取得
- do_update_security_alert: セキュリティアラートの状態やプロパティを更新
- lookup_entity: SecOps でエンティティ(IP、ドメイン、ハッシュなど)を検索
- list_security_rules: SecOps の検出ルール一覧を取得
- search_security_rules: 正規表現を使用して検出ルールを検索
- get_rule_detections: 特定の検出ルールによる検知結果を取得
- list_rule_errors: 検出ルールのエラー一覧を取得
- create_rule: 新しい検出ルールを作成
- test_rule: 検出ルールをテスト実行
- validate_rule: 検出ルールの構文や設定を検証
- get_ioc_matches: 指定された時間範囲内の Indicators of Compromise (IoC) Match の内容を取得
- get_threat_intel: SecOps の SecLM (セキュリティに特化した Gemini のモデル) を使用して脅威インテリジェンス情報を取得
ログ取り込みツール
- ingest_raw_log: 生ログを直接 SecOps SIEM に取り込み(JSON、XML、CEF 等のフォーマットに対応)
- ingest_udm_events: SecOps の Unified Data Model (UDM) 形式でフォーマット済みのイベントを取り込み
- get_available_log_types: SecOps でサポートされている取り込み可能なログタイプを取得
パーサー管理ツール
- create_parser: 特定のログタイプ用のカスタムパーサーを作成
- get_parser: 特定パーサーの詳細を取得
- activate_parser: パーサーをアクティブ化し、指定されたログタイプの処理を開始
- deactivate_parser: パーサーを非アクティブ化し、指定されたログタイプの処理を停止
- run_parser_against_sample_logs: デプロイ前にサンプルログに対してパーサー設定をテスト
データテーブルの管理ツール
- create_data_table: 検出ルールで参照可能な構造化データテーブルを作成
- add_rows_to_data_table: 既存のデータテーブルに新しい行を追加
- list_data_table_rows: データテーブルの行を一覧表示してコンテンツを確認
- delete_data_table_rows: 行IDに基づいてデータテーブルから特定の行を削除
リファレンス リストの管理ツール
- create_reference_list: 検出ルールで参照可能な値を含む参照リストを作成
- get_reference_list: 参照リストの詳細とコンテンツを取得
- update_reference_list: 既存の参照リストのコンテンツまたは説明を更新
3. Google SecOps SOAR MCP サーバー
セキュリティインシデントのケース管理、エンティティ調査、Integrations 管理、対応を行うことができます。
ツール詳細
ケース管理とエンティティ
- list_cases: ケース一覧を取得
- post_case_comment: 特定のケースにコメントを投稿
- list_alerts_by_case: 特定のケースに関連付けられているすべてのアラート一覧を取得
- list_alert_group_identifiers_by_case: 特定のケース内のアラートのグループ識別子を一覧を取得
- list_events_by_alert: 特定のケース内のアラートに関連するイベントの一覧を取得
- change_case_priority: 特定のケースのプライオリティを変更
- get_entities_by_alert_group_identifiers: アラートグループに関連するエンティティを取得
- get_entity_details: 特定のエンティティの詳細を取得
- search_entity: エンティティを検索
- get_case_full_details: 特定のケースの詳細を取得
Content Hub (旧 Marketplace) の Integrations 管理
さまざまな外部製品と連携する Integrations の設定を管理できます。
対応している Integration モジュールの詳細は以下をご参照ください。
4. Google Threat Intelligence MCP サーバー
IoC、キャンペーン、脅威アクターの情報、マルウェアなどに関する情報を検索して取得できる MCP サーバーです。
ツール詳細
Collections (Threat Landscape) ツール
- get_collection_report: 指定された ID のコレクションレポートを取得
- get_entities_related_to_a_collection: 指定されたコレクション ID に関連するエンティティを取得
- search_threats: 脅威(コレクション)の一般検索
- search_campaigns: キャンペーンタイプのコレクションを具体的に検索
- search_threat_actors: 脅威アクタータイプのコレクションを具体的に検索
- search_malware_families: マルウェアタイプのコレクションを具体的に検索
- search_software_toolkits: ソフトウェアタイプのコレクションを具体的に検索
- search_threat_reports: レポートタイプのコレクションを具体的に検索
- search_vulnerabilities: 脆弱性タイプのコレクションを具体的に検索
- get_collection_timeline_events: コレクションのタイムライン イベントを取得
ファイル分析ツール (IoC Investigation)
- get_file_report: ファイルハッシュの分析レポートを取得
- get_entities_related_to_a_file: 指定されたファイル ハッシュに関連するエンティティを取得
- get_file_behavior_report: ファイルの特定のサンドボックス動作レポートを取得
- get_file_behavior_summary: ファイル ハッシュのすべてのサンドボックス動作レポートの概要を取得
インテリジェンス検索 (IoC Investigation)
- search_iocs: GTI のクエリを使用して IoC を検索
ネットワーク分析系ツール (IoC Investigation)
- get_domain_report: ドメインの分析レポートを取得
- get_entities_related_to_a_domain: 指定されたドメインに関連するエンティティを取得
- get_ip_report: 指定された IP アドレスの分析レポートを取得
- get_entities_related_to_an_ip_address: 指定された IP アドレスに関連するエンティティを取得
URL 分析系ツール (IoC Investigation)
- get_url_report: URL の分析レポートを取得
- get_entities_related_to_an_url: URL に関連するエンティティを取得
実際にセットアップして使ってみる
Google Threat Intelligence の環境が用意できなかったため、Security Command Center と Google SecOps (SIEM/SOAR) での検証となります。
検証環境には Security Command Center Enterprise Tier、Google SecOps Enterprise Plus Edition を使用しています。
検証構成
今回の検証で使用した構成を以下の図に示します。
SCC と SecOps SIEM では Gemini CLI を MCP クライアントとして使用し、SecOps SOAR については、Gemini CLI だとエラーが発生するため、Cursor を使用します。
使ってみた
公式の Getting Started ガイドを参考にセットアップを行います。
-
前提条件
- gcloud CLI の認証設定済み
- 各 API が有効化済み
- 適切な IAM ロールおよび権限が付与されている必要があります
- uv がインストール済み
- Gemini CLI インストール済み
-
リポジトリをクローン
git clone https://github.com/google/mcp-security.git
-
各 MCP サーバーの設定
本記事では Gemini CLI を利用していますが、利用する MCP クライアントに合わせて設定します。
.~/gemini/settings.json
{
"mcpServers": {
"scc-mcp": {
"command": "uv",
"args": [
"--directory",
"//mcp-security/server/scc",
"run",
"scc_mcp.py"
],
"env": {},
"disabled": false,
"autoApprove": []
},
"secops": {
"command": "uv",
"args": [
"--directory",
"//mcp-security/server/secops/secops_mcp",
"run",
"server.py"
],
"env": {
"CHRONICLE_PROJECT_ID": "" ,
"CHRONICLE_CUSTOMER_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"CHRONICLE_REGION": "asia-northeast1"
},
"disabled": false,
"autoApprove": []
},
"secops-soar": {
"command": "uv",
"args": [
"--directory",
"//mcp-security/server/secops-soar/secops_soar_mcp",
"run",
"server.py"
],
"env": {
"SOAR_URL": "https://.siemplify-soar.com",
"SOAR_APP_KEY": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"disabled": false,
"autoApprove": []
}
}
}
SecOps 認証情報の確認方法
SecOps SIEM
Google SecOps インスタンスにログインします。
[Settings] > [SIEM Settings] > [Profile] にアクセスします。
Organization Details に記載されている情報を MCP クライアントの設定ファイルに入力します。
-
Customer ID →
CHRONICLE_CUSTOMER_ID
-
GCP Project ID →
CHRONICLE_PROJECT_ID
SecOps SOAR
[Settings] > [SOAR Settings] > [Advanced] > [API Keys] にアクセスします。
右上の [+] ボタンをクリックして API キーを生成し、SOAR_APP_KEY
に入力します。
[Settings] > [SOAR Settings] > [Ingestion] > [Webhooks] にアクセスします。
Webhook URL の https://.siemplify-soar.com
を SOAR_URL
に入力します。
もしくは、ブラウザの開発ツール (F12) を開き、Network タブを表示します。
SecOps の [Cases] 画面にアクセスします。GetCaseCardsByRequest
リクエストを探し、Header の Request URL
から https://.siemplify-soar.com
を確認します。
-
Gemini CLI からの接続
Gemini CLI を起動します。
MCP サーバーの稼働を確認します。
- SCC MCP サーバーを試す
SCC の検出結果を、指定したテンプレートに沿って Markdown ファイルとして出力させます。
あなたは、セキュリティアナリストです。
以下の手順に従って、脆弱性のレポートを作成してください。
1. `top_vulnerability_findings` ツールを実行して、脆弱性のリストを取得します。パラメータは以下を使用してください。
- `project_id`: ""
- `max_findings`: 50
2. 取得した脆弱性リストから、`severity` が "CRITICAL" または "HIGH" のものだけを抽出します。
3. 抽出した各脆弱性について、`get_finding_remediation` ツールを利用し、すべての脆弱性の修正方法を繰り返し取得します。
4. 最後に、すべての情報を統合し、添付の `template.md` の形式に従って、マークダウン形式で `report.md` というファイル名でレポートを生成してください。
少し待つと、以下のような検出結果と対処方法をまとめたレポートファイルが作成されました。
report.md
# セキュリティ脆弱性レポート
## 概要
このレポートは、プロジェクト `` で検出された重大なセキュリティ脆弱性をまとめたものです。
## 脆弱性一覧
---
### 脆弱性: OS_VULNERABILITY
- **重大度:** HIGH
- **リソース名:** `//compute.googleapis.com/projects//zones/asia-northeast1-b/instances/instance-20250424-094206`
- **説明:** An issue was discovered in libxml2 before 2.11.7 and 2.12.x before 2.12.5. When using the XML Reader interface with DTD validation and XInclude expansion enabled, processing crafted XML documents can lead to an xmlValidatePopElement use-after-free.
- **検出ID:** `organizations/xxxxxxxxxx/sources/xxxxxxxxxxxxxxxxxxxx/findings/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
#### 修正方法
- **修正方法:**
- **説明:** オペレーティングシステムのパッケージを最新バージョンに更新してください。例えば、Debian/Ubuntuベースのシステムでは、以下のコマンドを実行します。
sudo apt-get update && sudo apt-get upgrade -y
- **注意:** システムの再起動が必要になる場合があります。
〜〜〜
以下省略
-
SecOps SIEM MCP サーバーを試す
自然言語でログを検索してみます。
過去 24 時間以内に日本以外からログインした AWS CloudTrail イベントを見つけることができますか?
プロンプト出力
✦ 過去24時間以内に日本国外から 12 件のログインイベントが確認されました。すべて米国からのログイ
ンで、IP アドレスは「xxx.xxx.xxx.xxx」です。
以下に、検出されたイベントの概要を示します。
* タイムスタンプ: 2025-07-xx 12:34:42 UTC から 2025-07-xx 11:13:23 UTC
* 送信元 IP アドレス: xxx.xxx.xxx.xxx
* 国: アメリカ合衆国
* ユーザー:
* xxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxx
* accounts.google.com:xxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxx
- SecOps SOAR MCP サーバーを試す
現在対応が必要なセキュリティケースは何ですか?
プロンプト出力
現在、SOAR プラットフォームには多数のセキュリティケースが「開放」状態で対応を待っている状況です。特に注目すべき点は以下の通りです:
現在対応が必要なケースの概要
現在 50 件 のセキュリティケースが「Opened」状態で、すべて「Triage」段階にあります。これらすべてが @Tier1 に割り当てられており、対応を待っている状況です。
主なケースカテゴリ:
AWS EBS Volume Snapshot Enumeration - EBS ボリュームスナップショットの偵察活動
AWS VPC Enumeration/Lateral Movement - VPC の偵察と横展開の疑い
AWS EC2 Enumeration - EC2 インスタンスの偵察活動
AWS RDS Enumeration - RDS データベースの偵察活動
AWS ECR Enumeration - ECR コンテナレジストリの偵察活動
AWS SES Reconnaissance - SES サービスの偵察活動
優先度レベル:
PriorityLow: 49 件
PriorityInfo: 1 件(ケース #xxxxx - AWS SES Reconnaissance)
アラート数別の分布:
5件のアラートを含むケース:最も多い
1-4件のアラートを含むケース:複数
最新ケース:
ケース #xxxxx: AWS EBS Volume Snapshot Enumeration(最新)
ケース #xxxxx: AWS VPC Enumeration/Lateral Movement
これらはすべて AWS クラウド環境を標的とした偵察活動を示しており、潜在的な攻撃の前兆となる可能性があります。すべてのケースで「workflowStatus」が「Failed」となっているため、自動化された対応プロセスに問題が発生している可能性もあります。
詳細な調査が必要な場合は、特定のケース ID を指定いただければ、より詳しい情報を取得できます。
ケース #xxxxx – AWS SES Reconnaissance について詳しく聞いてみます!
ケース ID:xxxxx について詳しく教えて下さい。
プロンプト出力
# **ケース ID xxxxx 詳細分析レポート**
## **📋 ケース基本情報**
| :---- | :---- |
| ケース ID | xxxxx |
| 表示名 | AWS EBS Volume Snapshot Enumeration |
| ステータス | 開放中(Opened) |
| 優先度 | 低(PriorityLow) |
| 段階 | トリアージ(Triage) |
| 担当者 | @Tier1 |
| 作成日時 | 2025-07-xxT10:30:15 JST |
| 更新日時 | 2025-07-xxT10:31:06 JST |
## **🚨 アラート情報**
### **Google Chronicle アラート**
* アラート ID: xxxxx
* 識別子: AWS EBS VOLUME SNAPSHOT ENUMERATION\_GCHRONICLE\_DE\_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX*GCTI\_FINDING*
* 重要度: Medium(リスクスコア: 35)
* ルールジェネレーター: AWS EBS Volume Snapshot Enumeration
* 検知時間窓: 2025-07-xxT10:00:00Z \- 2025-07-xxT11:00:00Z
* 関連イベント数: 10 件
## **🔍 検知された活動内容**
### **攻撃パターン**
AWS EBS(Elastic Block Store)ボリュームスナップショットの偵察活動が検知されています。これは、攻撃者が AWS 環境内でデータ収集や権限昇格のための情報収集を行っている可能性を示しています。
### **関与しているアクター**
* ユーザーアカウント: `arn:aws:sts::xxxxxxxxxxxx:assumed-role/DatadogIntegrationRole/DatadogAWSIntegration`
* 発信元 IP アドレス範囲: xxx.xxx.xxx.xxx \- xxx.xxx.xxx.xxx(Google Cloud 範囲)
* アクセス元: DatadogのAWS統合ロール
## **📊 イベント分析**
### **検知されたイベント概要**
* 総イベント数: 10 件
* イベントタイプ: RESOURCE\_READ(リソース読み取り)
* 対象AWSアカウント: xxxxxxxxxxxx
* 活動期間: 1 時間(10:00-11:00 JST)
### **IPアドレス分布**
* xxx.xxx.xxx.xxx: 3回
* xxx.xxx.xxx.xxx: 3回
* xxx.xxx.xxx.xxx: 1回
* xxx.xxx.xxx.xxx: 1回
* xxx.xxx.xxx.xxx: 1回
## **⚠️ リスク評価**
### **現在の脅威レベル: 中程度**
### **懸念事項**
1. 自動化された偵察活動: 短時間内での複数 IP からのアクセス
2. 監視システムの盲点: Datadog ロールによるアクセスが Whitelist されていない可能性
### **潜在的影響**
* EBS スナップショット情報の不正取得
* ストレージ構成の把握による攻撃計画立案
* データ窃取の前準備活動
## **🎯 推奨対応アクション**
### **即座に実施すべき対応**
1. DatadogIntegrationRole のアクティビティ監査
2. 該当時間帯の CloudTrail ログ詳細分析
3. EBS スナップショットアクセス権限の確認
### **フォローアップ調査**
1. 関連する VPC、EC2、RDS の偵察活動との相関分析
2. 同一時間帯の他の AWS サービスへのアクセス調査
3. Datadog ロールの権限適正性レビュー
このケースは、AWS 環境への潜在的な脅威を示しており、迅速な調査と対応が必要です。
まとめ
Google Cloud セキュリティ運用では複雑な画面操作や専門知識が必要でしたが、Google MCP Security を活用することで、生成 AI に自然言語で指示するだけで、これらの作業を簡単に実行できるようになります。
現時点ではすべてを生成 AI 任せるのは難しいですが、以下の領域で大きな効果が期待できると思います。
-
セキュリティ運用者の生産性向上
- セキュリティ運用経験の少ない人でも高度な調査が可能
- ルーチンワークの大幅な自動化
-
インシデント対応の高速化
- 生成 AI による迅速な初動対応支援
- 人的リソースの効率的な活用
-
組織全体のセキュリティレベル向上
- 専門知識なしでも生成 AI による自然言語操作でセキュリティ分析が可能
- セキュリティ担当者以外の開発者もセキュリティ運用に参加しやすくなる
Google Cloud Security Community では、最新のセキュリティ関連情報についての共有や、今回紹介した Google MCP Security のユースケースなどのディスカッションが行われています。
興味があればこちらもご参考にしてみてください。
Views: 0