sulthonzh/mcp-audit

GitHub: sulthonzh/mcp-audit

一款面向 MCP 服务器及 Docker、Kubernetes、Helm 基础设施的安全扫描器,帮助团队在部署前发现权限滥用、密钥泄露和配置风险。

Stars: 0 | Forks: 0

# MCP Audit 🔍 用于 MCP (Model Context Protocol) 服务器的安全扫描器 —— 同时也支持你的容器/K8s/Helm 基础设施。你可以把它看作是针对你的 AI 代理集成和云原生部署的 `npm audit`。 ## 为什么使用 MCP Audit? 大家都在疯狂地安装 MCP 服务器,但没有人检查它们是否即将赋予某个插件访问其文件系统、数据和上下文的完全权限。MCP Audit 让你能够深入了解这些服务器实际能做什么 —— 并在风险对你造成损害之前将其标记出来。 它还可以扫描 Dockerfile、Kubernetes manifest 和 Helm chart,因为你的 AI 工具并不是存在于真空中的。它们运行在容器中、集群上、chart 背后。不妨对整个技术栈进行审计。 ## 扫描内容 | 目标 | 命令 | 检测内容 | |--------|---------|-----------------| | MCP 配置文件 | `mcp-audit scan` | 有风险的权限、过于宽泛的文件访问权限 | | MCP 服务器仓库 | `mcp-audit check ` | 提示词注入、硬编码的密钥、信任评分 | | Dockerfile | `mcp-audit docker ` | Root 用户、暴露的密钥、过时的基础镜像 | | Kubernetes manifest | `mcp-audit k8s ` | 特权容器、hostNetwork、不受限制的资源 | | Helm chart | `mcp-audit helm ` | values.yaml 中硬编码的密钥、不安全的默认配置 | ## 快速开始 ``` npm install -g mcp-audit # 扫描你的 MCP config mcp-audit scan # 审计远程 MCP server mcp-audit check github.com/user/mcp-server # 扫描 Dockerfile mcp-audit docker ./Dockerfile # 扫描 K8s manifests mcp-audit k8s ./manifests # 扫描 Helm chart mcp-audit helm ./my-chart # CI 模式(发现问题时退出并返回 code) mcp-audit check --ci ``` ## 用法 ### 扫描 MCP 配置 检查 `claude_desktop_config.json`、`.cursor/mcp.json` 及其他 MCP 配置文件中是否存在有风险的权限。 ``` mcp-audit scan mcp-audit scan -o report.json # save report ``` ### 检查远程服务器 克隆仓库,运行静态分析,并基于 GitHub 信号生成信任评分。 ``` mcp-audit check https://github.com/username/mcp-server mcp-audit check https://github.com/username/mcp-server --ci # CI-friendly ``` ### Docker 安全 ``` mcp-audit docker ./Dockerfile mcp-audit docker ./docker-dir # scans all Dockerfiles in directory ``` 检测内容:root 用户、`ADD` 与 `COPY` 的对比、硬编码的密钥、`latest` 标签、缺失的 `.dockerignore`。 ### Kubernetes 安全 ``` mcp-audit k8s ./manifests mcp-audit k8s ./manifests --strict # stricter checks ``` 检测内容:特权容器、hostNetwork/hostPID、缺失的资源限制、未设置的 `alwaysPullPolicy`、以 root 身份运行的容器。 ### Helm Chart 安全 ``` mcp-audit helm ./my-chart mcp-audit helm ./my-chart --strict -o report.json ``` 自动检测 Helm chart(查找 `Chart.yaml`)。扫描 `values.yaml` 中的硬编码密钥和特权标志,从 `templates/` 中剥离 Go template 语法并运行 K8s 安全检查,以及验证 `Chart.yaml` 中是否包含已弃用的 API 版本和缺失的元数据。 ### CI 集成 所有扫描器均支持 `--ci`,可输出对 pipeline 友好的内容并返回正确的退出代码。使用 `--strict` 选项可以在出现警告时也判定为失败。 ``` # GitHub Actions 示例 - name: Security Audit run: | npx mcp-audit k8s ./k8s --ci --strict npx mcp-audit docker . --ci npx mcp-audit helm ./charts --ci ``` ## 配置 创建 `mcp-audit.config.json` 以进行自定义: ``` { "vulnerabilityDatabase": "https://raw.githubusercontent.com/your-org/mcp-vuln-db/main/database.json", "trustWeight": { "stars": 0.3, "tests": 0.3, "ci": 0.2, "age": 0.2 } } ``` ## Pre-commit Hook ``` # .pre-commit-config.yaml repos: - repo: local hooks: - id: mcp-audit name: MCP Security Audit entry: mcp-audit check --ci language: system ``` ## 工具对比 | 工具 | 范围 | MCP 配置 | Docker/K8s/Helm | SARIF 输出 | CLI | |------|-------|-----------|-----------------|-------------|-----| | **mcp-audit** | MCP 服务器 + 基础设施 | ✅ | ✅ | ✅ | ✅ | | `npm audit` | 仅限 npm 依赖 | ❌ | ❌ | ❌ | ✅ | | Trivy | 容器 | ❌ | ✅ | ✅ | ✅ | | kube-bench | K8s CIS 基准测试 | ❌ | ✅ (K8s) | ✅ | ✅ | | checkov | IaC 策略 | ❌ | ✅ | ✅ | ✅ | **为什么选择 mcp-audit?** 没有其他工具会扫描 MCP 配置文件以查找有风险的权限。你需要 Trivy + kube-bench + 一个自定义脚本才能涵盖 mcp-audit 仅需一条命令就能完成的工作。 ## 实际示例 ### 1. Pre-commit MCP 安全检查 在提交添加或修改 MCP 服务器的更改之前,运行一次快速审计: ``` # 在你的项目根目录 mcp-audit scan --ci && echo "✅ MCP config is safe" || echo "❌ Fix issues before committing" ``` ### 2. CI Pipeline 门禁 (GitHub Actions) ``` # .github/workflows/mcp-audit.yml name: MCP Security Audit on: [pull_request] jobs: audit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm install -g @sulthonzh/mcp-audit - run: mcp-audit scan --ci -o sarif-report.json - uses: github/codeql-action/upload-sarif@v3 with: sarif_file: sarif-report.json ``` ### 3. 全栈安全扫描 (MCP + Docker + K8s) ``` # 在部署前扫描一切 mcp-audit scan # MCP config files mcp-audit docker ./Dockerfile # Container security mcp-audit k8s ./manifests # K8s manifest security mcp-audit helm ./charts # Helm chart security mcp-audit check github.com/user/mcp-server # Remote repo audit ``` ## 贡献 欢迎提交 PR。如果是有重大更改,请先提一个 issue。 ## 许可证 MIT
标签:MCP, MITM代理, StruQ, 人工智能安全, 合规性, 子域名突变, 暗色界面, 自动化攻击, 请求拦截, 错误基检测, 静态代码分析