
[!NOTE]
vetはエージェントスキルの特別モードをサポートしています。 GitHub リポジトリでホストされているエージェントスキルをスキャンするには、vet scan --agent-skill <owner/repo>を実行してください。
現代のソフトウェアの70~90%はオープンソースコードです — それが安全であるとどうやって確認しますか?
従来のSCAツールはCVEのノイズで埋もれてしまいます。vet は異なるアプローチをとります:
オープンソースでは無料。ホスト型SaaSは SafeDep で利用可能。
数秒でインストール:
# macOS & Linux
brew install safedep/tap/vet
# npm を使用
npm install -g @safedep/vet
または 事前ビルドバイナリ をダウンロード
すぐに使い始める:
# 依存関係のマルウェアをスキャン
vet scan -D . --malware-query
# CIで重要な脆弱性で失敗させる
vet scan -D . --filter 'vulns.critical.exists(p, true)' --filter-fail
vet はパイプラインアーキテクチャに従います:リーダー が多様なソース(ディレクトリ、リポジトリ、コンテナイメージ、SBOM)からパッケージマニフェストを取り込み、エンリッチャー が SafeDep Cloud から脆弱性、マルウェア、スコアカードデータで各パッケージを拡張し、CEL ポリシーエンジン が拡張データに対してセキュリティポリシーを評価し、レポーター が SARIF、JSON、Markdown などの形式で実用的な出力を生成します。
graph TB
subgraph "OSS エコシステム"
R1[npm Registry]
R2[PyPI Registry]
R3[Maven Central]
R4[その他のレジストリ]
end
subgraph "SafeDep Cloud"
M[継続的監視]
A[リアルタイムコード分析<br/>マルウェア検出]
T[脅威インテリジェンスDB<br/>脆弱性 • マルウェア • スコアカード]
end
subgraph "vet CLI"
S[ソースリポジトリ<br/>スキャナー]
P[CEL ポリシーエンジン]
O[レポートとアクション<br/>SARIF/JSON/CSV]
end
R1 -->|新しいパッケージ| M
R2 -->|新しいパッケージ| M
R3 -->|新しいパッケージ| M
R4 -->|新しいパッケージ| M
M -->|動作分析| A
A -->|マルウェアシグナル| T
S -->|パッケージ情報照会| T
T -->|セキュリティインテリジェンス| S
S -->|分析結果| P
P -->|ポリシー決定| O
style M fill:#7CB9E8,stroke:#5A8DB8,color:#1a1a1a
style A fill:#E8A87C,stroke:#B88A5A,color:#1a1a1a
style T fill:#7CB9E8,stroke:#5A8DB8,color:#1a1a1a
style S fill:#90C695,stroke:#6B9870,color:#1a1a1a
style P fill:#E8C47C,stroke:#B89B5A,color:#1a1a1a
style O fill:#B8A3D4,stroke:#9478AA,color:#1a1a1a
SafeDep Cloud によるリアルタイムの悪意パッケージ対策。 オープンソースプロジェクトでは無料。アクティブなコード分析によりゼロデイマルウェアを検出します。
ノイズであふれかえる依存関係スキャナーとは異なり、vet は 実際のコード使用状況 を分析して真のリスクを優先順位付けします。
詳細は依存関係使用エビデンスを参照。
CEL 式を使用してセキュリティポリシーを定義し、コンテキストに応じた要件を強制します:
# 重大なCVEがあるパッケージをブロック
vet scan --filter 'vulns.critical.exists(p, true)' --filter-fail
# ライセンス準拠を強制
vet scan --filter 'licenses.contains_license("GPL-3.0")' --filter-fail
# 最低限の OpenSSF Scorecard スコアを要求
vet scan --filter 'scorecard.scores.Maintained < 5' --filter-fail
パッケージマネージャー: npm, PyPI, Maven, Go, Ruby, Rust, PHP コンテナイメージ: Docker, OCI SBOM 形式: CycloneDX, SPDX ソースリポジトリ: GitHub, GitLab
SafeDep の脅威インテリジェンスデータベースに問い合わせることで、悪意パッケージに対するリアルタイム防御 を実現します。このデータベースは静的・動的行動分析によって継続的に更新されています。
# 既知の悪意パッケージを照会(APIキー不要)
vet scan -D . --malware-query
[!NOTE]
--malwareフラグは非推奨です。アクティブ(オンデマンド)スキャンは SafeDep の脅威インテリジェンスデータベースへの照会に置き換えられました。--malwareは現在--malware-queryと同じ動作をし、後方互換性のために維持されています。
検出例:
主なセキュリティ機能:
# 特化したスキャン
vet scan --vsx --malware-query # VS Code 拡張機能
vet scan -D .github/workflows --malware-query # GitHub Actions
vet scan --image nats:2.10 --malware-query # コンテナイメージ
[!NOTE]
vet inspect malwareコマンド(単一パッケージのオンデマンド分析)は非推奨であり、将来のリリースで削除される予定です。SafeDep の既知の悪意パッケージデータベースに対してパッケージをチェックするには、vet scan --malware-queryを使用してください。
CI/CD におけるゼロコンフィグのセキュリティガードレール:
- uses: safedep/vet-action@v1
with:
policy: ".github/vet/policy.yml"
vet-action のドキュメントを参照。
vet CI コンポーネント を使ったエンタープライズスキャン:
include:
- component: gitlab.com/safedep/ci-components/vet/scan@main
コンテナイメージを使ってどこでも vet を実行:
docker run --rm -v $(pwd):/app ghcr.io/safedep/vet:latest scan -D /app --malware-query
brew install safedep/tap/vet
npm install @safedep/vet
事前ビルドバイナリについては releases を参照。
go install github.com/safedep/vet@latest
# クイックテスト
docker run --rm ghcr.io/safedep/vet:latest version
# ローカルディレクトリをスキャン
docker run --rm -v $(pwd):/workspace ghcr.io/safedep/vet:latest scan -D /workspace
vet version
# バージョンとビルド情報が表示されるはずです
詳細なドキュメントでさらに学ぶ:
vet は製品改善のために匿名の使用テレメトリーを収集します。お客様のコードやパッケージ情報が送信されることは決してありません。
# テレメトリーを無効にする(オプション)
export VET_DISABLE_TELEMETRY=true
vet は巨人の肩の上に立っています:
OSV • OpenSSF Scorecard • SLSA • OSV-SCALIBR • Syft
すべてのコントリビューターに感謝します ❤️
今日からサプライチェーンを保護しましょう。リポジトリにスターを付けて始めましょう!
SafeDep とオープンソースコミュニティによる愛情を込めて作成
