Any security scanning tool may produce false positives, issues that are acceptable for a period of time, or issues that need to be temporarily ignored.Documentation Index
Fetch the complete documentation index at: https://docs.safedep.io/llms.txt
Use this file to discover all available pages before exploring further.
vet supports adding packages to an exceptions list, excluding them from scan results and reports.
Exception Use Cases
False Positives
Suppress known false positive vulnerability reports
Accepted Risk
Temporarily accept specific risks during remediation planning
Legacy Dependencies
Provide time-bound exceptions for legacy systems being migrated
Testing Dependencies
Exclude test-only dependencies from production security policies
Generating Exceptions List
Manual Creation
Create anexceptions.yml file with the following structure:
- The
expiresfield is mandatory and must be in RFC3339 format - The
idfield must be unique and can be any unique string format
Allowed Ecosystems
We currnetly allow these ecosystems: The comparison is case-insensitive, soPyPi, pypi, PyPI are all valid.
For update list, please check vet source code
Automated Generation with vet
Generate exceptions automatically based on filter criteria:Generate Conditional Exceptions
Create exceptions for packages without critical or high severity issues:
Generate Exceptions for All Packages
--exceptions-till is parsed as YYYY-mm-dd and generates a timestamp of 00:00:00 UTC for the specified date in RFC3339 format.Using Exceptions
With vet-action (GitHub Actions)
vet-action supports custom exceptions configuration:Create Exceptions File
Create
.github/vet/exceptions.yml in your repository with your exceptions configurationWith vet CLI
Pass an exceptions file as a global flag tovet:
Exception Behavior
Matching Rules
Package Matching
Package Matching
- All exceptions rules are applied only at the package level
- Comparisons are case-insensitive except for version
- Version field can use
*to match any version
Scope and Application
Scope and Application
- Exceptions are globally managed and shared across packages
- Exempted packages are ignored by all analyzers and reporters
- First match policy applies for exception matching
Expiration Handling
Expiration Handling
- Expired exceptions are automatically ignored
- No exceptions can be created without an expiry date
- System validates expiry dates during processing
Advanced Exception Patterns
Environment-Specific Exceptions
Create different exception files for different environments:Conditional Exception Generation
Generate exceptions based on specific criteria:CI/CD Integration
GitHub Actions Example
Best Practices
Exception Hygiene
Exception Hygiene
- Set reasonable expiration dates (3-6 months maximum)
- Include detailed reasons for each exception
- Review exceptions monthly for relevance
- Remove exceptions when issues are resolved
Documentation
Documentation
- Maintain a change log for exceptions
- Link exceptions to tickets or remediation plans
- Include contact information for exception owners
Governance
Governance
- Require approval for production exceptions
- Implement automated expiry notifications
- Regular security review of all active exceptions
Anti-Patterns to Avoid
vet-action Documentation
Complete configuration guide for GitHub Actions integration
Filtering Guide
Learn how to create effective filter expressions for exceptions
Build Your Own Queries
Use query workflows for exception management
Policy as Code
Implement comprehensive security policies with exceptions

