VibeCheck
Security scanner for vibe-coded apps. Catch what Copilot ships and Snyk overcharges for.
pip install vibecheck-ai
vibecheck scan .
What it catches
- Hardcoded secrets — AWS keys, API tokens, database URLs, private keys (16 patterns)
- SQL injection — f-strings and string concatenation in execute() calls
- Command injection — eval(), exec(), os.system(), subprocess with shell=True
- XSS vectors — dangerouslySetInnerHTML, document.write(), eval() in JS
- Missing auth — FastAPI/Express routes without authentication middleware
- Insecure config — DEBUG=True, CORS wildcard, insecure cookies
- Exposed .env — real secrets in .env files, missing .gitignore entries
Usage
# Scan current directory
vibecheck scan .
# Scan specific path
vibecheck scan ./src
# JSON output (for CI/CD)
vibecheck scan . --format json
# Only show critical and high
vibecheck scan . --severity high
# Quiet mode (summary only)
vibecheck scan . --quiet
Exit codes
0— No critical or high findings1— Critical or high findings detected2— Scanner error
Supported languages
- Python (.py)
- JavaScript (.js, .jsx)
- TypeScript (.ts, .tsx)
- Environment files (.env)
- Config files (.json, .yaml, .toml)
Ignore patterns
Create a .vibeignore file in your project root:
# Skip test fixtures
tests/fixtures/*
# Skip generated code
generated/*
GitHub Action
Add to .github/workflows/vibecheck.yml:
name: VibeCheck
on: [push, pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install vibecheck-ai
- run: vibecheck scan .
For GitHub Code Scanning integration (findings appear inline on PRs):
- run: vibecheck scan . --format sarif > vibecheck.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: vibecheck.sarif
Why VibeCheck?
53% of teams that shipped AI-generated code discovered security issues that passed review. The vibe coding era needs a security scanner that's:
- Fast — scans in milliseconds, not minutes
- Offline — no API calls, no code leaving your machine
- Free — open source, zero dependencies
- Focused — catches real issues, not style nits
License
MIT
Release files for vibecheck-ai 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vibecheck_ai-0.3.0.tar.gz | 18.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vibecheck_ai-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.1 kB
Release files / vibecheck_ai-0.3.0.tar.gz
| Download URL | vibecheck_ai-0.3.0.tar.gz |
|---|---|
| Size | 18.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e1023241f35c4d5443554a86cabb16c15a3198922c17de47b5b7671a801c90f2
|
|
BLAKE2b-256 checksum How to use checksums |
ed0077aa219036de279805b908a1fcbe801e45ceeb5b3bd96823eb025cf88741
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / vibecheck_ai-0.3.0-py3-none-any.whl
| Download URL | vibecheck_ai-0.3.0-py3-none-any.whl |
|---|---|
| Size | 26.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
798afa4edaa75a454d4056c65b551a1b4cd5cbe63f4a652b1b6a54a72b1ab9eb
|
|
BLAKE2b-256 checksum How to use checksums |
c88530502761ff14778d61b8134fa45029b6fd9bc440b7406dace4ce90a27ca3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|