关于 MCP Security Analyst
MCP Security Analyst 为开发者和 AI 助手提供代码与依赖安全检查,结合 OSV.dev 漏洞查询、Go AST 分析、模式检测和 Gitleaks 密钥扫描。
主要功能
- 01通过 OSV.dev 检查软件包版本
- 02使用 AST 分析 Go 代码
- 03通过 Gitleaks 检测密钥
- 04识别漏洞模式
- 05在输出中部分隐藏密钥
适用场景
- 01检查 go.mod 依赖中的已知问题
- 02扫描代码库中暴露的凭据
- 03检查代码中的注入与反序列化风险
- 04综合执行代码、密钥和依赖检查
MCP 相关
该 MCP 服务提供 check_vulnerabilities、analyze_security 和 scan_secrets 工具,用于漏洞与代码安全分析。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 安全分析师
一个模型上下文协议(MCP)服务,通过集成 OSV.dev 漏洞数据库以及基于 Go 的原生代码分析和密钥检测引擎,提供全面的安全分析功能。
功能
- 供应链漏洞分析:集成 OSV.dev API,用于评估依赖项漏洞
- 密钥检测:集成 Gitleaks v8,内置 100 多条凭据和 API 密钥检测规则
- 静态代码分析:基于 AST 的 Go 代码安全反模式分析
- 模式匹配:基于正则表达式检测常见安全漏洞
- MCP 协议支持:标准协议实现,支持与 AI 助手集成
- 社区审核规则:由安全社区维护的 Gitleaks 模式
要求
核心要求
make deps
make install
构建依赖
- Go 1.25.4 或更高版本
- github.com/mark3labs/mcp-go
- github.com/zricethezav/gitleaks/v8
安装
make deps # Install Go module dependencies
make build # Compile binary
make install # Install to /usr/local/bin
make run # Build and execute server
make clean # Remove build artifacts
mcp-osv 二进制文件通过 MCP 协议使用标准输入/输出进行通信。
IDE 配置
Cursor IDE
前往 Configuration > MCP 并添加:
{
"mcpServers": {
"security_analyst": {
"name": "Security Analyst",
"type": "stdio",
"command": "/usr/local/bin/mcp-osv"
}
}
}
Claude Desktop
在 Settings > Developer 中编辑 MCP 配置文件:
{
"mcpServers": {
"mcp_osv": {
"command": "/usr/local/bin/mcp-osv",
"args": []
}
}
}
可用工具
该服务提供 3 个用于安全分析的 MCP 工具:
check_vulnerabilities
查询 OSV.dev 数据库,查找指定软件包版本中的已知漏洞。
参数:
package_name(字符串,必填):软件包标识符version(字符串,必填):版本字符串
功能:
- API 请求速率限制(每秒 1 次请求)
- HTTP 超时保护(10 秒)
- JSON 响应解析
- 漏洞详情提取
analyze_security
结合多个检测引擎进行全面的安全分析。
参数:
file_path(字符串,必填):目标文件或目录路径
分析组件:
- 原生的、基于 Go AST 的代码分析
- 使用 Gitleaks v8 和 100 多条规则进行密钥检测
- 对依赖项进行 OSV.dev 漏洞检查(go.mod 文件)
- 基于模式的漏洞检测
检测到的问题:
- 命令注入向量
- 反序列化漏洞
- SQL 注入模式
- 硬编码凭据
- API 密钥和令牌
- 私钥和证书
- 数据库连接字符串
scan_secrets
使用 Gitleaks v8 进行专门的密钥检测,包含 100 多条由社区维护的检测规则。
参数:
path(字符串,必填):目标文件、目录或仓库路径scan_git_history(布尔值,可选):启用 Git 历史扫描(默认为 false)
检测能力(100 多种模式):
- AWS 访问密钥、秘密密钥、会话令牌
- GitHub 个人访问令牌、OAuth 令牌
- Google Cloud Platform API 密钥
- Azure 凭据和连接字符串
- Slack 令牌和 Webhook
- Stripe API 密钥
- SSH/PGP/RSA 私钥
- JWT 令牌
- 数据库连接字符串(PostgreSQL、MySQL、MongoDB)
- 通过熵分析检测通用 API 密钥
- 以及安全社区维护的 90 多种其他模式
**输出:**对部分密钥进行脱敏,以安全地显示(显示前 4 个和后 4 个字符)
集成模式
MCP 服务支持 AI 助手通过自然语言请求执行安全分析:
依赖项漏洞扫描:
Request: "Check dependencies in go.mod for vulnerabilities"
Tool Execution: analyze_security -> OSV.dev API queries
Response: Vulnerability report with CVE details
密钥检测:
Request: "Scan repository for exposed credentials"
Tool Execution: scan_secrets -> Pattern matching + entropy analysis
Response: Detected secrets with file locations and types
全面审计:
Request: "Perform full security analysis"
Tool Execution: analyze_security -> All detection engines
Response: Combined report (code issues + secrets + vulnerabilities)
安全实现详情
速率限制
使用 golang.org/x/time/rate 限制器,将 OSV.dev API 请求限制为每秒 1 次,以避免服务限流。
输入验证
所有文件路径都会经过清理,以防止目录遍历攻击:
- 通过 filepath.Clean() 清理路径
- 检测目录遍历模式
- 验证路径是否存在
密钥脱敏
检测到的密钥在显示前会进行部分脱敏:
- 密钥长度 ≤ 8 个字符:完全脱敏
- 密钥长度 > 8 个字符:保留前 4 个字符 + "***" + 后 4 个字符
Gitleaks 集成
密钥检测由 Gitleaks v8 提供支持:
- 100 多条由社区维护的检测规则
- 通过熵分析检测随机性较高的字符串
- 基于关键词的预过滤,以提升性能
- 定期更新,以支持新的密钥类型
添加安全规则
要扩展检测能力:
- 密钥和凭据检测:Gitleaks 规则由上游的 gitleaks/gitleaks 维护
- 代码分析:扩展
runGoCodeAnalysis()中的 AST 检查 - 模式匹配:可将正则表达式模式添加到
analyzeFile()的检查映射中;创建分支并提交 PR 说明这些模式,以便合并
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。