MCP安全分析师

模型上下文协议(MCP)服务器通过与OSV.dev漏洞数据库和本机基于Go的代码分析和秘密检测引擎集成,提供全面的安全分析功能。
特性
- 供应链脆弱性分析:与OSV.dev API集成,用于依赖性漏洞评估
- 秘密侦查:Gitleaks v8集成了100+内置的凭据和API密钥检测规则
- 静态代码分析:基于AST的Go代码分析,用于安全反模式
- 模式匹配:基于正则表达式的常见安全漏洞检测
- MCP协议支持:AI助手集成的标准协议实施
- 社区审查规则:安全社区维护的Gitleaks模式
需求
核心要求
make deps
make install建立依赖关系
- 转到1.25.4或更高版本
- github/mark3labs/mcp-go
- github/zricethezav/titleaks/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 artifactsmcp-osv二进制文件使用mcp协议通过stdin/stdout进行通信。
IDE配置
光标IDE
导航到配置>MCP并添加:
{
"mcpServers": {
"security_analyst": {
"name": "Security Analyst",
"type": "stdio",
"command": "/usr/local/bin/mcp-osv"
}
}
}克劳德桌面版
在“设置”>“开发人员”中编辑MCP配置文件:
{
"mcpServers": {
"mcp_osv": {
"command": "/usr/local/bin/mcp-osv",
"args": []
}
}
}可用工具
服务器公开了三个MCP工具用于安全分析:
检查漏洞
查询OSV.dev数据库以查找特定软件包版本中的已知漏洞。
参数:
package_name(字符串,必填):包标识符version(string,必填):版本字符串
功能:
- API请求受限(1个请求/秒)
- HTTP超时保护(10秒)
- JSON响应解析
- 漏洞详细信息提取
分析安全
结合多种检测引擎的全面安全分析。
参数:
file_path(字符串,必填):目标文件或目录路径
分析组件:
- 基于Native 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云平台API密钥
- Azure凭据和连接字符串
- Slack令牌和Webhook
- 条纹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)安全实施细节
速率限制
OSV.dev API请求速率限制为每秒1个请求,使用golang.org/x/time/rate限制器来防止服务节流。
输入验证
所有文件路径都经过清理,以防止目录遍历攻击:
- 通过文件路径进行路径清理。Clean()
- 目录遍历模式检测
- 存在性验证
秘密行动
检测到的机密在显示之前会被部分编辑:
- 秘密\8个字符:前4个+“\*\*\*”+后4个字符
Gitleaks集成
由Gitleaks v8支持的秘密检测:
- 100+社区维护的检测规则
- 高随机性字符串的熵分析
- 基于关键字的性能预过滤
- 定期更新新的秘密类型
添加安全规则
要扩展检测能力:
- 秘密和凭证检测:Gitleaks规则在上游维护 gitleaks
- 代码分析:将AST检查扩展到
runGoCodeAnalysis() - 模式匹配:正则表达式模式可以添加到
analyzeFile()检查地图,创建分支,并解释如何合并它们
许可证
麻省理工学院
