by safedep
Provides enterprise‑grade open source software supply chain security by scanning code, detecting vulnerable and malicious packages, and enforcing policy as code.
SafeDep VET protects modern applications from risky open‑source components. It performs deep code‑level analysis, combines vulnerability databases, malicious‑package detection, and policy‑as‑code enforcement to give developers and security engineers confidence in their dependencies.
brew install safedep/tap/vet
or download a binary.vet scan -D .
to analyze the current project, or target a specific manifest with -M
.--filter
and fail CI pipelines with --filter-fail
.vet server mcp --server-type sse
to provide scanning services to AI‑generated code.Q: Do I need an API key for malicious package detection? A: An API key enables active scanning via SafeDep Cloud. Without it, VET falls back to query mode using public databases.
Q: Which package managers are supported? A: npm, Yarn, pnpm, PyPI, Maven, Gradle, Go modules, RubyGems, Cargo, Composer, and many others, plus container images and SBOM formats.
Q: How can I enforce custom security policies?
A: Write CEL expressions and pass them with --filter
. Combine multiple filters and use --filter-fail
to make the scan exit with a non‑zero code.
Q: Can I run VET in a container?
A: Yes. Use the official image ghcr.io/safedep/vet:latest
and mount your workspace, e.g., docker run --rm -v $(pwd):/app ghcr.io/safedep/vet:latest scan -D /app
.
Q: Is telemetry collected?
A: Anonymous usage telemetry is sent by default, but no code or package data leaves your machine. Set VET_DISABLE_TELEMETRY=true
to opt‑out.
70-90% of modern software constitute code from open sources — How do we know if it's safe?
vet is an open source software supply chain security tool built for developers and security engineers who need:
✅ Next-gen Software Composition Analysis — Vulnerability and malicious package detection
✅ Policy as Code — Express opinionated security policies using CEL
✅ Real-time malicious package detection — Powered by SafeDep Cloud active scanning
✅ Multi-ecosystem support — npm, PyPI, Maven, Go, Docker, GitHub Actions, and more
✅ CI/CD native — Built for DevSecOps workflows with support for GitHub Actions, GitLab CI, and more
✅ MCP Server — Run vet
as a MCP server to vet open source packages from AI suggested code
✅ Agents — Run AI agents to query and analyze scan results
Install in seconds:
# macOS & Linux
brew install safedep/tap/vet
or download a pre-built binary
Scan your project:
# Scan current directory
vet scan -D .
# Scan a single file
vet scan -M package-lock.json
# Fail CI on critical vulnerabilities
vet scan -D . --filter 'vulns.critical.exists(p, true)' --filter-fail
# Fail CI on OpenSSF Scorecard requirements
vet scan -D . --filter 'scorecard.scores.Maintained < 5' --filter-fail
# Fail CI if a package is published from a GitHub repository with less than 5 stars
vet scan -D . --filter 'projects.exists(p, p.type == "GITHUB" && p.stars < 5)' --filter-fail
Unlike dependency scanners that flood you with noise, vet
analyzes your actual code usage to prioritize real risks. See dependency usage evidence for more details.
Integrated with SafeDep Cloud for real-time protection against malicious packages in the wild. Free for open source projects. Fallback to Query Mode when API key is not provided. Read more about malicious package scanning.
Define security policies using CEL expressions to enforce context specific security requirements.
# Block packages with critical CVEs
vet scan \
--filter 'vulns.critical.exists(p, true)'
# Enforce license compliance
vet scan \
--filter 'licenses.contains_license("GPL-3.0")'
# Enforce OpenSSF Scorecard requirements
# Require minimum OpenSSF Scorecard scores
vet scan \
--filter 'scorecard.scores.Maintained < 5'
Zero config security guardrails against vulnerabilities and malicious packages in your CI/CD pipeline with your own opinionated policies:
- uses: safedep/vet-action@v1
with:
policy: '.github/vet/policy.yml'
See more in vet-action documentation.
Enterprise grade scanning with vet CI Component:
include:
- component: gitlab.com/safedep/ci-components/vet/scan@main
Run vet
anywhere, even your internal developer platform or custom CI/CD environment using our container image.
docker run --rm -v $(pwd):/app ghcr.io/safedep/vet:latest scan -D /app
brew tap safedep/tap
brew install safedep/tap/vet
See releases for the latest version.
go install github.com/safedep/vet@latest
# Quick test
docker run --rm ghcr.io/safedep/vet:latest version
# Scan local directory
docker run --rm -v $(pwd):/workspace ghcr.io/safedep/vet:latest scan -D /workspace
vet version
# Should display version and build information
📁 Directory Scanning
# Scan current directory
vet scan
# Scan a given directory
vet scan -D /path/to/project
# Resolve and scan transitive dependencies
vet scan -D . --transitive
📄 Manifest Files
# Package managers
vet scan -M package-lock.json
vet scan -M requirements.txt
vet scan -M pom.xml
vet scan -M go.mod
vet scan -M Gemfile.lock
🐙 GitHub Integration
# Setup GitHub access
vet connect github
# Scan repositories
vet scan --github https://github.com/user/repo
# Organization scanning
vet scan --github-org https://github.com/org
📦 Artifact Scanning
# Container images
vet scan --image nginx:latest
vet scan --image /path/to/image-saved-file.tar
# Binary artifacts
vet scan -M app.jar
vet scan -M package.whl
# Security-first scanning
vet scan -D . \
--filter 'vulns.critical.exists(p, true) || vulns.high.exists(p, true)' \
--filter-fail
# License compliance
vet scan -D . \
--filter 'licenses.contains_license("GPL-3.0")' \
--filter-fail
# OpenSSF Scorecard requirements
vet scan -D . \
--filter 'scorecard.scores.Maintained < 5' \
--filter-fail
# Popularity-based filtering
vet scan -D . \
--filter 'projects.exists(p, p.type == "GITHUB" && p.stars < 50)' \
--filter-fail
# Scan a CycloneDX SBOM
vet scan -M sbom.json --type bom-cyclonedx
# Scan a SPDX SBOM
vet scan -M sbom.spdx.json --type bom-spdx
# Generate SBOM output
vet scan -D . --report-cdx=output.sbom.json
# Package URL scanning
vet scan --purl pkg:npm/lodash@4.17.21
For large codebases and repeated analysis:
# Scan once, query multiple times
vet scan -D . --json-dump-dir ./scan-data
# Query with different filters
vet query --from ./scan-data \
--filter 'vulns.critical.exists(p, true)'
# Generate focused reports
vet query --from ./scan-data \
--filter 'licenses.contains_license("GPL")' \
--report-json license-violations.json
vet generate reports that are tailored for different stakeholders:
# SARIF for GitHub Security tab
vet scan -D . --report-sarif=report.sarif
# JSON for custom tooling
vet scan -D . --report-json=report.json
# CSV for spreadsheet analysis
vet scan -D . --report-csv=report.csv
# HTML for web-based analysis
vet scan -D . --report-html=report.html
# Markdown reports for PRs
vet scan -D . --report-markdown=report.md
# Console summary (default)
vet scan -D . --report-summary
# SBOM generation
vet scan -D . --report-cdx=sbom.json
# Dependency graphs
vet scan -D . --report-graph=dependencies.dot
# Multi-format output
vet scan -D . \
--report-json=report.json \
--report-sarif=report.sarif \
--report-markdown=report.md \
--report-html=report.html
# Focus on specific issues
vet scan -D . \
--filter 'vulns.high.exists(p, true)' \
--report-json=report.json
vet can be used as an MCP server to vet open source packages from AI suggested code.
# Start the MCP server with SSE transport
vet server mcp --server-type sse
For more details, see vet MCP Server documentation.
See vet Agents documentation for more details.
Malicious package detection through active scanning and code analysis powered by
SafeDep Cloud. vet
requires an API
key for active scanning of unknown packages. When API key is not provided, vet
will
fallback to Query Mode which detects known malicious packages from SafeDep
and OSV databases.
vet cloud quickstart
Malicious package detection requires an API key for SafeDep Cloud.
# One-time setup
vet cloud quickstart
# Enable malware scanning
vet scan -D . --malware
# Query for known malicious packages without API key
vet scan -D . --malware-query
Example malicious packages detected and reported by SafeDep Cloud malicious package detection:
🔍 Scan packages with malicious package detection enabled
# Real-time scanning
vet scan -D . --malware
# Timeout adjustment
vet scan -D . --malware \
--malware-analysis-timeout=300s
# Batch analysis
vet scan -D . --malware \
--json-dump-dir=./analysis
🎭 Specialized Scans
# VS Code extensions
vet scan --vsx --malware
# GitHub Actions
vet scan -D .github/workflows --malware
# Container Images
vet scan --image nats:2.10 --malware
# Scan a single package and fail if its malicious
vet scan --purl pkg:/npm/nyc-config@10.0.0 --fail-fast
# Active scanning of a single package (requires API key)
vet inspect malware \
--purl pkg:npm/nyc-config@10.0.0
vet
collects anonymous usage telemetry to improve the product. Your code and package information is never transmitted.
# Disable telemetry (optional)
export VET_DISABLE_TELEMETRY=true
vet stands on the shoulders of giants:
OSV • OpenSSF Scorecard • SLSA • OSV-SCALIBR • Syft
Created with ❤️ by SafeDep and the open source community
Please log in to share your review and rating for this MCP.
Discover more MCP servers with similar functionality and use cases
by zed-industries
Provides real-time collaborative editing powered by Rust, enabling developers to edit code instantly across machines with a responsive, GPU-accelerated UI.
by cline
Provides autonomous coding assistance directly in the IDE, enabling file creation, editing, terminal command execution, browser interactions, and tool extension with user approval at each step.
by continuedev
Provides continuous AI assistance across IDEs, terminals, and CI pipelines, offering agents, chat, inline editing, and autocomplete to accelerate software development.
by github
Enables AI agents, assistants, and chatbots to interact with GitHub via natural‑language commands, providing read‑write access to repositories, issues, pull requests, workflows, security data and team activity.
by block
Automates engineering tasks by installing, executing, editing, and testing code using any large language model, providing end‑to‑end project building, debugging, workflow orchestration, and external API interaction.
by RooCodeInc
An autonomous coding agent that lives inside VS Code, capable of generating, refactoring, debugging code, managing files, running terminal commands, controlling a browser, and adapting its behavior through custom modes and instructions.
by lastmile-ai
A lightweight, composable framework for building AI agents using Model Context Protocol and simple workflow patterns.
by firebase
Provides a command‑line interface to manage, test, and deploy Firebase projects, covering hosting, databases, authentication, cloud functions, extensions, and CI/CD workflows.
by gptme
Empowers large language models to act as personal AI assistants directly inside the terminal, providing capabilities such as code execution, file manipulation, web browsing, vision, and interactive tool usage.