返回市场
对比分析服务器

对比分析服务器

作者:Contrast-Security-OSS11 星标更新:2025-11-21

项目介绍

Contrast MCP Server

Java CI with Maven License

Contrast MCP Server 允许您将 Contrast Security 连接到您的 AI 编码代理,通过自然语言提示自动修复漏洞、更新不安全的库并分析安全覆盖范围。

  • 直接从 Contrast Assess 数据中修复漏洞
  • 使用 Contrast SCA 洞察识别并更新不安全的第三方库
  • 按需审查路由覆盖范围、Protect/ADR 发现和其他安全元数据

[!WARNING] 重要安全警告: 将 Contrast 漏洞数据暴露给训练于您的提示的 AI 服务可能会泄露敏感信息。仅在合同上保证数据隔离且禁止基于您的输入进行模型训练的环境中使用 mcp-contrast。

验证 AI 数据隐私: 确认您的服务协议防止对您的提示进行模型训练,并在共享 Contrast 数据之前咨询您的安全团队。

不安全: 公共消费者 LLM 站点(例如免费的 ChatGPT、Gemini、Claude)使用提示进行训练。

潜在安全: 合同上保证隐私的企业服务(例如 Google Cloud AI、AWS Bedrock、Azure OpenAI)。

快速开始

预备条件

VS Code (GitHub Copilot) - 一键安装

在 VS Code 中安装

点击上方按钮以自动在 VS Code 中安装。如需手动设置,请参阅 VS Code (GitHub Copilot) 安装指南

IntelliJ IDEA (GitHub Copilot)

在您的 mcp.json 配置文件中添加以下内容,并用您的 Contrast 凭证替换占位符值:

{
  "servers": {
    "contrast": {
      "command": "docker",
      "args": [
        "run",
        "-e",
        "CONTRAST_HOST_NAME",
        "-e",
        "CONTRAST_API_KEY",
        "-e",
        "CONTRAST_SERVICE_KEY",
        "-e",
        "CONTRAST_USERNAME",
        "-e",
        "CONTRAST_ORG_ID",
        "-i",
        "--rm",
        "contrast/mcp-contrast:latest",
        "-t",
        "stdio"
      ],
      "env": {
        "CONTRAST_HOST_NAME": "example.contrastsecurity.com",
        "CONTRAST_API_KEY": "example",
        "CONTRAST_SERVICE_KEY": "example",
        "CONTRAST_USERNAME": "example@example.com",
        "CONTRAST_ORG_ID": "example"
      }
    }
  }
}

📖 完整的 IntelliJ (GitHub Copilot) 安装指南 - 包括逐步设置和 JAR 部署选项

其他 AI 助手

示例提示

对于开发者

在代码中修复漏洞

  • 请列出应用程序 Y 的漏洞。
  • 给我关于应用程序 Y 中的漏洞 X 的详细信息。
  • 审查漏洞 X 并修复它。

第三方库修复

  • 应用程序 X 中哪些具有高或关键漏洞并且正在使用的库?
  • 更新具有关键漏洞的库 X 到安全版本。
  • 应用程序 X 中哪些库未被使用?

根据标签检索应用程序

  • 请给我标记为“后端”的应用程序。

根据元数据检索应用程序

  • 请给我带有元数据“dev-team”和“backend-team”的应用程序。

根据会话元数据检索漏洞

  • 给我应用程序 X 的会话元数据。
  • 给我应用程序 X 最新会话中的漏洞。
  • 给我应用程序 X 会话元数据“分支名称”“feature/some-new-fix”中的漏洞。
  • 给我应用程序 X 最新会话的路由覆盖范围。
  • 给我应用程序 X 会话元数据“分支名称”“feature/some-new-fix”中的路由覆盖范围。

对于安全专业人员

  • 请给我一个关于易受 CVE-xxxx-xxxx 攻击的应用程序和服务器的分解。
  • 请列出名为 xxx 的应用程序的库,并告诉我正在使用哪个版本的 commons-collections。
  • 应用程序 X 中哪些漏洞被 Protect 或 ADR 规则阻止了?

获取 JAR 文件

如果您使用的是 JAR 部署(而不是 Docker),您需要 JAR 文件:

下载(推荐)

GitHub Releases 下载最新预构建的 JAR。

JAR 文件将命名为 mcp-contrast-X.X.X.jar

从源代码构建

或者,如果您需要最新的开发版本,可以从源代码构建。需要 Java 17+:

mvn clean install

构建的 JAR 将位于 target/mcp-contrast-X.X.X-SNAPSHOT.jar

代理配置

如果您处于公司防火墙或代理后面,您需要配置代理设置以便 MCP 服务器能够访问您的 Contrast 实例。配置方式取决于您是使用 Docker 还是 JAR 部署。

Java 进程(JAR 部署)

根据您运行 JAR 的方式选择以下之一:

直接 Java 命令

如果您是从命令行或脚本直接运行 JAR,请在 java 命令中添加这两个系统属性:

-Dhttp_proxy_host=proxy.example.com
-Dhttp_proxy_port=8080

完整示例:

java \
  -Dhttp_proxy_host=proxy.example.com \
  -Dhttp_proxy_port=8080 \
  -jar /path/to/mcp-contrast-X.X.X.jar \
  --CONTRAST_HOST_NAME=example.contrastsecurity.com \
  --CONTRAST_API_KEY=example \
  --CONTRAST_SERVICE_KEY=example \
  --CONTRAST_USERNAME=example@example.com \
  --CONTRAST_ORG_ID=example

MCP 配置文件

如果您是通过 MCP 主机(IntelliJ、Claude Desktop、Cline 等)运行 JAR,请在 args 数组的开头添加这两行:

"-Dhttp_proxy_host=proxy.example.com",
"-Dhttp_proxy_port=8080",

使用 IntelliJ 的 mcp.json 的完整示例:

{
  "servers": {
    "contrast": {
      "command": "java",
      "args": [
        "-Dhttp_proxy_host=proxy.example.com",
        "-Dhttp_proxy_port=8080",
        "-jar",
        "/path/to/mcp-contrast-X.X.X.jar",
        "--CONTRAST_HOST_NAME=example.contrastsecurity.com",
        "--CONTRAST_API_KEY=example",
        "--CONTRAST_SERVICE_KEY=example",
        "--CONTRAST_USERNAME=example@example.com",
        "--CONTRAST_ORG_ID=example"
      ]
    }
  }
}

Docker(Docker 部署)

根据您运行 Docker 的方式选择以下之一:

直接 Docker 运行命令

如果您是从命令行直接运行 Docker,请在 docker run 命令中添加这两个环境变量:

-e http_proxy_host="proxy.example.com" \
-e http_proxy_port="8080" \

完整示例:

docker run \
  -e http_proxy_host="proxy.example.com" \
  -e http_proxy_port="8080" \
  -e CONTRAST_HOST_NAME=example.contrastsecurity.com \
  -e CONTRAST_API_KEY=example \
  -e CONTRAST_SERVICE_KEY=example \
  -e CONTRAST_USERNAME=example \
  -e CONTRAST_ORG_ID=example \
  -i --rm \
  contrast/mcp-contrast:latest \
  -t stdio

MCP 配置文件

如果您是通过 MCP 主机(IntelliJ、VS Code、Claude Desktop、Cline 等)运行 Docker,请添加这些代理设置:

添加到 args 数组(在 Contrast 凭证之后):

"-e", "http_proxy_host",
"-e", "http_proxy_port",

添加到 env 对象:

"http_proxy_host": "proxy.example.com",
"http_proxy_port": "8080"

使用 IntelliJ 的 mcp.json 的完整示例:

{
  "servers": {
    "contrast": {
      "command": "docker",
      "args": [
        "run",
        "-e", "CONTRAST_HOST_NAME",
        "-e", "CONTRAST_API_KEY",
        "-e", "CONTRAST_SERVICE_KEY",
        "-e", "CONTRAST_USERNAME",
        "-e", "CONTRAST_ORG_ID",
        "-e", "http_proxy_host",
        "-e", "http_proxy_port",
        "-i", "--rm",
        "contrast/mcp-contrast:latest",
        "-t", "stdio"
      ],
      "env": {
        "CONTRAST_HOST_NAME": "example.contrastsecurity.com",
        "CONTRAST_API_KEY": "example",
        "CONTRAST_SERVICE_KEY": "example",
        "CONTRAST_USERNAME": "example@example.com",
        "CONTRAST_ORG_ID": "example",
        "http_proxy_host": "proxy.example.com",
        "http_proxy_port": "8080"
      }
    }
  }
}

对于带有输入变量的 VS Code,请参阅 VS Code 安装指南

常见问题

如果您遇到 MCP 服务器的问题,这里有一些常见的故障排除步骤:

查看日志

默认情况下,日志将在本地的 /tmp/mcp-contrast.log 或 Docker 容器内创建。您可以查看此日志以检查 MCP 服务器是否有任何错误或问题。

启用调试日志

要启用调试日志,可以在运行 MCP 服务器时将以下标志添加到命令行参数中: --logging.level.root=DEBUG 这可以添加到 Docker 命令的这部分:

        "--rm",
        "contrast/mcp-contrast:latest",
        "-t",
        "--logging.level.root=DEBUG",
        "stdio"
        ],

证书问题

如果 Teamserver URL 的 SSL 证书不受信任,您可能会看到以下错误:

Failed to list applications: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

如果发生这种情况,您需要将证书添加到 Java Truststore,并在运行 MCP 服务器时将以下内容添加到命令行参数中: -Djavax.net.ssl.trustStore=/location/to/mcp-truststore.jks, -Djavax.net.ssl.trustStorePassword=yourpassword 有关如何执行此操作的更多详细信息,请参阅 Java 文档。或者请您的 LLM 帮助您完成此操作。

数据隐私

Contrast MCP Server 提供了一个桥梁,连接您的 Contrast 数据与您选择的 AI 代理/LLM。 通过使用 Contrast 的 MCP 服务器,您将向您的 AI 代理/LLM 提供 Contrast 数据,确保您所使用的 AI 代理/LLM 符合您的数据隐私政策是您的责任。 根据您提出的问题,以下信息将提供给您的 AI 代理/LLM。

  • 应用程序详情
  • 应用程序规则配置
  • 漏洞详情
  • 路由覆盖数据
  • ADR/Protect 攻击事件详情