Skip to main content

VibeScan

Security scanner for AI-generated (vibe-coded) code

License: MIT Python 3.9+ GitHub Actions


The Problem

AI coding tools (Cursor, Claude, Copilot) generate code fast — but 45% of it has security vulnerabilities (Veracode 2025). Existing scanners (GitLeaks, TruffleHog) scan for secrets only. They miss what VibeScan catches.


Architecture

Structure

Features

Feature Status
14 secret patterns (AWS, OpenAI, GitHub, Stripe, JWT, DB URLs…) ✅
Shannon entropy detection (unknown tokens) ✅
22 AI-specific vulnerability patterns ✅
Live secret validation (GitHub + OpenAI tokens) ✅
Auto-fix suggestions with safe code snippets ✅
Git hooks (block push on CRITICAL) ✅
GitHub Actions PR bot ✅
HTML report + Security dashboard (0–100 score, A–F grade) ✅
Config file with allowlist & baseline ✅
Zero cost · Works offline · MIT license ✅

Quick Start

# Install — one time
pip install vibescan-ai

# Scan any project
vibescan scan .

# Save HTML report
vibescan scan . -o report.html

Output: File | Line | Issue | Risk | Match in a colorful Rich table.


📸 Screenshots

Feature Image
Terminal Output
HTML Report
Security Dashboard

Demo

VibeScan v1 Demo | VibeScan v2 Demo


Usage

# Scan current folder
vibescan scan .

# Scan specific folder
vibescan scan path/to/your/project

# HTML report
vibescan scan . -o report.html

# Security dashboard (0-100 score + A-F grade)
vibescan scan . -d dashboard.html

# JSON export (CI/CD integration)
vibescan scan . -j results.json

# Fast scan — secrets only, skip AI patterns
vibescan scan . --no-vibe

# Fail on critical (exit code 1 for CI/CD)
vibescan scan . --fail-on-critical

# Verify if detected secrets are live or revoked
vibescan scan . --validate

Detected Issues

Secrets

AWS Access Key · AWS Secret Key · OpenAI API Key · GitHub Token / OAuth / PAT · Google API Key · JWT Token · Database URL (PostgreSQL / MongoDB / MySQL / Redis) · Generic API Key · Generic Password · Private Key · Stripe Secret / Test Key · Slack Token · Hardcoded .env values

AI-Specific Vulnerabilities

Prompt injection · Unvalidated LLM input · Password / token logged · subprocess with shell=True · os.system() · Path traversal · .env served in route · Hardcoded admin credentials · Weak random module · yaml.load() · pickle.loads() · Missing rate limit on auth · Unvalidated file upload · Missing auth check · SQL injection via f-strings · Debug mode in production · CORS wildcard · Direct .env read · eval() usage


Why VibeScan Over GitLeaks?

Feature GitLeaks VibeScan
Secret detection ✅ ✅
Entropy analysis ❌ ✅
AI-specific patterns ❌ ✅
Missing auth detection ❌ ✅
SQL injection check ❌ ✅
Auto-fix suggestions ❌ ✅
GitHub Actions / PR bot ❌ ✅
Security dashboard ❌ ✅
Cost Free Free

Tech Stack

Python · Click · Rich · Jinja2 · Regex · Shannon Entropy · GitHub Actions


Installation (from source)

git clone https://github.com/tanikush/vibescan.git
cd vibescan
pip install -r requirements.txt
pip install -e .

Contributing

Pull requests are welcome. For major changes, open an issue first to discuss what you would like to change.

  1. Fork it
  2. Create your feature branch (git checkout -b feature/my-change)
  3. Commit your changes (git commit -m 'Add: my new feature')
  4. Push the branch (git push origin feature/my-change)
  5. Open a Pull Request

License

MIT — see LICENSE for details. Free forever. No license fees. No cloud lock-in.

Release files for vibescan-ai 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vibescan-ai 1.0.0
File Size Uploaded
vibescan_ai-1.0.0.tar.gz 3.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for vibescan-ai 1.0.0
File Interpreter ABI Platform
vibescan_ai-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 MB

Release files / vibescan_ai-1.0.0.tar.gz

Download URL vibescan_ai-1.0.0.tar.gz
Size 3.4 MB
Tags Source
SHA-256 checksum
How to use checksums
00c35a8708d6e3cf8c5ea99d802c4dcdf89685046bf5359318f0dbd8c9a82a87
BLAKE2b-256 checksum
How to use checksums
160504485b9ad4a721bcdadb55ff7d30ea952f1d59bada3f078825480d1a96c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release files / vibescan_ai-1.0.0-py3-none-any.whl

Download URL vibescan_ai-1.0.0-py3-none-any.whl
Size 3.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1bb8915fc9d09088d8cab71a4818328a2668be06e3866fa52d5550ca9211bd97
BLAKE2b-256 checksum
How to use checksums
1bfd830cb654ac42b52b0812ee297bb20e06614ee526ac8b010db710fcfe4182
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page