Skip to main content

General Usage

How do I disable the banner?

Something is wrong! How do I debug this?

Enable debug logging:

Installation and Setup

Which version of Vet should I use?

Always use the latest stable version available:

Does Vet work offline?

Vet requires internet connectivity to:
  • Download vulnerability data from OSV database
  • Fetch OpenSSF Scorecard information
  • Access package registry metadata
  • Communicate with SafeDep Cloud (if using cloud features)
For offline environments, consider using the JSON dump workflow to cache data locally.

What package managers does Vet support?

Vet supports:
  • package-lock.json (npm)
  • yarn.lock (Yarn)
  • pnpm-lock.yaml (pnpm)
  • requirements.txt
  • Pipfile.lock (Pipenv)
  • poetry.lock (Poetry)
  • pyproject.toml
  • pom.xml (Maven)
  • build.gradle (Gradle)
  • gradle.lockfile
  • go.mod
  • go.sum
  • Gemfile.lock (Ruby)
  • Cargo.lock (Rust)
  • composer.lock (PHP)
  • And many more…

Scanning and Analysis

Why is my scan taking so long?

Common causes:
Use path exclusions to skip irrelevant directories:
The scan fetches metadata from external sources. Slow internet can impact performance.
Malware detection with --malware-query is a fast lookup against SafeDep’s known malicious packages database and adds negligible overhead:
Initial scans may be slower as Vet builds local caches.

No vulnerabilities found - is this correct?

If Vet reports no vulnerabilities:
  1. Check the package versions - Ensure you’re scanning current dependency versions
  2. Verify manifest files - Confirm Vet is finding and parsing your package manifests
  3. Check exclusions - Make sure you haven’t excluded relevant directories
  4. Review scan output - Look for any warnings or errors during scanning

How do I scan only specific files?

Use the -M flag to specify individual manifest files:

Policy and Filtering

How do I create effective policies?

Start with a basic vulnerability check, then layer in additional conditions:
Test against known-good and known-bad packages before deploying. Enable warning-only mode first, then switch to blocking once the policy is stable. Add comments to policy files explaining the rationale for each rule.

Why is my filter not working?

Common causes:
Verify CEL expression syntax:
Check the filter input specification to understand available fields.
Ensure your expression evaluates to true/false:

Performance and Optimization

How can I speed up my scans?

Skip irrelevant directories:
Target only relevant package files:
Cache enriched data for repeated analysis:
For multiple projects, run scans in parallel or use CI/CD matrix builds.

CI/CD Integration

My GitHub Action is failing - what should I check?

Ensure you’re using the latest version of vet-action:
Check GitHub token permissions:
Verify required secrets are set if using SafeDep Cloud:
  • SAFEDEP_CLOUD_API_KEY
  • SAFEDEP_CLOUD_TENANT_DOMAIN

How do I handle false positives in CI?

Create an exceptions file for known false positives:
Refine your filter expressions to reduce noise:
The action does not fail the build by default, so you can surface findings without blocking while you tune policies. Just leave paranoid off (its default is false):

Data and Privacy

What data does Vet collect?

Vet collects:
  • Package metadata from public registries
  • Vulnerability data from public databases (OSV, NVD)
  • OpenSSF Scorecard metrics from public repositories
Only package coordinates (ecosystem, name, version) leave your machine. Your source code is never transmitted.

Does Vet send my code anywhere?

No. Vet reads your manifests, lockfiles, and (when code analysis is enabled) your source code locally to identify and trace dependencies. Only package coordinates are sent to SafeDep for vulnerability and malware analysis; your source code never leaves your machine.

Can I use Vet in air-gapped environments?

Vet requires internet access for vulnerability data and package metadata. For air-gapped environments:
  1. Pre-cache data using the JSON dump workflow
  2. Use proxy servers to control external access
  3. Consider enterprise solutions for offline vulnerability databases

Troubleshooting

Common error messages and solutions

  • Check that you’re in the correct directory
  • Verify manifest files exist (package-lock.json, requirements.txt, etc.)
  • Use -M flag to specify files explicitly
  • Check internet connectivity
  • Verify firewall/proxy settings
  • Try again later (service might be temporarily unavailable)
  • Use path exclusions to reduce scope
  • Scan smaller directory trees
  • Increase available memory in CI/CD
  • Check CEL syntax
  • Verify field names in filter input spec
  • Test expressions incrementally

Getting More Help

Community Discord

Real-time help and discussions

GitHub Issues

Report bugs or search existing issues

Documentation

Guides and API reference

Email Support

Direct support for complex issues

Can’t find your question here? Check our community page for more ways to get help!