SuperAPI AI 工具集

sast-mcp-server

SAST MCP Server 是一个面向 AI 代理的生产级 MCP 服务器,让任何兼容 MCP 的 AI 代理能够扫描代码中的安全漏洞。它支持 11 种行业标准扫描器(如 Bandit、Semgrep、Trivy、Checkov、Gitleaks 等),提供统一的输出格式、AST 感知上下文、严重性与置信度过滤、Git diff 模式、忽略管理、分页、双传输(stdio/HTTP)、JWT 与 API 密钥认证、一键安装等功能。还支持多扫描器并行、SARIF 导出、IaC 扫描、密钥检测、SCA 依赖 CVE 扫描、DAST 基线扫描、基线与趋势跟踪、MCP 提示与资源、仪表板集成以及 AI 辅助修复。

访问官网

工具介绍

SAST MCP Server 是一个面向 AI 代理的生产级 MCP 服务器,它赋予任何 AI 代理扫描代码安全漏洞的能力。该项目支持 11 种行业标准的 SAST/SCA/DAST 扫描器,并可与任何兼容 MCP 的代理配合使用,如 Gemini CLI、Claude Desktop、OpenAI Agents、Cursor、Windsurf 等。

主要能力包括:统一输出格式的 11 种扫描器;AST 感知上下文,显示完整的封闭函数而不仅仅是行号;严重性与置信度过滤;Git diff 模式,仅扫描修改的文件以实现增量审查;忽略管理,通过审计跟踪抑制误报;分页,处理大型代码库而不淹没代理;双传输模式(stdio 本地或 Streamable HTTP 远程部署);JWT 与 API 密钥认证,保护远程部署;一条命令安装(pip install sast-mcp-server);多扫描器模式,并行运行所有已安装扫描器并去重;SARIF 导出,与 GitHub、GitLab、Azure DevOps 集成;IaC 扫描(Terraform、Kubernetes、Docker 安全策略);密钥检测(在代码和 Git 历史中查找硬编码的 API 密钥、令牌和密码);SCA/依赖 CVE 扫描(针对 OSV 数据库扫描锁文件中的已知漏洞);DAST(通过 OWASP ZAP + Docker 对运行中的应用进行动态基线扫描);基线与趋势跟踪(缓存扫描并与保存的基线进行差异对比);MCP 提示与资源(为代理提供预构建的安全工作流和实时仪表板);仪表板集成(将 SARIF 结果推送到 DefectDojo 或 GitHub Code Scanning);AI 辅助修复(生成修复提示并通过 git apply 应用代理编写的补丁)。

使用方式:服务器提供三种安装路径。选项 1 是完整容器(推荐,包含 9 个扫描器,无需设置),捆绑了 bandit、njsscan、bearer、semgrep、trivy、checkov、gitleaks、osv-scanner 和 grype,使 scan_all 立即可用。选项 2 是 pip 额外安装(4 个可通过 pip 安装的扫描器)。选项 3 是最小化/自定义安装,然后安装所需的扫描器(二进制扫描器不是 pip 包)。启动时服务器会记录它能实际看到多少个扫描器(例如 Scanners available: 9/11 (...)),list_scanners 工具和 /ready 端点也会报告相同信息。

与 AI 代理一起使用:可作为扩展安装,或添加到 ~/.gemini/settings.json、claude_desktop_config.json、Cursor 设置中的 MCP 服务器,或 OpenAI Agents SDK。

可用的 MCP 工具包括:scan_vulnerabilities(使用特定扫描器扫描目录)、scan_all(并行运行所有已安装扫描器并自动去重)、scan_git_history(使用 Gitleaks 扫描整个 .git 历史中的泄露密钥和凭据)、run_active_scan(通过编排 Docker Compose 栈使用 OWASP ZAP 运行动态 DAST 基线扫描)、export_sarif(以 SARIF 2.1.0 格式导出扫描结果)、list_scanners(列出可用扫描器、安装状态和支持的语言)、ignore_vulnerability(抑制未来扫描中的发现,带审计跟踪)、unignore_vulnerability(重新启用之前抑制的发现)、list_ignored_vulnerabilities(显示项目中所有当前抑制的发现)、save_baseline(运行扫描并缓存结果为命名基线)、compare_baseline(将新扫描与保存的基线比较)、upload_to_defectdojo(将 SARIF 导出导入 DefectDojo)、upload_to_github(将 SARIF 报告上传到 GitHub Code Scanning)、generate_fix_prompt(将缓存发现的易受攻击代码和上下文打包为 LLM 就绪的提示)、apply_patch(通过 git apply 应用代理生成的统一差异)、evaluate_policy(运行所有扫描器并返回明确的 PASS/FAIL 判定)、export_sbom(运行所有扫描器并导出 SBOM/漏洞报告)、generate_report(运行所有扫描器并生成执行安全报告)、compliance_report(将发现映射到合规框架并报告态势)、scan_image(扫描容器镜像引用)、remediate_and_verify(闭环修复)、ingest_sarif(摄取外部 SARIF 文件)、assess_exploitability(获取可利用性/误报评估提示或记录 CycloneDX VEX 决策)、post_pr_comment(在 GitHub PR 或 GitLab MR 上发布安全摘要)、notify_slack / notify_teams(发送通知到 Slack 或 Microsoft Teams 传入 Webhook)、create_jira_issue(为发现打开 Jira 问题)。

身份验证:在 HTTP 传输上,每个工具都受范围门控——scan:read(扫描、报告、导出)、scan:write(基线、补丁、上传、通知)、config:write(忽略列表)。设置 SAST_MCP_JWT_SECRET 并颁发有范围的 JWT。

SARIF/CI/CD 集成可导出为 SARIF 2.1.0 格式,兼容 GitHub Code Scanning、GitLab SAST、Azure DevOps、VS Code SARIF Viewer。远程部署(Streamable HTTP)支持 JWT Bearer 认证或静态 API 密钥,旧 sse 传输已弃用,需迁移到 streamable-http。

MCP 提示提供预构建的安全工作流:security_review(完整代码库评估)、fix_vulnerability(重点修复顾问)、pr_security_check(仅扫描 git diff 并强制执行严重性门控)、compliance_report(生成 OWASP Top 10 或 PCI-DSS 报告)。MCP 资源提供只读上下文数据:sast://dashboard/{path}(安全态势仪表板)、sast://config(服务器配置和状态)、sast://scanners(可用扫描器和语言)、sast://cache/{path}/latest(最新扫描结果元数据)。

项目在 CI 中衡量生产就绪性:226 个测试,74% 行覆盖率,在 Python 3.10–3.13 上通过,强制 mypy 类型检查。每次构建自扫描,SARIF + 摘要发布为自扫描报告工件。HTTP 传输负载测试:在 30 个并发工作线程下,/health、/ready、/metrics 端点可持续约 210 req/s,p95 ≈ 290 ms,零失败。运维端点包括 /health(存活)、/ready(缓存的扫描器清单,无安装时返回 503)、/metrics(Prometheus 文本)。在负载下有界,具有可配置的并发上限、每客户端令牌桶速率限制、每扫描器超时和可选的增量扫描缓存。环境变量包括 SAST_MCP_JWT_SECRET、SAST_MCP_MAX_CONCURRENT_SCANS、SAST_MCP_RATE_LIMIT_PER_MIN 等。增量扫描支持 use_cache=true,通过指纹识别目标文件并在无变化时重用之前扫描。

限制:CodeQL 和 OWASP ZAP 未捆绑在镜像中——CodeQL 提供多 GB 捆绑包(需在运行时挂载),ZAP 的 run_active_scan 在主机上编排 Docker。该服务器仅与随其安装的扫描器一样有用,需要根据需求选择安装路径。