使用说明
Trivy安全扫描器MCP服务器
一种模型上下文协议(MCP)服务器,通过以下方式提供安全漏洞扫描功能 Trivy,一个全面的安全扫描器。这允许您扫描漏洞,并直接从Claude Desktop、Cursor或任何兼容MCP的客户端自动修复它们。
特性
- 🔍 项目扫描:扫描目录以查找依赖关系中的安全漏洞
- 🔧 自动修复:自动将软件包更新为安全版本
- 📦 多语言支持:支持Python(pip)、Node.js(npm)、Go、Rust、PHP和Ruby
- 📊 详细报告:获取具有严重级别的全面漏洞报告
- 🤖 人工智能集成:与Claude Desktop和Cursor无缝协作
先决条件
1.安装Trivy
macOS:
brew install trivy
Linux:
sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy
窗户: 下载自 Trivy发布
2.Python 3.8+
请确保您已安装Python 3.8或更高版本。
安装
-
克隆此存储库:
git clone https://github.com/your-username/trivy-mcp-server.git cd trivy-mcp-server -
安装依赖项:
pip install -r requirements.txt -
测试安装:
python server.py --help
配置
🖥️ Claude桌面设置
-
找到您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
~/AppData/Roaming/Claude/claude_desktop_config.json
- macOS:
-
将Trivy MCP服务器添加到您的配置中:
{ "mcpServers": { "trivy-security-scanner": { "command": "python", "args": [ "/full/path/to/trivy-mcp-server/server.py", "--transport", "stdio" ], "env": {} } } } -
替换
/full/path/to/带有克隆存储库的实际路径 -
重新启动克劳德桌面
-
验证它是否正常工作: 在Claude Desktop中,您现在应该可以问:
“扫描我的项目以查找安全漏洞”
🎯 光标设置
-
打开光标设置 (
Cmd/Ctrl + ,) -
在设置中搜索“MCP”
-
添加Trivy MCP服务器配置:
{ "mcp.servers": { "trivy-security-scanner": { "command": "python", "args": [ "/full/path/to/trivy-mcp-server/server.py", "--transport", "stdio" ] } } } -
替换
/full/path/to/使用存储库的实际路径 -
重新启动游标
-
测试集成: 现在,您可以在Cursor的AI聊天中直接使用Trivy命令。
用法
一旦配置了Claude Desktop或Cursor,您就可以使用自然语言命令:
🔍 扫描漏洞
"Scan my current project for security vulnerabilities"
"Check for critical and high severity vulnerabilities only"
"Scan the /path/to/my/project directory for security issues"
🔧 修复漏洞
"Fix the lodash vulnerability in my project"
"Update the vulnerable packages to secure versions"
"Do a dry run to see what packages would be updated"
📚 研究漏洞
"Get details about CVE-2021-44228"
"Tell me more about this vulnerability: CVE-2021-23337"
可用工具
MCP服务器提供三个主要工具:
1. scan_project
- 目的:扫描目录以查找安全漏洞
- 参数:
workspace(必需):要扫描的目录路径severity_filter(可选):按严重程度过滤(例如,“高,临界”)include_fixed(可选):包括已修复的漏洞
2. fix_vulnerability
- 目的:自动将软件包更新为安全版本
- 参数:
workspace(必填):包含项目的目录pkg_name(必填):要更新的包的名称target_version(必填):要更新的版本dry_run(可选):模拟修复而不进行更改
3. get_vulnerability_details
- 目的:获取有关特定漏洞的详细信息
- 参数:
vulnerability_id(必填):CVE ID(例如,“CVE-2021-44228”)
示例工作流
每日安全审查
- 晨间扫描:“扫描我的所有项目以查找新漏洞”
- 审查结果:检查发现问题的严重性和影响
- 应用修复程序:“修复发现的关键漏洞”
- 验证:重新扫描以确认已应用修复
拉取请求安全检查
- 合并前:“扫描此分支以查找任何新的安全漏洞”
- 如果发现问题,则阻止:如果引入了关键漏洞,请不要合并
- 可能时自动修复:“将易受攻击的依赖项更新为安全版本”
脆弱性研究
- 深潜:“获取有关CVE-2021-44228的详细信息,并检查我的任何项目是否受到影响”
- 影响评估:了解范围和严重程度
- 补救计划:计划更新和修复
支持的包管理器
- ✅ python:
requirements.txt,pyproject.toml - ✅ Node.js:
package.json - ✅ 去:
go.mod - 🔄 锈:
Cargo.toml(仅检测) - 🔄 PHP程序:
composer.json(仅检测) - 🔄 红宝石:
Gemfile(仅检测)
注意:Python、Node.js和Go目前支持自动修复。其他语言具有手动修复指导的检测支持。
故障排除
常见问题
1.“未找到Trivy”错误
- 确保Trivy已安装并位于您的PATH中
- 测试:
trivy --version
2.“权限被拒绝”错误
- 确保server.py文件具有执行权限
- 尝试:
chmod +x server.py
3.“找不到模块”错误
- 安装依赖项:
pip install -r requirements.txt - 检查Python版本:
python --version(应为3.8+)
4.Claude Desktop无法识别服务器
- 检查配置中的文件路径是否正确(使用绝对路径)
- 配置更改后重新启动Claude Desktop
- 检查Claude Desktop日志中的错误消息
获取帮助
- 检查Trivy安装:
trivy --version - 测试服务器:
python server.py --help - 验证MCP连接:在Claude Desktop/Cursor中查找服务器日志
- 检查文件路径:确保配置文件中的所有路径都是绝对正确的
发展
独立运行
# Start with default settings (SSE transport on port 54321)
python server.py
# Start with custom settings
python server.py --port 8080 --transport sse
# Start for Claude Desktop (stdio transport)
python server.py --transport stdio
添加新的包管理器
要添加对其他包管理器的支持,请执行以下操作:
- 更新
detect_package_manager()函数 - 在中添加修复逻辑
fix_vulnerability()函数 - 使用示例项目进行测试
安全考虑
- 服务器执行系统命令(Trivy、包管理器)
- 在生产中应用修复程序之前,始终审查更改
- 考虑在生产环境中以有限权限运行
- 验证工作区路径以防止目录遍历攻击
贡献
欢迎投稿!请随时提交拉取请求。
许可证
这个项目是开源的。请参阅各自许可证的依赖关系。
🔒 通过自动漏洞扫描保护您的代码安全!