General Usage
How do I disable the banner?
Something is wrong! How do I debug this?
Enable debug logging:- Log to stdout
- Log to file
- Verbose output
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)
What package managers does Vet support?
Vet supports:JavaScript/Node.js
JavaScript/Node.js
- package-lock.json (npm)
- yarn.lock (Yarn)
- pnpm-lock.yaml (pnpm)
Python
Python
- requirements.txt
- Pipfile.lock (Pipenv)
- poetry.lock (Poetry)
- pyproject.toml
Java/JVM
Java/JVM
- pom.xml (Maven)
- build.gradle (Gradle)
- gradle.lockfile
Go
Go
- go.mod
- go.sum
Other Languages
Other Languages
- Gemfile.lock (Ruby)
- Cargo.lock (Rust)
- composer.lock (PHP)
- And many more…
Scanning and Analysis
Why is my scan taking so long?
Common causes:Large dependency trees
Large dependency trees
Use path exclusions to skip irrelevant directories:
Network latency
Network latency
The scan fetches metadata from external sources. Slow internet can impact performance.
Malware analysis
Malware analysis
Malware detection with
--malware-query is a fast lookup against SafeDep’s
known malicious packages database and adds negligible overhead:First-time caching
First-time caching
Initial scans may be slower as Vet builds local caches.
No vulnerabilities found - is this correct?
If Vet reports no vulnerabilities:- Check the package versions - Ensure you’re scanning current dependency versions
- Verify manifest files - Confirm Vet is finding and parsing your package manifests
- Check exclusions - Make sure you haven’t excluded relevant directories
- 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:Why is my filter not working?
Common causes:Syntax Errors
Syntax Errors
Verify CEL expression syntax:
Data Structure
Data Structure
Check the filter input specification to understand available fields.
Boolean Logic
Boolean Logic
Ensure your expression evaluates to true/false:
Performance and Optimization
How can I speed up my scans?
Use Path Exclusions
Use Path Exclusions
Skip irrelevant directories:
Scan Specific Manifests
Scan Specific Manifests
Target only relevant package files:
Use JSON Dump Workflow
Use JSON Dump Workflow
Cache enriched data for repeated analysis:
Parallel Processing
Parallel Processing
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?
Action Version
Action Version
Ensure you’re using the latest version of vet-action:
Permissions
Permissions
Check GitHub token permissions:
Secrets Configuration
Secrets Configuration
Verify required secrets are set if using SafeDep Cloud:
SAFEDEP_CLOUD_API_KEYSAFEDEP_CLOUD_TENANT_DOMAIN
How do I handle false positives in CI?
Use Exceptions
Use Exceptions
Create an exceptions file for known false positives:
Adjust Policies
Adjust Policies
Refine your filter expressions to reduce noise:
Use Warning Mode
Use Warning Mode
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
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:- Pre-cache data using the JSON dump workflow
- Use proxy servers to control external access
- Consider enterprise solutions for offline vulnerability databases
Troubleshooting
Common error messages and solutions
'No manifest files found'
'No manifest files found'
- Check that you’re in the correct directory
- Verify manifest files exist (package-lock.json, requirements.txt, etc.)
- Use
-Mflag to specify files explicitly
'Failed to download vulnerability data'
'Failed to download vulnerability data'
- Check internet connectivity
- Verify firewall/proxy settings
- Try again later (service might be temporarily unavailable)
'Memory limit exceeded'
'Memory limit exceeded'
- Use path exclusions to reduce scope
- Scan smaller directory trees
- Increase available memory in CI/CD
'Invalid filter expression'
'Invalid filter expression'
- 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!

