Five engines.
One scan.
Every VibeScan request runs all five engines in parallel. You get a comprehensive security report in seconds, not hours.
Secret Detection
Gitleaks + BetterleaksTwo engines working in tandem. Gitleaks uses 150+ regex patterns to catch structured secrets — AWS keys, GitHub tokens, Stripe keys, database URLs, and more. Betterleaks uses BPE token entropy scoring to catch high-entropy strings that regex misses — random API keys, generated passwords, base64-encoded credentials.
Findings are deduplicated by fingerprint. You see each secret once, with the engine that found it, the file path,
line number, and a redacted evidence excerpt (secrets replaced with [REDACTED]).
aws-access-token in config.js:14Evidence:
const key = "AKIA[REDACTED]"Fix: Move to environment variable or AWS Secrets Manager.
Static Analysis (SAST)
OpengrepOpengrep is VibeScan's SAST engine — a Semgrep-compatible fork with SARIF output. It runs VibeScan's custom rule packs designed specifically for AI-generated code patterns.
What it catches: SQL injection via string concatenation, XSS via innerHTML/dangerouslySetInnerHTML, command injection via exec/spawn with unsanitized input, eval() usage, open redirects, hardcoded JWT secrets, disabled CORS, permissive file permissions, and debug mode left on in production.
Rules are YAML-based and version-controlled alongside the scanner. You can add your own.
Dependency Audit
OSV.dev
VibeScan parses your manifest files (package.json, requirements.txt, go.mod,
Cargo.toml) and queries OSV.dev — Google's open-source vulnerability database. Every
dependency is checked against known CVEs, GHSAs, and other advisory sources.
Findings include the advisory ID, severity, affected version range, and the minimum fixed version so you know exactly what to upgrade to.
Hallucinated Package Detection
Registry lookup
AI models sometimes invent package names that don't exist — react-auth-helper,
flask-secure-session, packages that sound real but aren't on any registry. Installing a hallucinated
name is a supply chain risk: an attacker can publish a malicious package under that exact name.
VibeScan checks every dependency against the npm or PyPI registry. If a package returns 404, it's flagged as potentially hallucinated. Simple, effective, and unique to AI-generated code.
AI Pattern Rules
VibeScan proprietaryCustom rules that target patterns specifically common in AI-generated code. These go beyond standard SAST — they're tuned for what Claude, GPT-4, Gemini, and other models actually produce.
Examples: app.use(cors()) with no origin restriction,
jwt.sign(payload, "secret") with a literal string key, fs.writeFile with
0o777 permissions, process.env accessed but never validated, Express apps with no rate
limiting, and more.
Three ways to scan
Paste
Paste code directly into Claude or ChatGPT. Fastest path to a scan. Up to 25,000 lines on Pro.
Upload
Upload a .zip or .tar.gz via API or pre-signed URL. Archive hardening (bomb protection, symlink stripping, traversal checks) built in.
GitHub Repo
Connect public repos by URL. Install the GitHub App for private repos. Shallow clone, scan, results — no code retained.