mcpField
D
DevOps & Cloud Code Auditor

DevOps & Cloud Code Auditor

远程服务
neoninnovationlab.com开发工具06 周前更新

关于 DevOps & Cloud Code Auditor

DevOps & Cloud Code Auditor 是面向开发团队的静态分析 MCP 服务,用于检查 Terraform、PostgreSQL 迁移和 Next.js 代码中的成本、锁风险与安全问题。它分析代码而不执行代码或连接数据库。

主要功能

  1. 01检测 Terraform 云成本问题
  2. 02识别 PostgreSQL 迁移锁风险
  3. 03检查 Next.js API 安全规则
  4. 04审计代码片段、Git 仓库或本地目录
  5. 05返回结构化发现和修复代码

适用场景

  1. 01部署前检查 Terraform 配置
  2. 02上线前审查 PostgreSQL 迁移
  3. 03检查 Next.js API 和 Server Action

MCP 相关

该 MCP 服务向客户端提供仓库、代码片段和本地目录审计工具,返回结构化问题、严重性信息及修复代码。分析采用静态检查,不执行代码或连接数据库。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://neon_innovation_lab--devops-code-auditor.apify.actor/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

DevOps 与云代码审计器(MCP 服务)

Model Context Protocol Glama Quality Score Python 3.12 License: MIT Transport: stdio

一款可用于生产环境的 Model Context Protocol(MCP)服务,为 AI 编码助手(Claude Desktop、Cursor、Windsurf、Cline)提供自动化静态分析工具,防止生产环境中断、云成本泄漏和安全漏洞。


🌟 能力与审计规则集

此服务从三个关键工程维度检查代码库:

  1. 云成本泄漏(Terraform / HCL / AWS):

    • EBS_GP2:识别旧版 gp2 EBS 卷(gp3 可提供相同的持久性,基准成本降低约 20%,且基准 IOPS 更高)。
    • PUBLIC_IP:标记不必要的 associate_public_ip_address = true,此设置会产生 AWS IPv4 按小时计费费用($0.005/小时/IP)。
    • CW_NO_RETENTION:捕获缺少保留策略的 aws_cloudwatch_log_group(防止日志无限写入导致预算外成本)。
    • S3_NO_LIFECYCLE:检测缺少 Glacier 生命周期转换规则的 S3 存储桶。
    • RDS_MULTIAZ_NONPROD & RDS_PROVISIONED_IOPS_NONPROD:标记开发和预发布环境中使数据库基础设施成本翻倍的配置。
  2. PostgreSQL 迁移中的表锁风险:

    • INDEX_NOT_CONCURRENT:检测缺少 CONCURRENTLY 的 CREATE INDEX(这会获取 EXCLUSIVE 锁,并在生产环境中阻止表写入)。
    • NOT_NULL_VOLATILE_DEFAULT:捕获 ADD COLUMN ... NOT NULL DEFAULT <func()>,该语句会在 ACCESS EXCLUSIVE 锁下重写每一行。
    • FK_NO_INDEX:标记未建立索引的外键约束;此类约束会在更新或删除父表时引发级联的表级顺序锁扫描。
    • FOR_UPDATE_UNBOUNDED:捕获缺少 LIMIT 或 SKIP LOCKED 的 SELECT ... FOR UPDATE,以防死锁。
  3. OWASP 与全栈 Next.js API 安全:

    • NEXT_PUBLIC_SECRET_LEAK:标记带有 NEXT_PUBLIC_ 前缀的敏感令牌和私有 API 密钥,这些信息会泄漏到公开的客户端浏览器包中。
    • NEXTJS_SERVER_ACTION_NO_AUTH:标记未显式验证会话身份验证便导出变更操作的 Next.js 14/15 Server Actions。
    • SQLI_RAW_INTERPOLATION:识别使用字符串插值而非参数化输入的原始 SQL 查询模板。
    • SSRF_UNVALIDATED_FETCH:捕获使用用户输入、但未验证协议或主机名的外部 fetch 调用。

🛠️ 提供的 MCP 工具

此服务实现了官方 Model Context Protocol 规范(tools/list 和 tools/call):

1. audit_devops_repository

以浅克隆方式克隆公开 Git 仓库,不执行钩子,进行 AST 和正则表达式静态语法审计,并返回结构化发现结果及格式化的 Markdown 报告。

  • 参数:
    • repository_url(字符串,必需):要审计的公开 Git URL(例如 https://github.com/example/cloud-infra)。
    • sub_directory(字符串,可选):要检查的仓库内特定子目录(例如 terraform/ 或 prisma/migrations/)。
  • 返回:
    • status:"success" | "error"
    • total_findings:检测到的问题数量
    • findings:详细漏洞记录数组(文件、行号、规则 ID、严重性、消息、修复代码)
    • markdown_report:便于阅读的摘要表格
2. audit_devops_code

直接审计 Terraform(HCL)、PostgreSQL 迁移(SQL)或 Next.js API/Server Action 代码的原始代码片段。

  • 参数:
    • code(字符串,必填):要审计的源代码字符串。
    • file_type(字符串,可选,默认值:"auto"):可选值为 "terraform"、"postgres"、"nextjs" 或 "auto"。
  • **返回:**包含精确可直接替换代码修复方案的结构化 JSON 审查结果。
3. audit_local_devops_directory

在提交 Pull Request 或部署到预发布环境之前,审计主机上的本地文件系统目录。

  • 参数:
    • directory_path(字符串,必填):目标文件夹的绝对文件系统路径。
  • **返回:**结构化 JSON 审查结果和严重性分类。

🚀 客户端配置与快速入门

1. Claude Desktop 设置

将服务添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "devops-code-auditor": {
      "command": "python3",
      "args": ["/path/to/devops-code-auditor/server.py"]
    }
  }
}
2. Cursor IDE / Windsurf 设置

在 Cursor 中,依次进入 Settings → Features → MCP → Add New MCP Server:

  • 名称: devops-code-auditor
  • 类型: command
  • 命令: python3 /absolute/path/to/devops-code-auditor/server.py
3. Docker 执行

通过 Docker 运行隔离容器:

{
  "mcpServers": {
    "devops-code-auditor": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/ansarii/devops-code-auditor"
      ]
    }
  }
}

💻 Agent 使用示例

连接后,AI 助手可以按需评估迁移文件和云端清单:

User: "Check this PostgreSQL migration before I run it on production:
CREATE INDEX idx_orders_user_id ON orders (user_id);"

Claude (Tool Call):
audit_devops_code({
  "code": "CREATE INDEX idx_orders_user_id ON orders (user_id);",
  "file_type": "postgres"
})

Result:
{
  "status": "success",
  "total_findings": 1,
  "findings": [
    {
      "suite": "postgres-locks",
      "rule": "INDEX_NOT_CONCURRENT",
      "severity": "high",
      "file": "migration.sql",
      "line": 1,
      "message": "CREATE INDEX on \"orders\" without CONCURRENTLY blocks table writes during build.",
      "fix": "CREATE INDEX CONCURRENTLY idx_orders_user_id ON orders (user_id);"
    }
  ]
}

🔒 安全保证:零执行

此服务使用 AST 模式匹配和正则表达式验证执行 100% 静态分析。它绝不会在你的计算机上执行不受信任的 shell 命令、任意 Python 代码或数据库连接。


📜 许可证

MIT License — 版权所有 (c) 2026 Neon Innovation Lab。 由 Neon Innovation Lab 维护。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。