🛡️ MCP Boss——自主安全操作服务器
91个工具。 一个端点。用简单的英语与你的整个谷歌安全堆栈交谈。
MCP Boss允许任何AI模型(Gemini、Claude、GPT)通过 模型上下文协议.
______________________________________________________________________
快速开始
单线安装:
curl -sL https://raw.githubusercontent.com/dadohen/MCP-Boss/main/setup.sh | bash -s -- \
--project your-project-id \
--customer your-secops-customer-id \
--gti-key your-vt-api-key或者从Google Cloud Shell进行部署:

Cloud Shell打开后,在终端中运行:
chmod +x setup.sh && ./setup.sh向导将引导您完成项目ID、客户ID,并部署所有内容。
或者一步一步:
git clone https://github.com/dadohen/MCP-Boss.git
cd MCP-Boss && ./setup.sh安装向导处理一切:API、服务帐户、IAM角色、容器构建、云运行部署和验证。
______________________________________________________________________
它做什么
你问了一个问题→ Gemini选择合适的工具→ 执行它们→ 跨多个来源的链结果→ 给你一份报告。没有点击UI,没有编写API调用,没有切换控制台。
例子: *“在所有来源中寻找APT28”* →
- 通过GTI/VirusTotal查找APT28威胁情报
- 在SIEM中搜索匹配的IOC
- 检查SCC是否存在与其TTP匹配的可利用漏洞
- 将所有来源的调查结果相关联
- 编制一份载有建议行动的执行摘要
全自动,一个请求中最多可调用20个链式工具。
______________________________________________________________________
基准
首次在实时Cloud run部署上进行基准测试(2026-04-22,gemini-2.5-flash,6种场景):
| 度量 | 值 |
|---|---|
| correct_verdict_pct | 83.3%(5/6种情况) |
| 正确控制 | 13.9% |
| destructive_fp_rate_pct | 0.0% |
| 中位数_警报_控制 | 60.87 |
完整的记分卡、场景和原始工具跟踪在 eval_harness/ (scorecard-2026-04-22.md, results.json).随时重新运行 ./eval_harness/run.sh这一类别中没有其他人可信地公布这些数字;这就是重点。
______________________________________________________________________
建筑
┌──────────────────────────────────────────────────────────────┐
│ USER INTERFACES │
│ Web UI · Gemini CLI · Claude Desktop · Mobile App │
└──────────────────────┬───────────────────────────────────────┘
│
┌────────────┴────────────┐
│ /api/chat (Web UI) │ ← Multi-turn orchestration
│ /mcp (Gemini CLI) │ ← Streamable HTTP
│ /sse (Claude/MCP) │ ← SSE transport
└────────────┬────────────┘
│
┌──────────────────────▼───────────────────────────────────────┐
│ MCP Boss Server (Cloud Run) │
│ 89 Tools · Python · FastMCP · Serverless │
│ │
│ 🔍 Discovery 🧠 Intel 🛡️ Detection 📂 SOAR │
│ ├─ SCC ├─ GTI/VT ├─ YARA-L ├─ Cases │
│ ├─ Cloud Log ├─ Malware ├─ Rules ├─ Playbooks│
│ ├─ UDM Search ├─ Actors ├─ Alerts ├─ Actions │
│ ├─ Ingestion └─ Vertex AI └─ Data Tables └─ Metrics │
│ │
│ 📧 Containment ☁️ Cloud 📊 Analytics │
│ ├─ O365 Purge ├─ AWS Keys ├─ BigQuery │
│ ├─ Okta ├─ GCP SA ├─ MTTx Metrics │
│ ├─ Azure AD ├─ STS Revoke ├─ Audit Logs │
│ └─ CrowdStrike └─ IAM Review └─ Cloud Monitoring │
└──────────────────────────────────────────────────────────────┘
│
┌────────────┴────────────┐
│ Google Cloud APIs │
│ Chronicle · SCC · GTI │
│ Vertex AI · BigQuery │
│ Cloud Logging · IAM │
│ Cloud Monitoring │
└─────────────────────────┘零嵌入秘密。 所有Google API身份验证都使用工作负载身份联合身份验证(应用程序默认凭据)。Cloud Run服务帐户会自动进行身份验证。第三方遏制API(Okta、AWS、Azure AD、CrowdStrike、O365)使用由Secret Manager支持的环境变量。
______________________________________________________________________
安全
MCP Boss处理敏感的安全数据。以下是如何将其锁定。
认证关闭等于政策关闭。 当OAUTH_CLIENT_ID未设置,内置身份验证中间件无操作,审批角色签入/api/approvals/*/decide回退到允许所有路径,以便开发工作流继续工作。这意味着部署时没有OAUTH_CLIENT_ID没有强制执行:任何拥有网络覆盖范围的人都可以批准任何破坏性的工具调用。任何非开发部署都必须设置OAUTH_CLIENT_ID(并填充ROLE_MAP_JSON或ROLE_MAP_PATH).看auth_middleware.py和deploy/multi_tenant/README.md. 如果出现以下情况,Boot将拒绝启动LOCAL_DEV_ALL_ROLES=1未设置OAUTH_CLIENT_ID除非你也设置MCP_BOSS_ENV=dev。该组合授予每个呼叫者每个审批者角色。 MCP传输(stdio/SSE)会话工具(create_session,get_session,update_session,add_note)仍然在单个租户下运行,因为这些传输不携带HTTP标识。在基础层限制MCP传输访问(Cloud Run IAM调用程序在/mcp和/sse).
选项1:IAM身份验证(推荐)
删除公共访问并要求Google Cloud IAM身份验证:
# Remove unauthenticated access
gcloud run services remove-iam-policy-binding mcp-boss \
--member="allUsers" \
--role="roles/run.invoker" \
--project=$PROJECT_ID \
--region=us-central1
# Grant access to specific users only
gcloud run services add-iam-policy-binding mcp-boss \
--member="user:analyst@yourcompany.com" \
--role="roles/run.invoker" \
--project=$PROJECT_ID \
--region=us-central1
# Grant access to a Google Group (for SOC team)
gcloud run services add-iam-policy-binding mcp-boss \
--member="group:soc-team@yourcompany.com" \
--role="roles/run.invoker" \
--project=$PROJECT_ID \
--region=us-central1锁定后如何访问:
# From browser — use Cloud Run Proxy:
gcloud run services proxy mcp-boss --project=$PROJECT_ID --region=us-central1
# Opens http://localhost:8080 → authenticated tunnel to your service
# From curl/API:
TOKEN=$(gcloud auth print-identity-token)
curl -H "Authorization: Bearer $TOKEN" https://YOUR-SERVICE-URL/health
# From Gemini CLI:
TOKEN=$(gcloud auth print-identity-token)
gemini --tool-endpoint https://YOUR-SERVICE-URL/mcp --headers "Authorization=Bearer $TOKEN"选项2:仅VPC(内部网络)
仅限于您的VPC——完全没有公共互联网接入:
gcloud run services update mcp-boss \
--ingress=internal \
--project=$PROJECT_ID \
--region=us-central1只能从VPC、VPN或云互连中访问。
如何访问:
# From your local machine via Cloud Run Proxy (tunnels through IAM):
gcloud run services proxy mcp-boss --project=$PROJECT_ID --region=us-central1
# Opens http://localhost:8080 locally
# Or from a GCE VM / GKE pod inside the VPC:
curl https://YOUR-SERVICE-URL/health选项3:IAP(身份感知代理)
将Cloud IAP放在前面,以便与您的企业身份提供商进行基于浏览器的SSO:
# Enable IAP on the Cloud Run service
gcloud iap web enable \
--resource-type=cloud-run \
--service=mcp-boss \
--project=$PROJECT_ID
# Grant access to your SOC team
gcloud iap web add-iam-policy-binding \
--resource-type=cloud-run \
--service=mcp-boss \
--member="group:soc-team@yourcompany.com" \
--role="roles/iap.httpsResourceAccessor" \
--project=$PROJECT_ID用户在到达Web UI之前,浏览器中会出现谷歌登录提示。无需更改代码——IAP处理一切。
如何访问: 只需在浏览器中打开URL即可。IAP显示了一个谷歌登录页面。登录后,您将进入Web UI。
选项4:API密钥头
为了快速保护,请设置API密钥环境变量并在请求中验证:
gcloud run services update mcp-boss \
--set-env-vars="MCP_BOSS_API_KEY=your-secret-key-here" \
--project=$PROJECT_ID \
--region=us-central1如何访问:
# curl:
curl -H "X-API-Key: your-secret-key-here" https://YOUR-SERVICE-URL/health
# Gemini CLI:
gemini --tool-endpoint https://YOUR-SERVICE-URL/mcp --headers "X-API-Key=your-secret-key-here"
# Web UI: Add ?key=your-secret-key-here to the URL
# Or the Web UI will prompt for it on first load当以下情况发生时,服务器会自动验证 MCP_BOSS_API_KEY 已设置。
安全最佳实践
| 练习 | 如何 |
|---|---|
| 无公共访问 | 删除 allUsers 调用程序绑定 |
| 最低特权SA | 使用专用 mcp-boss 服务帐户,而非默认计算SA |
| 秘密经理 | 将API密钥(GTI、Okta、AWS等)存储在Secret Manager中,而不是env vars中 |
| 审核日志记录 | Cloud Run请求日志是自动生成的;启用数据访问审核日志 |
| VPC SC | 将项目放置在VPC服务控制外围 |
| 遏制批准 | 内置:请参阅下面的“身份验证和批准” |
| 网络 | 使用 --ingress=internal +用于生产的云VPN/互连 |
______________________________________________________________________
身份验证和批准
位于Cloud Run IAM之上的应用程序级控件。默认情况下,它们都是关闭的;使用env变量选择加入。
身份验证(Google ID令牌)
集 OAUTH_CLIENT_ID 服务器拒绝任何没有有效Google OIDC ID令牌的请求 aud 比赛。
| 变量 | 目的 |
|---|---|
OAUTH_CLIENT_ID | 主要观众。通常您的浏览器流OAuth 2.0客户端ID |
OAUTH_ADDITIONAL_AUDIENCES | 逗号分隔额外接受的受众。添加服务URL或 32555940559.apps.googleusercontent.com (gcloud默认客户端)用于服务器到服务器的CI调用。 |
ALLOWED_EMAILS | 可选逗号分隔的列表。如果设置,则不在列表中的已验证电子邮件将被拒绝。 |
AUTH_EXEMPT_PATHS | 绕过身份验证的逗号分隔路径前缀(默认 /health,/static). |
当 OAUTH_CLIENT_ID 如果未设置,则中间件为无操作:auth已禁用,主体为 local,每个角色检查都通过。请勿将此配置发布到本地开发之外。如果出现以下情况,服务器将拒绝启动 LOCAL_DEV_ALL_ROLES=1 未设置任何一个 OAUTH_CLIENT_ID 或 MCP_BOSS_ENV=dev.
角色映射和审批人组
policy_and_approvals/policies.yaml 将每个破坏性工具(主机隔离、密钥撤销、电子邮件清除等)映射到一个或多个审批者角色名称。要授权呼叫者,请将他们的电子邮件映射到角色集。
| 变量 | 格式 |
|---|---|
ROLE_MAP_JSON | 内联JSON: {"alice@co.com":["security-oncall"], "@co.com":["soc-manager"]} |
ROLE_MAP_PATH | YAML文件的路径: roles: {alice@co.com: [security-oncall]} |
默认情况下识别的审批人角色名称 policies.yaml: security-oncall, soc-manager, identity-team, cloud-platform, detection-engineering, legal, security-leadership.
审批工作流程
- 编排器想要调用门控工具(例如。
isolate_crowdstrike_host). - 政策关卡检查
policies.yaml.如果require_approval,它将工具调用冻结为ApprovalRequest. - 批准通过任何配置的频道进行广播:
/api/approvals(网络用户界面),谷歌聊天卡(GOOGLE_CHAT_WEBHOOK_URL),通用webhook(APPROVAL_WEBHOOK_URL). - 审批人点击
POST /api/approvals/{id}/decide和approve/deny除非经过身份验证的呼叫者的角色与规则的角色相交,否则服务器403sapprover_groups.decided_by会反弹到经过身份验证的电子邮件,因此审计跟踪不会被欺骗。 - 批准后,工具将执行。每个状态转换都会记录在哈希链审计日志中。
随时通过以下方式验证链条 GET /api/audit/verify:
{"chain_intact": true, "broken_at_seq": null, "audit_path": "/var/log/mcp-boss/audit.jsonl"}租户隔离
SessionMemory 由(经过身份验证的主体,session_id)键入。同一Cloud Run实例上的两个用户即使猜测会话ID,也无法读取彼此的调查历史记录。MCP传输会话工具(stdio/SSE)使用不同的 mcp-transport 名称空间;在底层传输的网关(Cloud Run IAM调用程序在 /mcp 和 /sse).
输出编辑(DLP)
集 ENABLE_OUTPUT_REDACTION=1 并且在每个工具结果流回到LLM或API响应之前对其进行扫描。Luhn-checked CC number,SSN-looking string(with IP/date guard),PEM私钥,AWS访问密钥,JWT,and labeled API密钥(GTI,Okta,CrowdStrike,Azure AD,O365, api_key, bearer_token, client_secret, access_token)被替换为 [REDACTED:]审计日志记录了未编辑的内容;只有跨越工具到LLM边界的内容才会被净化。
______________________________________________________________________
运营
日常使用
- Web用户界面 --浏览到Cloud Run URL,使用Google登录。粘贴提醒或提问。
- Gemini CLI —
gemini --tool-endpoint https://YOUR-URL/mcp --headers "Authorization=Bearer $(gcloud auth print-identity-token)". - 克劳德桌面 --添加
/sseURL到claude_desktop_config.json(请参阅连接部分)。
每个请求都会生成一个聊天记录(在web UI中)、一个完整的工具跟踪(在Cloud Logging中)以及任何门控工具调用的审计记录。
基准/回归
export MCP_URL=https://YOUR-SERVICE-URL
export MCP_ID_TOKEN=$(gcloud auth print-identity-token)
./eval_harness/run.sh生产 scorecard.md (标题数字)和 results.json (每个场景的原始工具跟踪)。将其连接到CI,如果出现以下情况,则构建失败 destructive_fp_rate_pct > 0 或者判决准确性下降。
审计日志导出
记录为JSONL格式 $MCP_BOSS_AUDIT_PATH (默认值 /var/log/mcp-boss/audit.jsonl,回落到 ~/.mcp-boss/audit.jsonl)并在日志名称下镜像到Cloud Logging mcp-boss-audit将BigQuery接收器指向Cloud Logging流,以实现长期保留和SIEM摄取。
多租户安装
deploy/multi_tenant/install.sh 跑 terraform apply 在一个命令中使用Artifact Registry、Secret Manager存根、Cloud Run v2和IAM绑定。通过 --oauth-client-id, --allowed-emails, --role-map-json,以及 --enable-redaction 在部署时设置完整的auth配置。
______________________________________________________________________
手动设置指南
如果您更喜欢手动设置而不是使用 setup.sh:
先决条件
- 启用计费的Google Cloud项目
gcloudCLI已安装并经过身份验证- 具有客户ID的Chronicle/SecOps实例
步骤1:启用API
PROJECT_ID=your-project-id
gcloud services enable \
run.googleapis.com \
cloudbuild.googleapis.com \
chronicle.googleapis.com \
securitycenter.googleapis.com \
aiplatform.googleapis.com \
logging.googleapis.com \
bigquery.googleapis.com \
monitoring.googleapis.com \
iam.googleapis.com \
cloudresourcemanager.googleapis.com \
--project=$PROJECT_ID步骤2:创建服务帐户并授予IAM角色
SA_NAME=mcp-boss
SA_EMAIL="${SA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"
# Create the service account
gcloud iam service-accounts create $SA_NAME \
--display-name="MCP Boss Service Account" \
--project=$PROJECT_ID
# Grant required roles
ROLES=(
roles/chronicle.admin
roles/securitycenter.findingsViewer
roles/aiplatform.user
roles/logging.viewer
roles/bigquery.dataViewer
roles/bigquery.jobUser
roles/monitoring.viewer
roles/iam.securityReviewer
)
for ROLE in "${ROLES[@]}"; do
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:${SA_EMAIL}" \
--role="$ROLE" --quiet
doneIAM角色参考
| 角色 | 它能实现什么 | 必填项? |
|---|---|---|
roles/chronicle.admin | UDM搜索、规则、案例、检测、数据表、提要、解析器、警报 | ✅ 是的 |
roles/securitycenter.findingsViewer | SCC漏洞发现、配置错误 | ✅ 是的 |
roles/aiplatform.user | Vertex AI Gemini——威胁分析、调查报告 | ✅ 是的 |
roles/logging.viewer | 云审计日志查询 | ✅ 是的 |
roles/bigquery.dataViewer | BigQuery安全数据湖读取 | ✅ 是的 |
roles/bigquery.jobUser | BigQuery SQL执行 | ✅ 是的 |
roles/monitoring.viewer | 云监控——摄入带宽统计数据 | ✅ 是的 |
roles/iam.securityReviewer | IAM政策和服务帐户审计 | ✅ 是的 |
roles/iam.serviceAccountKeyAdmin | GCP遏制:撤销SA密钥 | ⚙️ 可选 |
roles/storage.admin | 云构建部署访问权限 | ⚙️ 仅部署 |
步骤3:构建和部署
# Build
gcloud builds submit \
--project=$PROJECT_ID \
--tag gcr.io/$PROJECT_ID/mcp-boss:latest
# Deploy
gcloud run deploy mcp-boss \
--image gcr.io/$PROJECT_ID/mcp-boss:latest \
--project=$PROJECT_ID \
--region=us-central1 \
--platform=managed \
--service-account=$SA_EMAIL \
--allow-unauthenticated \
--memory=512Mi \
--timeout=300 \
--set-env-vars="SECOPS_PROJECT_ID=$PROJECT_ID,SECOPS_CUSTOMER_ID=YOUR_CUSTOMER_ID,SECOPS_REGION=us,GTI_API_KEY=YOUR_VT_KEY"步骤4:验证
curl https://YOUR-SERVICE-URL/health
# {"status":"healthy","tools":89,...}步骤5:连接
Web用户界面: 在浏览器中打开您的Cloud Run URL。
Gemini CLI:
gemini --tool-endpoint https://YOUR-SERVICE-URL/mcp克劳德桌面 (claude_desktop_config.json):
{
"mcpServers": {
"mcp-boss": {
"url": "https://YOUR-SERVICE-URL/sse"
}
}
}______________________________________________________________________
环境变量
必需
| 变量 | 描述 |
|---|---|
SECOPS_PROJECT_ID | 您的GCP项目ID |
SECOPS_CUSTOMER_ID | Chronicle/SecOps客户ID(来自Chronicle设置) |
SECOPS_REGION | us, eu,或 asia |
推荐
| 变量 | 描述 |
|---|---|
GTI_API_KEY | VirusTotal/Google Threat Intelligence API密钥 |
认证
| 变量 | 描述 |
|---|---|
OAUTH_CLIENT_ID | Google OAuth 2.0客户端ID。设置后,每个请求都必须提供一个有效的ID令牌,其 aud 比赛。Unset=身份验证已禁用(仅限开发人员)。 |
OAUTH_ADDITIONAL_AUDIENCES | 逗号分隔额外接受的受众。添加服务URL或 32555940559.apps.googleusercontent.com 用于服务器到服务器/CI |
ALLOWED_EMAILS | 逗号分隔的已验证电子邮件列表。如果设置,其他电子邮件将被拒绝。 |
ROLE_MAP_JSON | 内联JSON映射电子邮件或 @domain 到审批人角色列表。 |
ROLE_MAP_PATH | YAML文件 roles: 块。形状与 ROLE_MAP_JSON. |
AUTH_EXEMPT_PATHS | 绕过身份验证的路径前缀(默认 /health,/static). |
LOCAL_DEV_ALL_ROLES | 1 授予每个呼叫者每个审批者角色。需要 MCP_BOSS_ENV=dev;否则服务器拒绝启动。 |
MCP_BOSS_ENV | 操作员声明。设置为 dev 在开发机器上允许 LOCAL_DEV_ALL_ROLES=1. |
运营
| 变量 | 描述 |
|---|---|
ENABLE_OUTPUT_REDACTION | 1 启用DLP传递工具结果,然后再将其传递给LLM。默认情况下为关闭。 |
MCP_BOSS_AUDIT_PATH | JSONL审核日志路径(默认 /var/log/mcp-boss/audit.jsonl,回落到 ~/.mcp-boss/audit.jsonl). |
GOOGLE_CHAT_WEBHOOK_URL | 用于审批卡的Google Chat webhook。 |
APPROVAL_WEBHOOK_URL | 用于审批通知的通用webhook。 |
PUBLIC_BASE_URL | 在审批通知中构建链接时使用的公共URL。 |
GEMINI_MODEL | Gemini编排模型(默认 gemini-2.5-flash). |
可选——第三方遏制
| 变量 | 描述 |
|---|---|
O365_TENANT_ID, O365_CLIENT_ID, O365_CLIENT_SECRET | Microsoft Graph--电子邮件清除 |
OKTA_DOMAIN, OKTA_API_TOKEN | Okta--用户暂停 |
AZURE_AD_TENANT_ID, AZURE_AD_CLIENT_ID, AZURE_AD_CLIENT_SECRET | Azure AD--会话吊销 |
SOAR_AWS_KEY, SOAR_AWS_SECRET | AWS——IAM密钥撤销 |
CROWDSTRIKE_CLIENT_ID, CROWDSTRIKE_CLIENT_SECRET | CrowdStrike--主机隔离 |
任何敏感的环境变量都可以接受 sm://PROJECT/SECRET_NAME 代替明文值。这 secrets_resolver 该模块在启动时透明地从Google Secret Manager获取最新版本。
______________________________________________________________________
全部91个工具
🔍 探索与狩猎(12个工具)
| 工具 | 说明 |
|---|---|
get_scc_findings | 按严重程度获取活动SCC漏洞 |
top_vulnerability_findings | 按严重程度排序的SCC发现 |
get_finding_remediation | SCC发现的补救指南 |
query_cloud_logging | 查询云审计日志 |
search_secops_udm | 编年史UDM搜索(YARA-L或现场查询) |
search_security_events | 按类型和时间范围搜索安全事件 |
list_secops_detections | 所有检测——自定义规则+精心策划的规则+案例 |
get_security_alerts | 最近的安全警报 |
check_ingestion_health | 未解析日志检测/解析器故障 |
lookup_entity | Chronicle中的实体上下文查找 |
get_last_logins | 最近的登录事件 |
get_last_detections | 最近的检测警报 |
🧠 威胁情报(6种工具)
| 工具 | 说明 |
|---|---|
enrich_indicator | 通过GTI/VirusTotal丰富IP/域/哈希/URL |
get_ip_report | 详细的IP报告 |
get_domain_report | 详细的域报告 |
get_file_report | 详细的文件哈希报告 |
search_threat_actors | 威胁参与者档案(APT组) |
search_malware_families | 恶意软件家族档案 |
🛡️ 检测工程(8个工具)
| 工具 | 说明 |
|---|---|
list_rules | 列出所有YARA-L规则 |
create_rule | 创建YARA-L 2.0规则 |
get_rule | 按ID获取规则详细信息 |
toggle_rule | 启用/禁用规则 |
list_rule_errors | 规则编译/执行错误 |
create_detection_rule_for_scc_finding | 根据SCC查找自动生成YARA-L |
extract_iocs_from_detections | 从检测中批量提取IOC |
vertex_ai_investigate | 双子动力威胁分析 |
📋 数据表(3个工具)
| 工具 | 说明 |
|---|---|
list_data_tables | 列出所有数据表 |
get_data_table | 读取表格内容 |
update_data_table | 写入/更新行 |
📂 SOAR案例(17个工具)
| 工具 | 说明 |
|---|---|
list_cases / secops_list_cases | 列出案例 |
get_last_cases | 近期案例总结 |
secops_get_case | 完整病例报告 --实体、MITRE、哈希、进程、检测 |
secops_update_case | 更新优先级、状态、描述 |
get_case_alerts / secops_list_case_alerts | 案件警报 |
secops_get_case_alert | 警报详细信息 |
secops_update_case_alert | 更新警报 |
add_case_comment / secops_create_case_comment | 添加评论 |
secops_list_case_comments | 列出评论 |
get_case_overview | 统计数据和优先级细分 |
update_case_priority | 更改优先级 |
close_case | 以理性结束 |
secops_execute_bulk_close_case | 批量关闭 |
secops_execute_manual_action | 执行SOAR操作 |
🎭 SOAR播放手册(6个工具)
| 工具 | 说明 |
|---|---|
list_playbooks | 列出剧本 |
get_playbook | 剧本详细信息 |
create_playbook | 创建剧本 |
create_containment_playbook | 自动生成遏制行动手册 |
export_playbook_template | 导出为模板 |
clone_playbook | 复制现有剧本 |
🔒 围堵(7个工具)
| 工具 | 说明 |
|---|---|
purge_email_o365 | 从O365邮箱中删除电子邮件 |
suspend_okta_user | 暂停+清除Okta会话 |
revoke_azure_ad_sessions | 撤销Azure AD/Entra ID会话 |
revoke_aws_access_keys | 禁用AWS IAM密钥 |
revoke_aws_sts_sessions | 拒绝STS担任角色会话 |
revoke_gcp_sa_keys | 删除GCP服务帐户密钥 |
isolate_crowdstrike_host | 通过CrowdStrike进行网络隔离 |
📊 记录和监控(6个工具)
| 工具 | 说明 |
|---|---|
list_log_names | 可用日志名称 |
list_log_entries | 使用过滤器记录条目 |
list_log_buckets | 测井桶 |
get_log_bucket | 铲斗详细信息 |
list_log_views | 日志视图 |
query_ingestion_stats | 每日摄取带宽(GB) 来自云监控 |
🔧 SecOps管理员(7个工具)
| 工具 | 说明 |
|---|---|
list_parsers | 分析器/日志类型 |
validate_parser | 根据原始日志测试解析器 |
list_feeds | 摄食饲料 |
get_feed | 订阅源详细信息 |
list_data_access_labels | 数据访问标签 |
list_data_access_scopes | 数据访问范围 |
query_secops_audit_logs | 平台审核日志 |
📊 分析(5个工具)
| 工具 | 说明 |
|---|---|
get_mttx_metrics | MTTR/MTC响应指标 |
bigquery_list_dataset_ids | BigQuery数据集 |
bigquery_list_table_ids | 数据集中的表 |
bigquery_get_dataset_info / bigquery_get_table_info | 元数据 |
bigquery_execute_sql | 执行SQL |
🔑 IAM(3个工具)
| 工具 | 说明 |
|---|---|
get_iam_policy | 完整的项目IAM政策 |
get_service_accounts | 列出带有密钥计数的SA |
check_iam_permissions | 检查特定用户/SA的角色 |
🧠 会话和调查(5个工具)
| 工具 | 说明 |
|---|---|
create_session | 创建调查会话 |
get_session | 检索会话状态 |
set_session_context | 更新会话上下文 |
add_investigation_note | 带时间戳的调查记录 |
autonomous_investigate | 旗舰: 端到端管道——丰富→ hunt → 评估→ 检测→ 回应→ 报告 |
______________________________________________________________________
API终点
| 端点 | 传输 | 客户端 |
|---|---|---|
GET / | HTTP | Web UI(内置聊天) |
GET /health | HTTP | 健康检查(免于身份验证) |
GET /api/tools | HTTP | 工具列表 |
POST /api/chat | HTTP | 多回合编排(Web UI) |
GET /sse | SSE | 克劳德桌面/MCP客户端 |
POST /messages/ | HTTP | SSE消息处理程序 |
POST /mcp | 流式HTTP | Gemini CLI |
GET /api/approvals | HTTP | 列出审批请求(使用筛选 ?state=pending) |
GET /api/approvals/{id} | HTTP | 获取特定批准 |
POST /api/approvals/{id}/decide | HTTP | 批准或拒绝(调用者角色必须与规则的审批者组相交) |
GET /api/audit/verify | HTTP | 验证哈希链审核日志是否完整 |
______________________________________________________________________
作者
大卫·阿登 --谷歌安全行动/谷歌威胁情报
