mcpField
S
SafeDep Vet MCP

SafeDep Vet MCP

ローカル
safedep.ioセキュリティ1.1k1 日前に更新

SafeDep Vet MCP について

vet はコマンドラインツールで、依存関係、GitHub Actions ワークフロー、AI エージェントの設定に含まれる悪意あるパッケージ、既知の脆弱性、危険な設定を本番環境への反映前に検出します。開発者と CI パイプラインを対象とし、アカウントは不要でソースコードも送信しません。

主な機能

  1. 01悪意あるパッケージと既知の脆弱性の検出
  2. 02修正版バージョンの提示
  3. 03CEL によるポリシーのコード管理と失敗条件の制御
  4. 04CycloneDX 形式の xBOM と CBOM の生成
  5. 05ローカル環境の AI ツール、MCP サーバー、エディター拡張の監査

活用シーン

  1. 01プルリクエストでの新規依存関係とワークフロー変更の確認
  2. 02CI での終了コードや SARIF レポートによるビルドの停止
  3. 03開発者マシン上の MCP サーバーと AI ツールの監査

MCP 対応

endpoint audit コマンドは、開発者マシン上の MCP サーバーを一覧表示し、マルウェアの有無を確認します。vet 自体は 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 ワークフローが本番環境に到達する前に検出します。

メモ

このブランチはアルファ版の vet v2 です。vet v1 は main にあり、 最新リリースとして提供されています。v2.0.0 リリースノートでは、 v1 の各コマンドとフラグが v2 でどう対応するかを説明しています。

vet の概要

依存関係、GitHub Actions ワークフロー、AI エージェントの設定は、自分で書いていないコードを実行します。vet はそれらに潜むリスクを検出します。

  • 悪意のあるパッケージ。 vet は各パッケージを SafeDep Threat Intel と照合します。Threat Intel は、レジストリに新しいパッケージバージョンが公開されると分析します。
  • 既知の脆弱性。 アップグレード先となる修正版も示します。
  • リスクのあるワークフロー。 危険なトリガー、テンプレートインジェクション、漏えいしたシークレット、コミット SHA が固定されていないアクションを検出します。
  • ロックファイルの改ざんと新しいバージョン。 信頼できないレジストリからのエントリーや、クールダウン期間内のバージョンを検出します。
  • ポリシー・アズ・コード。 CEL のルールでスキャンの失敗条件を決定します。保存済みのスキャンに対してルールをテストできます。
  • AI と暗号のインベントリ。 コードが呼び出す AI ライブラリと暗号アルゴリズムを一覧表示し、CycloneDX xBOM と CBOM を書き出します。

vet の利用にアカウントは不要で、ソースコードも送信されません。

クイックスタート

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

vet が悪意のあるパッケージ、脆弱性、ワークフローインジェクションを検出するスキャン

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 はリリース公開の 1 日後にそのリリースをインストールします。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 エージェント設定も読み取ります。これらをインストールしたり実行したりすることはありません。コントロールによって、このデータから検出結果が生成されます。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 エージェント。 vet は Claude Code などのエージェントを検出し、プロンプトを表示せずに JSON を出力します。
  • エンドポイント監査。 vet endpoint auditは、開発者のマシン上にある AI ツール、MCP サーバー、エディター拡張機能、グローバル npm パッケージを一覧表示し、マルウェアがないか確認します。

ドキュメント

ページ内容
インストールすべてのインストール方法とリリースの検証方法
コマンドすべてのコマンド、そのフラグと終了コード
コントロールコントロールとそのオプション
ポリシールール、抑制、ゲート
出力レポート形式、保存済みスキャン、設定
CI と AI エージェントGitHub Actions、GitLab、Bitbucket、エージェントモード
インベントリコードでの使用状況、AI と暗号技術、xBOM と CBOM

プライバシー

vet は、各パッケージのデータを取得するため、パッケージの識別情報(エコシステム、名前、バージョン)を SafeDep に送信します。ソースコードやファイルの内容は送信しません。

コミュニティ

vet はクラウドでも実行できます。SafeDep Cloudを使うと、インフラを管理することなく、リポジトリ上で vet を実行できます。

vet へのコントリビューター

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。