Security scanner for vibe-coded apps — catch what Copilot ships and Snyk overcharges for
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibecheck_ai-0.3.0.tar.gz.
File metadata
- Download URL: vibecheck_ai-0.3.0.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1023241f35c4d5443554a86cabb16c15a3198922c17de47b5b7671a801c90f2
|
|
| MD5 |
b81a311c68072790d8f17902f4c8bd44
|
|
| BLAKE2b-256 |
ed0077aa219036de279805b908a1fcbe801e45ceeb5b3bd96823eb025cf88741
|
File details
Details for the file vibecheck_ai-0.3.0-py3-none-any.whl.
File metadata
- Download URL: vibecheck_ai-0.3.0-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
798afa4edaa75a454d4056c65b551a1b4cd5cbe63f4a652b1b6a54a72b1ab9eb
|
|
| MD5 |
6b06bf964e56b7793f3c73ce0eb97815
|
|
| BLAKE2b-256 |
c88530502761ff14778d61b8134fa45029b6fd9bc440b7406dace4ce90a27ca3
|