badchars/cloud-audit-mcp

GitHub: badchars/cloud-audit-mcp

基于 MCP 协议的 AI 驱动多云安全审计工具,支持 AWS、Azure、GCP 的 60+ 项误配置检测,让 AI Agent 直接调用云 API 进行关联分析和攻击链发现。

Stars: 0 | Forks: 0



     ██████╗██╗      ██████╗ ██╗   ██╗██████╗      █████╗ ██╗   ██╗██████╗ ██╗████████╗

    ██╔════╝██║     ██╔═══██╗██║   ██║██╔══██╗    ██╔══██╗██║   ██║██╔══██╗██║╚══██╔══╝

    ██║     ██║     ██║   ██║██║   ██║██║  ██║    ███████║██║   ██║██║  ██║██║   ██║

    ██║     ██║     ██║   ██║██║   ██║██║  ██║    ██╔══██║██║   ██║██║  ██║██║   ██║

    ╚██████╗███████╗╚██████╔╝╚██████╔╝██████╔╝    ██║  ██║╚██████╔╝██████╔╝██║   ██║

     ╚═════╝╚══════╝ ╚═════╝  ╚═════╝ ╚═════╝     ╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚═╝   ╚═╝

  

面向 AI Agent 的云安全审计工具。

Prowler 给你一份 200 页的 PDF。
而它给你的 AI Agent 提供直接访问云 API 的能力 —— 读取、关联并修复问题。


问题所在有何不同快速开始AI 能做什么工具检查项架构

License Bun MCP 38 Tools 60+ Checks AWS | Azure | GCP

## 问题所在 云安全工具十年来未曾改变。你运行 Prowler,等待 30 分钟,得到一份 200 页的报告,然后**你**必须阅读、理解、确定优先级并修复它。每。次。如。此。 ``` Traditional workflow: prowler aws --compliance cis_3.0 → 200 findings, 40 pages you read the report → 2 hours you figure out what matters → 30 minutes you write the fix commands → 1 hour you run them → 30 minutes ───────────────────────────────────── Total: 4+ hours of your time ``` **cloud-audit-mcp** 消除了人工瓶颈。你的 AI Agent 直接调用云 API,理解发现的问题,将检查串联起来,并在几秒钟内告诉你具体需要修复什么。 ``` With cloud-audit-mcp: You: "Check my AWS account for critical misconfigurations and fix them" Agent: → calls aws_check_s3_public, aws_check_iam_policies, aws_check_ec2_imds... → correlates: "This Lambda has admin role AND secrets in env vars" → prioritizes: "3 critical, 5 high — here's the impact of each" → "Run these 3 commands to fix the critical ones" ``` ## 有何不同 现有的所有工具都是为**人类阅读报告**而设计的。cloud-audit-mcp 是为**AI Agent 采取行动**而设计的。
Prowler / ScoutSuite / CloudSploit cloud-audit-mcp
界面 CLI → 静态报告 (PDF/HTML/JSON) MCP → AI Agent 实时调用工具
智能 运行所有检查,输出结果 Agent 根据上下文选择要运行的检查
关联 无 —— 每个发现都是孤立的 Agent 串联发现:“这个公开的 S3 + 这个 Lambda 角色 = 数据渗透路径”
修复 通用建议 Agent 为你的资源生成精确的 CLI 命令
跟进 重新运行整个扫描 Agent 在修复后重新检查特定资源
多云 每个云使用单独的工具 统一界面 —— 在一次对话中涵盖 AWS + Azure + GCP
范围 专注于合规性 (CIS benchmarks) 专注于攻击性 —— 权限提升路径、凭证泄露、攻击链

与热门工具的具体对比
| 工具 | Stars | 功能 | 无法做到的事 | |---|---|---|---| | [Prowler](https://github.com/prowler-cloud/prowler) | 11k | 针对 AWS/Azure/GCP/K8s 的 500+ CIS/合规性检查 | 静态报告,无 AI 集成,无发现关联 | | [ScoutSuite](https://github.com/nccgroup/ScoutSuite) | 6k | 带 HTML 仪表板的多云审计 | 离线报告,无实时交互,约 100 项检查 | | [CloudSploit](https://github.com/aquasecurity/cloudsploit) | 3k | 跨 6 个云的 150+ 项检查 | 每个检查一个插件,无跨检查智能 | | [Steampipe](https://github.com/turbot/steampipe) | 7k | 针对云 API 的 SQL 查询,1500+ 控制项 | 需要 SQL 知识,无自主分析 | | [Cartography](https://github.com/cartography-cncf/cartography) | 3k | 云资源 + 关系的 Neo4j 图谱 | 需要 Neo4j/Cypher,无预定义安全检查 | | [Trivy](https://github.com/aquasecurity/trivy) | 24k | 容器/IaC/云漏洞扫描器 | 主要是 CVE 扫描,配置错误检查有限 | 这些都是优秀的工具。cloud-audit-mcp 并不取代它们 —— 它填补了它们都未解决的一个空白:**赋予 AI Agent 直接、交互式访问云安全检查的能力**。
## 快速开始 ### 安装 ``` git clone https://github.com/badchars/cloud-audit-mcp.git cd cloud-audit-mcp bun install ``` ### 连接到你的 AI Agent
Claude Code ``` claude mcp add cloud-audit bun run /path/to/cloud-audit-mcp/src/index.ts ```
Claude Desktop 添加到 `~/Library/Application Support/Claude/claude_desktop_config.json`: ``` { "mcpServers": { "cloud-audit": { "command": "bun", "args": ["run", "/path/to/cloud-audit-mcp/src/index.ts"], "env": { "AWS_PROFILE": "your-profile" } } } } ```
Cursor / Windsurf / 其他 MCP 客户端 使用相同的 JSON 配置格式。将命令指向你的安装路径。
### 设置云凭证 MCP 服务器使用你现有的云凭证。无需额外的 API Key。 ``` # AWS — 以下任一项: aws configure # interactive setup export AWS_PROFILE=my-profile # named profile export AWS_ACCESS_KEY_ID=... # explicit keys # Azure export AZURE_SUBSCRIPTION_ID=... # required az login # interactive login (recommended) # 或:AZURE_TENANT_ID + AZURE_CLIENT_ID + AZURE_CLIENT_SECRET # GCP export GCP_PROJECT_ID=my-project # required gcloud auth application-default login # interactive login (recommended) # 或:GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json ``` ### 开始审计 ``` You: "Check my AWS account for critical security issues" ``` 就这样。Agent 会处理剩下的事情。 ## AI 能做什么 ### 针对性安全审计 ``` You: "I'm worried about data exposure in our S3 buckets and Lambda functions" Agent: → aws_check_s3_public Found 2 public buckets: "staging-assets" and "client-uploads" → aws_check_s3_objects "client-uploads" contains 847 .sql files and 12 .pem files → aws_check_lambda_env Lambda "process-uploads" has DATABASE_URL with plaintext credentials → "Critical: Your upload pipeline has public S3 + Lambda with DB creds. An attacker could download SQL dumps AND get your database password. Fix: 1) Block public access 2) Move creds to Secrets Manager" ``` ### 多云态势审查 ``` You: "Audit all three cloud accounts and give me the top 10 issues" Agent: → cloud_run_all {provider: "aws"} (13 checks) → cloud_run_all {provider: "azure"} (13 checks) → cloud_run_all {provider: "gcp"} (8 checks) → cloud_audit_summary → cloud_audit_report → "34 total findings across 3 clouds. Top 3 critical: 1. AWS: IAM policy allows privilege escalation via CreatePolicyVersion 2. Azure: SQL Server firewall allows 0.0.0.0/0 3. GCP: 4 instances have cloud-platform scope (full API access)" ``` ### 权限提升检测 ``` You: "Can anyone escalate privileges in our AWS account?" Agent: → aws_check_iam_policies Found PassRole + CreateFunction combo on role "dev-deploy-role" Found CreatePolicyVersion on user "ci-bot" → aws_check_lambda_permissions "ci-bot" has UpdateFunctionCode on all Lambda functions → "Two escalation paths: 1. dev-deploy-role can create a Lambda with any role → admin 2. ci-bot can inject code into any Lambda AND create policy versions Both should be restricted immediately." ``` ### 云渗透测试前侦察 ``` You: "We have a pentest next week. What would an attacker find?" Agent: → aws_check_ec2_imds → 12 instances with IMDSv1 (SSRF → creds) → aws_check_ec2_snapshots → 3 unencrypted public snapshots → aws_check_api_gateway → 7 endpoints with no auth → aws_check_secrets_manager → 1 secret with Principal: "*" → "Attacker's likely path: public API Gateway → SSRF on EC2 → IMDSv1 credential theft → access SecretsManager secret → pivot to production database. Priority fixes: IMDSv2 + API auth" ``` ### Azure 容器安全 ``` You: "Check our Azure container infrastructure" Agent: → azure_check_acr → Admin user enabled on 2 registries → azure_check_functions → 3 Function Apps with anonymous auth → azure_check_keyvault → Key Vault allows all networks → azure_check_webapp → SCM basic auth enabled, 5 connection strings with passwords → "Your container supply chain is exposed: ACR admin creds can push malicious images, Functions run without auth, and Key Vault is network-open." ``` ### GCP Kubernetes 审计 ``` You: "How secure are our GKE clusters?" Agent: → gcp_check_kubernetes → Legacy ABAC enabled, no Workload Identity → gcp_check_metadata → 8 nodes with cloud-platform scope → gcp_check_iam_keys → 3 SA keys older than 365 days → gcp_check_iam_delegation → Token Creator role on 2 SAs → "Your GKE setup has multiple escalation paths: Pods use node SA with full cloud-platform scope → can access all GCP APIs. Workload Identity not configured → any pod can steal node credentials. Recommendation: Enable Workload Identity + restrict scopes." ``` ## 工具参考(38 个工具) ### AWS(13 个工具) | 工具 | 服务 | 检查项 | 严重性 | |------|---------|--------|----------| | `aws_check_s3_public` | S3 | 阻止公开访问、存储桶策略、ACL | CRITICAL | | `aws_check_s3_objects` | S3 | 敏感文件(.pem、.sql、.env、备份) | CRITICAL | | `aws_check_iam_policies` | IAM | 权限提升路径、危险组合 | CRITICAL | | `aws_check_ec2_imds` | EC2 | 启用了 IMDSv1(可通过 SSRF 窃取凭证) | CRITICAL | | `aws_check_ec2_snapshots` | EC2 | 未加密 / 公开共享的 EBS 快照 | CRITICAL | | `aws_check_ec2_security_groups` | EC2 | 危险端口上的 0.0.0.0/0 入站流量 | HIGH | | `aws_check_lambda_env` | Lambda | 环境变量中的 Secrets | CRITICAL | | `aws_check_lambda_permissions` | Lambda | UpdateFunctionCode、事件源风险 | HIGH | | `aws_check_ecr_images` | ECR | 镜像扫描发现、扫描配置 | HIGH | | `aws_check_secrets_manager` | Secrets Manager | 过于宽松的资源策略 | HIGH | | `aws_check_dynamodb` | DynamoDB | 加密设置、流暴露 | HIGH | | `aws_check_api_gateway` | API Gateway | 无身份验证的端点 | HIGH | | `aws_check_sagemaker` | SageMaker | 互联网访问、root 访问、加密 | HIGH | ### Azure(13 个工具) | 工具 | 服务 | 检查项 | 严重性 | |------|---------|--------|----------| | `azure_check_storage_public` | Storage | 公开 Blob 访问、容器访问级别 | CRITICAL | | `azure_check_storage_sas` | Storage | 长期有效的 SAS Token、共享密钥访问 | HIGH | | `azure_check_automation` | Automation | Runbook 中的硬编码凭证、DSC 明文、未加密变量 | CRITICAL | | `azure_check_vm_network` | VM / NSG | 暴露在互联网上的管理端口 (SSH/RDP/WinRM) | CRITICAL | | `azure_check_vm_encryption` | VM | 未加密的 OS 和数据磁盘 | HIGH | | `azure_check_vm_identity` | VM | 权限过大的托管身份、IMDS 暴露 | CRITICAL | | `azure_check_ad_consent` | Entra ID | OAuth 同意设置、描述中的 Secrets | HIGH | | `azure_check_logic_apps` | Logic Apps | 通过托管身份 + HTTP 触发器的 SSRF | CRITICAL | | `azure_check_functions` | Functions | 匿名身份验证、Key Vault 引用注入 | CRITICAL | | `azure_check_keyvault` | Key Vault | 宽松的访问策略、网络暴露 | MEDIUM | | `azure_check_acr` | Container Registry | 启用了管理员用户、镜像 Secrets | HIGH | | `azure_check_sql` | SQL Database | SQL 身份验证模式、防火墙 0.0.0.0 规则 | CRITICAL | | `azure_check_webapp` | App Service | SCM 基本身份验证、连接字符串凭证、部署包 | HIGH | ### GCP(8 个工具) | 工具 | 服务 | 检查项 | 严重性 | |------|---------|--------|----------| | `gcp_check_gcs_public` | Cloud Storage | allUsers / allAuthenticatedUsers IAM 绑定 | CRITICAL | | `gcp_check_gcs_objects` | Cloud Storage | SA 密钥文件、存储桶中的敏感数据 | CRITICAL | | `gcp_check_metadata` | Compute Engine | 启动脚本 Secrets、cloud-platform 范围、旧版元数据 | CRITICAL | | `gcp_check_iam_keys` | IAM | SA 密钥年龄、用户管理的密钥审计 | HIGH | | `gcp_check_iam_delegation` | IAM | SA 模拟链、Token Creator 滥用 | CRITICAL | | `gcp_check_iam_compute` | IAM | setMetadata 权限(SSH 密钥注入) | HIGH | | `gcp_check_kubernetes` | GKE | 旧版 ABAC、Workload Identity、特权 Pod、网络策略 | CRITICAL | | `gcp_check_gcr` | Container Registry | 公开访问、可疑镜像 | HIGH | ### Meta(4 个工具) | 工具 | 描述 | |------|-------------| | `cloud_list_checks` | 列出所有可用的检查,可按提供商/严重性/优先级过滤 | | `cloud_run_all` | 在一次调用中运行某个提供商的所有检查 | | `cloud_audit_summary` | 按状态、提供商、严重性聚合发现 | | `cloud_audit_report` | 从会话发现中生成 markdown 或 JSON 报告 | ## 检查项注册表(60+ 项检查) 每项检查在适用时都映射到行业标准。
AWS — 19 项检查 | ID | 检查项 | 严重性 | 优先级 | 参考 | |----|-------|----------|----------|------------| | S3-001 | 公开存储桶访问(ACL + 策略 + 阻止公开访问) | CRITICAL | P0 | CIS 2.1.4, NIST AC-3 | | S3-002 | S3 中的敏感对象(SSH 密钥、SQL 转储) | CRITICAL | P0 | OWASP Cloud-2 | | S3-003 | 存储桶名称泄露账户 ID | LOW | P2 | | | IAM-001 | 策略版本权限提升 | CRITICAL | P0 | MITRE T1098 | | IAM-002 | 危险权限组合(PassRole+CreateFunction) | CRITICAL | P0 | Rhino Security | | IAM-003 | 具有 Admin 访问权限的 Lambda 执行角色 | HIGH | P1 | CIS 1.16 | | EC2-001 | 启用了 IMDSv1(SSRF → 凭证窃取) | CRITICAL | P0 | 5.6, MITRE T1552.005 | | EC2-002 | 未加密 / 公开共享的 EBS 快照 | CRITICAL | P0 | CIS 2.2.1 | | EC2-003 | 具有 0.0.0.0/0 入站流量的安全组 | HIGH | P1 | CIS 5.1-5.3 | | LAMBDA-001 | Lambda 环境变量中的 Secrets | CRITICAL | P0 | MITRE T1552.001 | | LAMBDA-002 | UpdateFunctionCode 权限 | CRITICAL | P0 | Rhino Security | | LAMBDA-003 | 作为调用绕过的事件源映射 | HIGH | P1 | Rhino Security | | ECR-001 | 镜像扫描发现 | CRITICAL | P0 | OWASP Cloud-3 | | ECR-002 | 镜像扫描配置 | MEDIUM | P2 | OWASP Cloud-3 | | SM-001 | 过于宽松的 Secret 访问策略 | HIGH | P1 | CIS 2.4 | | DYNAMO-001 | DynamoDB 加密设置 | HIGH | P1 | NIST SC-28 | | DYNAMO-002 | DynamoDB 流数据流 | HIGH | P1 | | | APIGW-001 | 无身份验证的 API 端点 | HIGH | P1 | OWASP Cloud-8 | | SAGE-001 | SageMaker 笔记本访问 + root | HIGH | P1 | |
Azure — 24 项检查 | ID | 检查项 | 严重性 | 优先级 | 参考 | |----|-------|----------|----------|------------| | STOR-001 | 启用了公开 Blob 访问 | CRITICAL | P0 | CIS 3.2, ASB NS-2 | | STOR-002 | 容器公开访问级别 | CRITICAL | P0 | CIS 3.2 | | STOR-003 | 长期有效的 SAS Token | HIGH | P1 | CIS 3.7 | | AUTO-001 | Runbook 中的硬编码凭证 | HIGH | P1 | | | AUTO-002 | DSC 配置明文密码 | CRITICAL | P0 | | | AUTO-003 | 未加密的自动化变量 | HIGH | P1 | | | VM-001 | 暴露的管理端口 (SSH/RDP/WinRM) | CRITICAL | P0 | CIS 6.1-6.2 | | VM-002 | 未加密的 VM 磁盘 | HIGH | P1 | CIS 7.2 | | VM-004 | 权限过大的托管身份 | CRITICAL | P0 | ASB PA-1 | | VM-005 | IMDS Token 窃取暴露 | HIGH | P1 | MITRE T1552.005 | | AAD-001 | AD 对象描述中的 Secrets | HIGH | P1 | | | AAD-002 | 用户同意设置(OAuth 钓鱼) | HIGH | P1 | ASB IM-1 | | LOGIC-001 | 通过托管身份的 SSRF | CRITICAL | P0 | | | FUNC-001 | Functions 上的匿名身份验证 | CRITICAL | P0 | CIS 9.1 | | FUNC-002 | Key Vault 引用注入 | MEDIUM | P2 | | | KV-001 | 过于宽松的 Key Vault 访问 | MEDIUM | P2 | CIS 8.3 | | KV-002 | Key Vault 网络无限制 | MEDIUM | P2 | CIS 8.4 | | ACR-001 | 启用了管理员用户 | HIGH | P1 | CIS | | ACR-002 | 容器镜像中的 Secrets | HIGH | P1 | | | SQL-001 | 启用了 SQL 身份验证 | HIGH | P1 | CIS 4.4 | | SQL-002 | 过于宽松的防火墙规则 | CRITICAL | P1 | CIS 6.3 | | WEBAPP-001 | 启用了 SCM 基本身份验证 | MEDIUM | P2 | CIS 9.1 | | WEBAPP-002 | 带有凭证的连接字符串 | HIGH | P1 | | | WEBAPP-003 | 可访问存储中的部署包 | MEDIUM | P2 | |
GCP — 17 项检查 | ID | 检查项 | 严重性 | 优先级 | 参考 | |----|-------|----------|----------|------------| | GCS-001 | 公开存储桶访问(allUsers/allAuthenticatedUsers) | CRITICAL | P0 | CIS 5.1 | | GCS-002 | 存储桶中的 SA 密钥 | CRITICAL | P0 | OWASP Cloud-2 | | GCS-003 | 存储桶中的敏感文件 | HIGH | P1 | | | META-001 | 启动脚本 Secrets | CRITICAL | P0 | MITRE T1552.001 | | META-002 | 具有 cloud-platform 范围的实例 | CRITICAL | P0 | CIS 4.2 | | META-003 | 未启用元数据隐藏 | HIGH | P1 | CIS 4.9 | | IAM-001g | 服务账号密钥审计 | HIGH | P1 | CIS 1.3-1.4 | | IAM-002g | 委托链检测 | CRITICAL | P0 | Rhino Security | | IAM-003g | Token Creator 角色滥用 | HIGH | P1 | Rhino Security | | IAM-004g | setMetadata 权限(SSH 密钥注入) | CRITICAL | P0 | Rhino Security | | K8S-001 | 具有 cluster-admin 的默认 SA | CRITICAL | P0 | CIS K8s 5.1 | | K8S-002 | 允许特权容器 | CRITICAL | P0 | CIS K8s 5.2 | | K8S-003 | 节点池上的安全启动 | HIGH | P1 | CIS K8s 4.2 | | K8S-004 | SA Token 自动挂载 | MEDIUM | P2 | CIS K8s 5.1.6 | | GCR-001 | GCR 中意外/隐藏的镜像 | HIGH | P1 | |
## 架构 ``` cloud-audit-mcp/ ├── src/ │ ├── index.ts Entry point + ToolContext builder │ ├── types/ │ │ └── index.ts CheckResult, Severity, ToolDef, ToolContext │ ├── protocol/ │ │ ├── mcp-server.ts MCP server (stdio transport) │ │ └── tools.ts 38 tool definitions (Zod schemas) │ ├── aws/ 13 tools, 10 files │ │ ├── client.ts Lazy SDK factory (cached per region) │ │ ├── s3.ts S3-001, S3-002, S3-003 │ │ ├── iam.ts IAM-001, IAM-002, IAM-003 │ │ ├── ec2.ts EC2-001, EC2-002, EC2-003 │ │ ├── lambda.ts LAMBDA-001, LAMBDA-002, LAMBDA-003 │ │ ├── ecr.ts ECR-001, ECR-002 │ │ ├── secrets.ts SM-001 │ │ ├── dynamodb.ts DYNAMO-001, DYNAMO-002 │ │ ├── apigw.ts APIGW-001 │ │ └── sagemaker.ts SAGE-001 │ ├── azure/ 13 tools, 11 files │ │ ├── client.ts DefaultAzureCredential factory │ │ ├── storage.ts STOR-001, STOR-002, STOR-003 │ │ ├── automation.ts AUTO-001, AUTO-002, AUTO-003 │ │ ├── vm.ts VM-001, VM-002, VM-004, VM-005 │ │ ├── ad.ts AAD-001, AAD-002 │ │ ├── logic.ts LOGIC-001 │ │ ├── functions.ts FUNC-001, FUNC-002 │ │ ├── keyvault.ts KV-001, KV-002 │ │ ├── acr.ts ACR-001, ACR-002 │ │ ├── sql.ts SQL-001, SQL-002 │ │ └── webapp.ts WEBAPP-001, WEBAPP-002, WEBAPP-003 │ ├── gcp/ 8 tools, 6 files │ │ ├── client.ts ADC factory │ │ ├── storage.ts GCS-001, GCS-002, GCS-003 │ │ ├── metadata.ts META-001, META-002, META-003 │ │ ├── iam.ts IAM-001g, IAM-002g, IAM-003g, IAM-004g │ │ ├── kubernetes.ts K8S-001, K8S-002, K8S-003, K8S-004 │ │ └── gcr.ts GCR-001 │ └── meta/ 4 tools │ ├── list-checks.ts Check registry (60+ entries) │ ├── summary.ts Finding aggregation │ ├── report.ts Markdown/JSON report generation │ └── run-all.ts Run all provider checks └── knowledge/ Security check knowledge base (8 files) ``` ### 设计决策 | 决策 | 选择 | 原因 | |----------|--------|-----| | **每个服务一个工具** | 38 个工具,而非 60+ | LLM 能选择正确的工具而不会眼花缭乱 | | **统一的 CheckResult** | 跨所有云的相同格式 | Agent 可以跨提供商进行比较和关联 | | **会话发现存储** | ToolContext 上的内存数组 | 在一次对话中积累发现 → 总结 → 报告 | | **延迟客户端初始化** | SDK 客户端在首次使用时创建 | 未使用的提供商无冷启动惩罚 | | **攻击性侧重** | 权限提升、凭证泄露、攻击链 | CIS 合规工具已存在 —— 此工具发现攻击者发现的内容 | | **默认凭证** | AWS profiles, Azure CLI, gcloud ADC | 零额外配置 —— 使用已设置好的环境 | | **错误 → CheckResult** | SDK 错误变为 ERROR 状态,永不崩溃 | Agent 能看到所有结果,自行决定重要内容 | ### 工作原理 ``` ┌──────────────────────────────────────────────────────────────┐ │ AI Agent │ │ │ │ "Check S3 for public access" │ │ │ │ │ ▼ │ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ MCP Client │───▶│ MCP Server │───▶│ Tool Router │ │ │ │ (stdio) │ │ (38 tools) │ │ (Zod valid) │ │ │ └─────────────┘ └──────────────┘ └──────┬───────┘ │ │ │ │ │ ┌───────────────────┬───────────────────┤ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ AWS Module │ │ Azure Module│ │ GCP Module │ │ │ │ (SDK v3) │ │ (ARM SDK) │ │ (Cloud SDK) │ │ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ CheckResult[] (uniform format) │ │ │ │ { checkId, severity, status, resource, remediation }│ │ │ └──────────────────────┬──────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Findings Store (session-scoped) │ │ │ │ → cloud_audit_summary → cloud_audit_report │ │ │ └─────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────┘ ``` ## 相关项目 | 项目 | 描述 | |---------|-------------| | [hackbrowser-mcp](https://github.com/badchars/hackbrowser-mcp) | 基于浏览器的安全测试 MCP(39 个工具,Firefox,注入测试) | | [recon0](https://github.com/badchars/recon0) | Bug Bounty 侦察流水线 | ## 限制 - 只读 —— 不修改云资源(设计如此) - 需要现有的云凭证(AWS profiles, Azure CLI, gcloud ADC) - Azure AD 检查(AAD-001, AAD-002)需要 Microsoft Graph API(已存根) - GCP IAM 检查使用 REST API 调用(并非所有功能都通过 SDK 暴露) - 会话发现仅存在于内存中(重启后丢失)

仅用于授权的安全测试和云态势评估。
在审计云账户之前,请务必确保你已获得适当的授权。

MIT License • Built with Bun + TypeScript • Part of Agentic AI for Offensive Cybersecurity

标签:AI安全, AWS, Azure, Chat Copilot, CSPM, DevSecOps, DPI, GCP, MCP, Model Context Protocol, TinkerPop, 上游代理, 云基础设施, 人工智能代理, 图计算, 模块化设计, 自动化修复, 自动化攻击, 配置错误检测