关于 OSV Advisories
OSV Advisories 是面向开发者的 MCP 服务,可查询软件包漏洞并扫描锁文件。它从 OSV.dev 获取建议详情,并将网络访问限制在 api.osv.dev。
主要功能
- 01按软件包和版本查询漏洞
- 02批量查询最多 1,000 个软件包
- 03扫描受支持锁文件中的固定版本
- 04获取完整漏洞记录
适用场景
- 01升级依赖前检查已知漏洞
- 02扫描项目锁文件中的安全建议
MCP 相关
通过 MCP 工具提供软件包查询、批量查询、锁文件扫描和漏洞详情查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/basitalisandhu/mcp-osv-advisories:0.3.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/basitalisandhu/mcp-osv-advisories:0.3.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
osv-advisories MCP 服务
根据包名、版本和生态系统,在 OSV.dev 数据库中查找已知漏洞,并扫描锁文件。它唯一会通过 HTTPS 连接的主机是 api.osv.dev,每个请求的超时时间为 15 s,响应大小上限为 8 MB。
属于 dev-mcp-servers 项目。仅支持 Stdio 传输;服务不会开放端口。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
query_package | ecosystem、name、version? | 单个包的完整公告:ID、别名(CVE)、摘要、严重程度、受影响的版本范围、已修复版本和参考链接。通过 POST /v1/query 查询,最多返回五页。 |
query_batch | packages[](最多 1000 个) | 每个包对应的公告 ID。通过 POST /v1/querybatch 查询,每批 100 个。 |
scan_lockfile | path 或 content、filename?、format?、include_details? | 解析 package-lock.json(v1 至 v3)、requirements.txt(仅支持 == 固定版本)、poetry.lock 或 go.sum(基础支持),并批量查询所有固定版本的包;列出已跳过的条目。读取一个本地文件,大小上限为 10 MB。 |
get_vulnerability | id | 返回单条完整公告。通过 GET /v1/vulns/{id} 获取。 |
安装
Claude Code:
claude mcp add osv-advisories -- docker run --rm -i -v "$PWD:/work:ro" ghcr.io/basitalisandhu/mcp-osv-advisories:0.2.2
添加 -s user,即可在每个项目中使用。任何能读取 .mcp.json 的客户端(Claude Code、Claude Desktop、Cursor):
{
"mcpServers": {
"osv-advisories": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "/path/to/your/project:/work:ro", "ghcr.io/basitalisandhu/mcp-osv-advisories:0.2.2"]
}
}
}
请按所示固定版本,这样更新就不会在你毫不知情的情况下改变编辑器中运行的内容。容器只能看到挂载的目录,因此请传入 /work 下的路径。该包尚未发布到 npmjs.com,因此 npx 无法使用;请参阅仓库 README了解 GitHub Packages npm。从仓库检出目录开始,请在仓库根目录运行 npm install && npm run build,然后使用 "command": "node", "args": ["<path>/packages/osv-advisories/dist/index.js"]。
访问范围
- 网络:仅访问
https://api.osv.dev。发出请求前会拒绝其他任何来源。拒绝重定向。无遥测。 - 本地文件:
scan_lockfile只读取你指定的一个文件,大小上限为 10 MB。 - 遥测:无。
备注
- 生态系统名称会与 OSV 列表进行不区分大小写的匹配并规范化(
pypi会转换为PyPI);未知名称会报错,而不是返回空结果。 - 对于 Go 模块,版本开头的
v会被移除,因为 OSV 要求如此。 - 空结果表示 OSV 没有该确切包和版本的公告;这并不能证明该包是安全的。
构建和测试
npm install # at the repository root
npm run build -w @basitalisandhu/mcp-osv-advisories
npm test -w @basitalisandhu/mcp-osv-advisories
测试使用 node:test 和 SDK 的内存传输;不会访问网络。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。