项目简介
AWS-IReveal-MCP 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为安全团队和事件响应人员提供一个统一的界面,用于访问和分析AWS服务中有助于调查的数据。通过将 AWS-IReveal-MCP 连接到任何 MCP 客户端(如 Claude Desktop 或 Cline),您可以在您的 LLM 驱动的工作空间内,跨多个 AWS 服务发起查询和分析。
主要功能点
AWS-IReveal-MCP 集成了多种 AWS 服务,提供以下核心能力:
- CloudTrail: 查询管理事件日志,了解 API 活动。
- Amazon Athena: 对 CloudTrail 日志进行 SQL 查询,进行更深入的数据分析。
- CloudWatch: 访问和分析操作日志。
- Amazon GuardDuty: 识别和调查潜在的安全威胁和发现。
- AWS Config: 查看资源配置历史和合规状态。
- VPC Flow Logs: 分析网络流量元数据。
- Network Access Analyzer: 检查网络访问的可达性。
- IAM Access Analyzer: 分析基于资源的访问权限。
这些功能共同帮助用户:
- 追踪“谁在何时何地做了什么” (CloudTrail, Config)。
- 检查详细的数据事件 (Athena)。
- 搜索和可视化日志 (CloudWatch, VPC Flow Logs)。
- 发现安全警报 (GuardDuty, IAM Access Analyzer)。
- 验证网络可达性和配置 (Network Access Analyzer)。
安装步骤
- 确保您的系统已安装 Python 3。
- 安装 MCP Python SDK 和 AWS SDK for Python ('boto3'):
pip install "mcp[cli]" boto3 - 配置您的 AWS 凭证,以便 'boto3' 可以访问您的 AWS 账户。可以通过环境变量、共享凭证文件 ('~/.aws/credentials') 或 IAM 角色等方式配置。
- 下载或克隆 AWS-IReveal-MCP 仓库到本地文件系统。
服务器配置
AWS-IReveal-MCP 作为 MCP 服务器运行,需要由 MCP 客户端启动和管理。在您的 MCP 客户端的配置中,您需要添加一个服务器配置条目,指定如何运行此 MCP 服务器。
配置通常是一个 JSON 对象,包含服务器的名称、启动命令、参数以及可选的环境变量(例如指定 AWS 配置文件)。
一个典型的 MCP 客户端配置示例(配置部分,非完整文件)如下:
{ "mcpServers": { "aws-ireveal": { // 服务器名称,您可以在客户端中识别它 "command": "uv", // 或 "python",用于执行脚本的命令 "args": [ // 传递给命令的参数,通常是服务器脚本的路径 "run", // uv 命令的子命令,表示运行一个 Python 脚本 "/path/to/aws-ireveal-mcp/server.py" // 请替换为您实际存储 server.py 文件的完整路径 ], "env": { // 环境变量,这里用于指定 AWS 配置文件 "AWS_PROFILE": "<YOUR_PROFILE>" // 请替换为您的 AWS 配置文件名称 } } } }
请根据您的 MCP 客户端的具体文档和您的实际文件路径、AWS 配置文件名来调整此配置。
基本使用方法
配置并启动 MCP 客户端后,如果客户端成功连接并初始化 AWS-IReveal-MCP 服务器,您就可以通过与 LLM 进行自然语言交互来使用服务器提供的功能。LLM 客户端会利用服务器注册的工具(Tools)来执行您的请求。
例如,您可以尝试提出以下类型的请求(具体表达方式取决于您的 LLM 客户端):
- 分析某个特定 IP 地址在过去几天的活动。
- 调查某个特定 AWS 区域内 CloudTrail 中的可疑活动。
- 查找包含特定名称的 S3 桶中是否有数据事件发生。
- 调查与某个服务相关的 CloudWatch 日志。
- 获取高风险 GuardDuty 发现的详细信息。
- 识别不合规的资源并获取修复建议。
LLM 客户端会根据您的请求,自动调用 AWS-IReveal-MCP 服务器提供的相应工具,服务器执行操作后返回结果,LLM 再根据结果生成响应给您。
信息
分类
开发者工具