Overview
The secrets scanner is ZenVeil’s most comprehensive detector. It runs onscan repo and scan github targets and covers two categories:
- Credential patterns — actual secrets that should never appear in source code
- Repository risk patterns — OWASP anti-patterns that create security debt
Credential patterns
These findings are always CRITICAL or HIGH severity. They indicate live credentials committed to source.Example finding
Repository risk patterns
These findings surface OWASP anti-patterns that are common in AI-generated code. Severity ranges from MEDIUM to CRITICAL.Authentication & session management
Authorization
Frontend exposure
Infrastructure
Dependencies
Environment file hygiene
The secrets scanner also checks:.envfile committed (HIGH, 97% confidence) — any.env,.env.local,.env.production, etc. found in the repo.envnot in.gitignore(MEDIUM, 93% confidence) — the.gitignoredoesn’t contain an.envexclusion pattern
Files scanned
The scanner traverses all files in the repository except:node_modules/,.venv/,__pycache__/,.git/- Binary files (images, archives, compiled artifacts)
- Files > 1MB (unlikely to contain useful patterns)
Context-aware severity
Test, fixture, mock, and example files are scanned by default — because real credentials are routinely committed there. Instead of ignoring these files and creating blind spots, ZenVeil detects findings in all files but adjusts severity based on file context.How it works
When a secret is found outside of production code, ZenVeil:- Detects it with the same confidence as a production finding
- Downgrades the severity by one or two tiers
- Appends
(test file),(fixture file), or(example file)to the title - Labels the finding with a context badge in the output
Severity downgrade table
Context classification
Files are classified by their path:Example
--exclude-tests flag: