vibecheck

VULNERABILITY REFERENCE

Security vulnerability guides for vibe-coded apps

Plain-English explanations of every issue vibecheck detects — what the vulnerability is, how to confirm you're affected, and exactly how to fix it. Written for developers using AI coding tools, not security engineers.

63 checks total63 guides published

SECRETS & EXPOSURE

6 checks

Credentials, keys, and secrets that leak into your codebase or client bundle.

Hardcoded API keys & tokens
CRITICAL→
NEXT_PUBLIC_ secret exposure
CRITICAL→
JWT weak / hardcoded secrets
CRITICAL→
Verbose error responses leaking stack traces
MEDIUM→
Dockerfile secrets in ENV / ARG
HIGH→
Secrets interpolated into AI prompt strings
HIGH→

ACCESS CONTROL

7 checks

Who can read or modify your data — and who shouldn't be able to.

Supabase RLS disabled
CRITICAL→
Supabase service_role key in client-accessible code
CRITICAL→
Unauthenticated API routes
HIGH→
Mass assignment (req.body spread into DB)
HIGH→
CORS misconfiguration (wildcard / reflected origin)
HIGH→
IDOR — missing ownership checks on resource IDs
HIGH→
GraphQL introspection enabled in production
MEDIUM→

INJECTION

8 checks

User input reaching code execution, query parsing, or template rendering.

SQL injection
CRITICAL→
NoSQL injection (MongoDB)
HIGH→
Command injection
CRITICAL→
Server-side template injection (EJS, Pug, Handlebars)
CRITICAL→
XSS — stored, reflected, DOM
HIGH→
CRLF injection in HTTP response headers
HIGH→
CSV formula injection
MEDIUM→
Prototype pollution
HIGH→

SERVER-SIDE

6 checks

Server-level vulnerabilities that let attackers reach internal systems or files.

SSRF + cloud metadata endpoint access
CRITICAL→
Path traversal
HIGH→
Open redirect
HIGH→
Insecure file upload (no type validation)
HIGH→
Host header injection
HIGH→
TLS certificate verification disabled
HIGH→

AUTH & SESSIONS

6 checks

Authentication and session management weaknesses that let attackers impersonate users.

Timing-unsafe token comparison
HIGH→
Auth endpoints missing rate limiting
HIGH→
OAuth state validation missing (CSRF)
HIGH→
Webhook handler missing signature verification
HIGH→
Insecure password hashing (MD5 / SHA-1)
HIGH→
Math.random() for token generation
HIGH→

NODE / FRAMEWORK

6 checks

Node.js and framework-level misconfigurations common in AI-generated scaffolding.

Missing security headers (CSP, HSTS, X-Frame-Options)
MEDIUM→
ReDoS — user input passed to RegExp constructor
HIGH→
Code injection via eval() / new Function()
CRITICAL→
Dependency CVEs (npm audit)
HIGH→
Express trust proxy misconfiguration
MEDIUM→
GitHub Actions script injection
CRITICAL→

AI / LLM APPS

3 checks

Security risks specific to apps that integrate large language models.

LLM output passed to eval / exec / SQL
CRITICAL→
Prompt injection sinks in user-facing features
HIGH→
Missing AI output validation
MEDIUM→

OPS & RELIABILITY

5 checks

Configuration gaps that make incidents harder to detect and recover from.

Missing health check endpoint
LOW→
Dockerfile missing HEALTHCHECK instruction
LOW→
Destructive SQL migration (DROP / TRUNCATE without backup)
HIGH→
.env files not excluded in .gitignore
HIGH→
Deployment config security (vercel.json, fly.toml, railway)
MEDIUM→

SUPPLY CHAIN

6 checks

Indicators that a dependency or workflow has been compromised.

Lifecycle scripts with shell execution (postinstall, prepare)
HIGH→
Dependencies from non-registry sources (git:, file:, http:)
MEDIUM→
Obfuscated code — eval of base64 / hex payload
HIGH→
Binary executables committed to repository
HIGH→
GitHub Actions permission escalation (write-all, id-token: write)
HIGH→
External Actions not pinned to a commit SHA
LOW→

AI AGENT INJECTION

5 checks

Covert instructions hidden in files AI coding agents read — targeting the agent itself.

"Ignore previous instructions" in CLAUDE.md / README / AGENTS.md
CRITICAL→
Hidden instructions in HTML comments
HIGH→
Unicode direction-override characters hiding text
HIGH→
MCP server config executing shell commands on startup
HIGH→
MCP server connecting to a remote endpoint
MEDIUM→

REPOSITORY TRUST

5 checks

Code-execution traps set in a repository that trigger before any review — targeting developers and AI coding agents the moment they clone or open the repo.

Committed git hooks with shell execution (post-checkout, post-merge)
CRITICAL→
Dangerous git config: core.hooksPath, url.insteadOf, filter.smudge
HIGH→
Devcontainer lifecycle hooks with suspicious commands
HIGH→
Setup/install scripts with curl-pipe-to-shell patterns
HIGH→
Submodule URLs pointing to non-standard or suspicious hosts
MEDIUM→

FREE SCAN

Scan your repo for all 54 checks in one go

Connect your GitHub repo — vibecheck runs Gitleaks, Semgrep, njsscan, and 50 custom checks, then Claude explains every finding in plain English. Free for 2 repos.

scan my repo for free →