项目简介

Trivy MCP 服务器插件是一个实验性的项目,它允许您将流行的开源安全扫描工具 Trivy 作为基于 Model Context Protocol (MCP) 的后端服务器运行。通过此服务器,兼容的 LLM 客户端(如某些IDE的AI聊天功能)可以与 Trivy 进行交互,请求执行安全扫描并获取结果,从而将安全分析能力集成到您的开发工作流程中。

主要功能点

  • 安全扫描能力: 能够对文件系统、容器镜像和远程 Git 仓库进行漏洞、错误配置、许可证和秘密信息扫描。
  • 工具注册: 将 Trivy 的不同扫描功能注册为 MCP 工具,供 LLM 客户端调用。
  • 多传输支持: 支持通过 Stdio (标准输入输出) 或 SSE (Server-Sent Events) 协议与客户端通信。
  • Trivy 版本查询: 提供获取当前使用的 Trivy 版本信息的功能。

安装步骤

该服务器作为一个 Trivy 插件进行安装。如果您已经安装了 Trivy,可以直接使用 Trivy 的插件管理命令进行安装:

  1. 打开终端。
  2. 运行命令 'trivy plugin install mcp'。
  3. 这将下载并安装最新的 Trivy MCP 服务器插件。

服务器配置

MCP 服务器通常由 MCP 客户端(如支持 MCP 的 IDE 或应用)根据其配置启动或连接。您需要在您的 MCP 客户端设置中添加关于如何找到或启动 Trivy MCP 服务器的信息。以下是两种常见的配置方式:

通过 Stdio 连接 (客户端启动服务器)

如果您的 MCP 客户端支持通过标准输入输出来启动和通信,您可以在客户端的 MCP 服务器配置中指定启动 Trivy MCP 服务器的命令及其参数。

您需要配置客户端使用以下命令:

  • 命令 (command): 'trivy'
  • 参数 (args): 'mcp', '-t', 'stdio'

例如,在某些客户端中,这可能涉及指定服务器的名称、用于启动服务器的可执行文件路径以及传递给该可执行文件的参数列表。

通过 SSE HTTP 连接 (客户端连接已启动的服务器)

如果您的 MCP 客户端支持通过 HTTP SSE 连接,您可以先手动启动 Trivy MCP 服务器,然后配置客户端连接到该服务器的地址。

  1. 手动启动服务器: 打开终端,运行命令 'trivy mcp -t sse -p 23456' (端口号 23456 是默认值,可以更改)。服务器将启动并监听指定的端口。
  2. 配置客户端: 在客户端的 MCP 服务器配置中,指定服务器的类型为 'sse',并提供服务器的完整 URL。

您需要配置客户端使用以下信息:

  • 类型 (type): 'sse'
  • URL (url): 'http://localhost:23456/sse' (请根据您实际启动服务器的端口号修改)

例如,在某些客户端中,这可能涉及指定服务器的名称、连接类型以及服务器的网络地址。

基本使用方法

在您的 MCP 客户端中成功配置并连接到 Trivy MCP 服务器后,如果客户端提供了聊天或交互界面,您可以尝试使用自然语言提问来触发 Trivy 的扫描功能。确保客户端处于能够调用外部工具或代理的模式(例如,VS Code 中的 "Agent" 模式)。

您可以尝试的示例问题包括:

  • "检查当前项目是否有任何漏洞或错误配置?" (扫描文件系统)
  • "扫描 'python:3.12' 镜像,看看有没有安全问题?" (扫描容器镜像)
  • "分析一下 'github.com/aquasecurity/trivy-ci-test' 仓库的漏洞。" (扫描远程仓库)

服务器会执行相应的 Trivy 扫描命令,并将结构化的结果返回给客户端,客户端再将结果呈现给用户,通常是总结或详细列表的形式。

信息

分类

开发者工具