mcpField
S
SafeDep Vet MCP

SafeDep Vet MCP

本地服务
safedep.io安全1.1k1 天前更新

关于 SafeDep Vet MCP

vet 是一款命令行工具,用于在依赖、GitHub Actions 工作流和 AI Agent 配置进入生产环境前发现恶意包、已知漏洞和高风险设置。面向开发者与 CI 流程,无需账户,也不上传源代码。

主要功能

  1. 01检测恶意包与已知漏洞并给出修复版本
  2. 02扫描 GitHub Actions 工作流的高风险配置
  3. 03基于 CEL 的策略即代码控制扫描失败条件
  4. 04生成 CycloneDX xBOM 与 CBOM 清单
  5. 05审计本机的 AI 工具、MCP 服务与编辑器扩展

适用场景

  1. 01在拉取请求中检查新增依赖与工作流变更
  2. 02在 CI 中以退出码或 SARIF 报告阻断构建
  3. 03审计开发者机器上的 MCP 服务与 AI 工具

MCP 相关

vet endpoint audit 会列出开发者机器上的 MCP 服务并检查其中是否含有恶意软件,本身不作为 MCP 服务运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"safedep-vet": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/safedep/vet:v1.20.0"
]
}
}
}
启动命令docker run -i --rm ghcr.io/safedep/vet:v1.20.0

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/safedep/vet:v1.20.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

SafeDep vet

在恶意软件包、漏洞和高风险 CI 工作流进入生产环境之前,发现它们。

Release Build OpenSSF Scorecard License Discord

安装 • 文档 • 命令 • 策略 • Discord

说明

此分支是处于 alpha 阶段的 vet v2。vet v1 位于 main 分支,并仍是最新发布版本。v2.0.0 发布说明列出了 v1 中每个命令和标志 在 v2 中的对应项。

为什么选择 vet

你的依赖项、GitHub Actions 工作流和 AI Agent 配置会运行你未编写的代码。vet 可以发现其中的风险。

  • 恶意软件包。 vet 会根据 SafeDep Threat Intel 检查每个软件包。软件包注册表发布新版本时,Threat Intel 会对其进行分析。
  • 已知漏洞,并提供可升级到的修复版本。
  • 高风险工作流。 危险的触发器、模板注入、暴露的机密,以及未固定提交 SHA 的 Actions。
  • 锁文件篡改和新版本。 来自不可信注册表的条目,以及处于冷却期内的版本。
  • 策略即代码。 使用 CEL 编写的规则决定扫描是否失败。你可以在已保存的扫描结果上测试规则。
  • AI 和加密清单。 vet 会列出代码调用的 AI 库和加密算法,并生成 CycloneDX xBOM 和 CBOM。

vet 无需账户,也不会发送源代码。

快速开始

brew install --cask safedep/tap/vet@edge
vet scan

vet scan finds a malicious package, vulnerabilities and workflow injection

vet scan --fail-on high                         # exit 1 on a high or critical finding
vet scan --base-ref origin/main --fail-on high  # report only what a pull request changes
vet report show --report sarif=vet.sarif        # write SARIF from the saved scan, with no new scan

安装

渠道命令
Homebrewbrew install --cask safedep/tap/vet@edge
misemise use -g 'github:safedep/vet[prerelease=true]@2'
Gogo install github.com/safedep/vet/v2/cmd/vet@latest
容器docker run --rm -v "$PWD:/src" -w /src ghcr.io/safedep/vet:v2-latest scan

mise 会在发布一天后安装该版本。install.md 提供了安装最新构建版本、发布二进制文件和构建证明的命令。

vet 扫描内容

目标示例
目录(默认)vet scan、vet scan ./service
Git 仓库vet scan https://github.com/safedep/vet
容器镜像vet scan oci://alpine:3.20、vet scan image.tar
SBOM(CycloneDX 或 SPDX)vet scan sbom.cdx.json
单个软件包vet scan pkg:npm/[email protected]
此计算机上的工具vet endpoint audit

vet 会读取 npm、PyPI、Go、Maven、Gradle、Cargo、RubyGems、NuGet、Packagist、Pub 等生态系统的锁文件和清单。它还会读取目标中的 GitHub Actions 工作流和 AI Agent 配置,但不会安装或运行其中任何内容。控制项会将这些数据转化为发现项。请参阅 controls.md。

策略

策略用于决定何时扫描失败。将此文件保存为 vet-policy.yml:

version: 2
rules:
  - id: no-malware
    description: A malicious or suspicious package fails the build.
    when: finding.family == "malware"
    action: fail
  - id: no-workflow-injection
    when: finding.control_id in ["dangerous-trigger", "template-injection"]
    action: fail
  - id: no-critical-vulnerability
    when: finding.control_id == "vulnerability" && finding.severity == "critical"
    action: fail
  - id: new-dependency-age
    description: A pull request cannot add a version that is less than 14 days old.
    when: package.change == "ADDED" && has(package.days_since_publish) && package.days_since_publish < 14
    action: fail
suppressions:
  - purl: pkg:npm/[email protected]
    reason: The upgrade to 4.18.1 is in pull request 42.
    expires: 2026-12-31

无需进行新扫描,即可在上一次扫描中测试策略。然后将其应用于拉取请求:

vet report show last --policy vet-policy.yml
vet scan --base-ref origin/main --policy vet-policy.yml

超过到期日期后,抑制规则将不再隐藏此发现。请阅读 policy.md,了解规则字段、更多规则,以及可为你编写策略的 Agent Skill。

用例

  • 拉取请求检查。 vet GitHub Action 会在拉取请求添加软件包、工作流或发现时发表评论,并在检测到攻击时使检查失败。vet ci init 会将其添加到代码库中。
  • CI 门禁。 退出代码、用于 GitHub 代码扫描的 SARIF,以及 GitLab 和 Bitbucket 报告。请参阅 ci.md。
  • 拉取请求审查。 --base-ref 仅报告更改新增的软件包和工作流。
  • xBOM 和 CBOM。 使用代码中 AI 库和加密技术的 CycloneDX 1.7 清单。请参阅 inventory.md。
  • AI Agent。 vet 会查找 Claude Code 和其他 Agent,然后写入 JSON,且绝不会提示。
  • 端点审计。 vet endpoint audit 会列出开发者设备上的 AI 工具、MCP 服务、编辑器扩展和全局 npm 软件包,并检查它们是否含有恶意软件。

文档

页面内容
安装所有安装渠道以及如何验证发行版
命令每条命令、其标志和退出代码
控制项控制项及其选项
策略规则、抑制规则和门禁
输出报告格式、已保存的扫描和配置
CI 和 AI AgentGitHub Actions、GitLab、Bitbucket 和 Agent 模式
清单代码用法、AI 和加密技术、xBOM 和 CBOM

隐私

vet 会将每个软件包的标识信息(生态系统、名称和版本)发送给 SafeDep,以获取相关数据。vet 不会发送源代码或任何文件内容。

社区

vet 也可在云端运行。SafeDep Cloud 可在你的代码库上运行 vet,无需管理基础设施。

vet 的贡献者

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。