项目简介
VulnZap 旨在为 AI 生成的代码提供全面的安全保障。它能与 Cursor、Windsurf 等主流 AI 辅助开发环境深度集成,在您的代码依赖安装前实时自动检测已知漏洞。通过这一安全层,VulnZap 帮助开发者预防潜在风险,确保 AI 驱动的应用从一开始就具备更高的安全性。
主要功能点
- 实时漏洞扫描: 在您的 AI 助手或您本人尝试安装新软件包时,VulnZap 会自动拦截并扫描这些软件包,及时发现已知漏洞。
- 多生态系统支持: 广泛支持 npm、pip、go、rust、maven、gradle、composer、nuget、pypi 等多种编程语言生态系统。
- AI 增强安全: 能够将功能需求转化为更安全的实现建议,提供上下文感知的软件包文档和安全指南,并推荐最新且安全的开发工具集。
- IDE 无缝集成: 通过 Model Context Protocol (MCP) 协议,与 Cursor IDE、Windsurf IDE 等 AI 辅助开发环境进行深度集成,提供本地化的安全服务。
- 智能缓存与离线模式: 内置智能缓存机制,可存储漏洞数据长达 5 天并自动失效,从而显著提升扫描性能。在网络不可用时,它还能回退到本地漏洞数据库进行离线扫描。
- OWASP Top 10 合规性: 遵循 OWASP Top 10 标准提供安全指导和检查。
安装步骤
VulnZap 是一个基于 Node.js 构建的命令行工具和服务。
- 安装 Node.js: 请确保您的系统已安装 Node.js 16.0.0 或更高版本。您可以访问 Node.js 官方网站下载并安装。
- 全局安装 VulnZap: 打开您的终端或命令行工具,运行以下命令即可全局安装 VulnZap:
npm install -g vulnzap - 完成初始化设置: 为了获得完整的 VulnZap 体验,建议运行引导式设置。它将帮助您设置 API 密钥,并自动检测并配置与您已安装的 AI IDE(如 Cursor、Windsurf)的集成:
此命令会引导您完成 API 密钥设置、IDE 自动检测与集成、配置 MCP 设置及安装相关扩展等步骤。npx vulnzap init
服务器配置 (供 MCP 客户端使用)
VulnZap 作为一个 MCP 服务器,其核心职责是为 MCP 客户端(如 AI 助手、AI IDE)提供安全上下文和工具。如果您使用的是支持 MCP 的客户端(例如 Cursor IDE 或 Windsurf IDE),通常您无需手动配置,'vulnzap init' 或 'vulnzap setup' 命令会帮您自动完成。
但如果您需要了解或手动配置,以下是 MCP 客户端配置 VulnZap MCP 服务器所需的关键信息:
- 服务器名称 (Server Name): 'VulnZap'
- AI 助手将以此名称识别和显示此安全服务。
- 启动命令 (Command): 'npx'
- 这是用于执行全局安装的 'vulnzap' 命令的通用 Node.js 包执行器。
- 命令参数 (Arguments): '["vulnzap", "mcp"]'
- 这些参数指示 'npx' 运行 'vulnzap' 工具的 'mcp' 子命令,从而启动 VulnZap 的 MCP 服务器组件。
- 环境变量 (Environment Variables): 'VULNZAP_API_KEY'
- 这是一个必要的环境变量,用于提供您的 VulnZap API 密钥,以便服务器进行身份验证和授权。
示例 MCP 客户端配置结构 (JSON 格式,通常由 VulnZap 自动生成):
MCP 客户端(如 Cursor 或 Windsurf)的配置文件(通常是 '.cursor/mcp.json' 或 '.codeium/windsurf/mcp_config.json')中会包含类似以下结构的配置信息:
{ "mcpServers": { "VulnZap": { "command": "npx", "args": ["vulnzap", "mcp"], "env": { "VULNZAP_API_KEY": "YOUR_ACTUAL_API_KEY" // 您的 VulnZap API 密钥将自动填充此处 } } } }
基本使用方法
一旦 VulnZap 成功安装并配置到您的 AI IDE 中,它将开始在后台提供安全防护。
- 自动扫描: 当您或您的 AI 助手在开发过程中尝试安装新的软件包依赖时,VulnZap 会自动介入并扫描这些依赖是否存在已知漏洞。
- 手动检查单个软件包: 您可以随时通过命令行手动检查任何特定软件包的版本是否存在漏洞:
vulnzap check npm:[email protected] # 或者 vulnzap check express --ecosystem npm --version 4.17.1 - 批量扫描项目: 扫描当前项目目录下的所有软件包依赖,生成一份全面的安全报告:
vulnzap batch-scan [--ecosystem <生态系统>] [--output <文件>] # 示例:扫描当前项目的所有 npm 依赖 vulnzap batch-scan --ecosystem npm - 扫描 GitHub 仓库: 启动一个针对远程 GitHub 仓库的深度漏洞扫描任务。此扫描在云端执行,即使您关闭终端也会继续运行:
使用 '--wait' 参数将使命令行工具等待扫描完成并显示最终结果,同时 '--output' 参数会将详细结果保存到 'scan-results.json' 文件中。vulnzap scan https://github.com/owner/repo --wait --output scan-results.json
信息
分类
开发者工具