项目简介
'agentic_soc_agentspace' 项目旨在Google Cloud上部署智能安全运维代理。该代理利用Model Context Protocol (MCP) 与各种安全工具(如Google Chronicle、SOAR平台、Google威胁情报和安全指挥中心)进行深度集成,为大型语言模型(LLM)提供丰富的安全上下文和操作能力,从而实现自动化威胁检测、响应和态势监控。
主要功能点
- 部署安全智能体: 在Google Vertex AI Agent Engine上部署AI代理,使其具备访问各种安全工具的能力。
- 安全工具集成: 通过MCP协议连接并利用Google Chronicle (SIEM)、SOAR (安全编排、自动化与响应)、Google Threat Intelligence (GTI) 和 Security Command Center (SCC) 的功能。
- 自动化安全操作: 允许LLM调用这些工具,执行威胁分析、事件响应、漏洞管理和合规性监控等任务。
- 会话管理与能力声明: MCP服务器为LLM客户端提供标准化的接口,管理会话状态并声明可用的安全工具。
- Prompt模板支持: 支持定义和渲染Prompt模板,以实现可定制的LLM交互模式。
安装步骤
- 克隆仓库及子模块:
git clone --recurse-submodules https://github.com/dandye/agentic_soc_agentspace.git cd agentic_soc_agentspace - 配置环境:
复制 '.env.example' 为 '.env' 文件,并根据您的Google Cloud项目和安全工具API密钥进行编辑。
cp .env.example .env # 根据注释编辑 .env 文件,填入您的 PROJECT_ID, LOCATION, STAGING_BUCKET, GOOGLE_API_KEY # 以及可选的安全工具配置,例如 CHRONICLE_CUSTOMER_ID, SOAR_URL, VT_APIKEY 等。 # 确保根据您的实际需求配置所有相关变量。 - 安装Python依赖:
pip install -r requirements.txt - 部署Agent Engine:
运行部署命令,这将部署主代理及其集成的MCP安全工具。
部署成功后,请将输出中的 'REASONING_ENGINE' ID更新到 '.env' 文件中,供后续操作使用。make agent-engine-deploy - (可选)注册到AgentSpace:
如果您希望通过Google Cloud AgentSpace管理和测试代理,请在Google Cloud控制台创建AgentSpace应用,获取App ID,并更新到 '.env' 文件中的 'AGENTSPACE_APP_ID'。然后执行注册命令:
make agentspace-register
MCP服务器配置 (内部集成说明)
此项目作为Google Vertex AI上的一个高级智能代理,它通过集成多个基于Model Context Protocol (MCP) 实现的安全工具服务器来扩展其能力。这些MCP服务器(例如Chronicle、SOAR、GTI、SCC的MCP实现)被项目内部启动并作为工具供主代理调用。
下方展示了这些内部MCP服务器的启动配置信息。这些配置由项目的 'main.py' 文件用于启动和管理各个MCP服务器进程,并通过标准输入输出流(Stdio)与它们通信。对于希望开发MCP客户端的用户而言,这些信息可以帮助理解MCP服务器通常需要哪些配置参数才能被客户端(无论是本项目的内部代理还是独立的MCP客户端)正确识别和连接。
请注意,外部的LLM客户端通常不会直接连接到这些内部的Stdio MCP服务器实例,而是通过Google Vertex AI Agent Engine与整个智能体系统进行交互。
-
Chronicle/SecOps SIEM MCP服务器配置示例: 用于连接Google Chronicle SIEM,提供威胁检测和事件查询能力。 'main.py' 内部配置格式如下:
{ "server_name": "secops_siem_mcp_server", "command": "uv", "args": [ "--directory", "./mcp-security/server/secops/secops_mcp", "run", "server.py" ], "env": { "CHRONICLE_PROJECT_ID": "[您的Chronicle项目ID]", "CHRONICLE_CUSTOMER_ID": "[您的Chronicle客户ID]", "CHRONICLE_REGION": "[您的Chronicle区域]", "SECOPS_SA_PATH": "[服务账号JSON文件路径,相对于server.py]" } }- 'command': MCP服务器的启动程序,此处为 'uv' (一个Python依赖管理器和运行器)。
- 'args': 传递给 'command' 的参数,指定MCP服务器代码的目录和启动脚本 ('server.py')。
- 'env': 启动MCP服务器时所需的环境变量,用于认证和配置Chronicle连接。
-
SOAR MCP服务器配置示例: 用于连接SOAR平台,实现自动化安全响应工作流。 'main.py' 内部配置格式如下:
{ "server_name": "secops_soar_mcp_server", "command": "uv", "args": [ "--directory", "./mcp-security/server/secops-soar/secops_soar_mcp", "run", "server.py" ], "env": { "SOAR_URL": "[您的SOAR平台URL]", "SOAR_APP_KEY": "[您的SOAR应用密钥]" } }- 'command', 'args': 同上。
- 'env': 启动MCP服务器时所需的环境变量,用于认证和配置SOAR平台连接。
-
Google Threat Intelligence (GTI) MCP服务器配置示例: 用于访问威胁情报数据,分析IOCs(妥协指标)。 'main.py' 内部配置格式如下:
{ "server_name": "gti_mcp_server", "command": "uv", "args": [ "--directory", "./mcp-security/server/gti/gti_mcp", "run", "server.py" ], "env": { "VT_APIKEY": "[您的VirusTotal API密钥]" } }- 'command', 'args': 同上。
- 'env': 启动MCP服务器时所需的环境变量,用于认证和配置Google Threat Intelligence (如VirusTotal) 连接。
-
Security Command Center (SCC) MCP服务器配置示例: 用于监控Google Cloud资源的安全态势和发现。 'main.py' 内部配置格式如下:
{ "server_name": "scc_mcp_server", "command": "uv", "args": [ "--directory", "./mcp-security/server/scc", "run", "scc_mcp.py" ], "env": {} }- 'command', 'args': 同上。
- 'env': SCC工具可能无需额外的环境变量,或从部署环境中继承。
基本使用方法
- 测试已部署的代理:
确保 '.env' 文件中的 'REASONING_ENGINE' 已正确设置(该值来自 'make agent-engine-deploy' 命令的输出),然后运行测试脚本:
python test_agent_engine.py - 向代理提问 (示例):
在 'test_agent_engine.py' 脚本中,您可以修改 'message' 变量来向部署的代理发送不同的查询:
代理将利用其集成的MCP安全工具来分析您的查询并返回相应的回答。# 示例查询,您可以根据需要进行修改 message="List SOAR Cases" # message="What are the recent security alerts?" # message="Analyze IOCs for domain malicious.com" # message="Show Security Command Center findings" # message="Investigate user account compromise indicators" # message="Find a runbook titled Malware IRP"
信息
分类
AI与计算