Skip to main content

Unified security scanner orchestrator for local repos

Project description

VibeGuard CLI

PyPI version Python License: MIT

Unified security scanner orchestrator for local repositories.

Run multiple security scanners with one command, get normalized findings, a security score, and AI-powered fix suggestions.

Features

  • One Command: Run multiple security scanners with vibeguard scan .
  • Normalized Output: Unified findings schema across all scanners
  • Score & Grade: Get a security score (0-100) and letter grade
  • Multiple Output Formats: Terminal, JSON, SARIF, HTML reports
  • Badge Generator: Embed security badges in your README
  • CI-Friendly: Exit codes for automation and threshold checks

Installation

From PyPI (Recommended)

pip install vibeguard-cli

From Source

git clone https://github.com/vibeguard/vibeguard-cli.git
cd vibeguard-cli
pip install -e ".[dev]"

Verify Installation

vibeguard --version
vibeguard doctor

Quick Start

# Check your environment
vibeguard doctor

# Initialize in your project
vibeguard init

# Run a security scan
vibeguard scan .

# Generate SARIF for GitHub Code Scanning
vibeguard scan . --output sarif > results.sarif

# Generate HTML report
vibeguard scan . --output html > report.html

# Generate a badge
vibeguard scan . --badge badge.svg

Commands

Command Description Tier
vibeguard doctor Check environment and scanner availability Free
vibeguard init Initialize VibeGuard in a directory Free
vibeguard scan [path] Run security scanners on a codebase Free
vibeguard report [path] Generate reports from cached scan Free
vibeguard fix [id] Generate copy-paste prompt for LLM Free
vibeguard baseline Manage baselines for regression detection Free
vibeguard patch [id] Generate unified diff via LLM (BYOK) Pro
vibeguard apply <patch> Apply patch with git safety checks Pro
vibeguard live <url> DAST scan on running application Experimental

Output Formats

VibeGuard supports multiple output formats:

Format Flag Description
terminal --output terminal Rich terminal output (default)
json --output json JSON scan results
sarif --output sarif SARIF 2.1.0 for GitHub Code Scanning
html --output html Standalone HTML report

Generate Badge

vibeguard scan . --badge badge.svg

Embed in README:

![Security Score](./badge.svg)

Scanner Packs

Core Pack (Default)

  • Semgrep (SAST multi-language)
  • Gitleaks (secrets detection)
  • Trivy (dependencies/container/IaC)
  • Bandit (Python SAST)
  • TruffleHog v3 (secrets detection)

Ecosystem Pack (Auto-Detected)

  • npm-audit (JavaScript/Node.js)
  • pip-audit (Python)
  • cargo-audit (Rust)

Differentiation Pack

  • Checkov (Infrastructure as Code)
  • Dockle (Container best practices)
  • Nuclei (DAST templates)

Scoring

  • Base: 100 points
  • Deductions: Critical (-20), High (-10), Medium (-5), Low (-2)
  • Category Cap: Max 50 points per category
  • Grades: A+ (≥95), A (≥85), B (≥70), C (≥50), D (≥30), F (<30)

Exit Codes

For CI/CD integration:

Code Meaning
0 Success, no findings
1 Success, findings detected
2 Scan error (partial scan)
3 No cached scan (report command)
4 Configuration error
5 Invalid path
10 Score below threshold

CI Integration Example

# GitHub Actions
- name: Run VibeGuard
  run: |
    pip install vibeguard-cli
    vibeguard scan . --output sarif > results.sarif
  continue-on-error: true

- name: Upload SARIF
  uses: github/codeql-action/upload-sarif@v2
  with:
    sarif_file: results.sarif

Threshold Enforcement

# Exit with code 10 if score is below 80
vibeguard scan . --threshold 80

Pro Features (BYOK)

VibeGuard Pro features use your own LLM API keys (Bring Your Own Key):

# Configure your API key (encrypted locally)
vibeguard keys set openai sk-...

# Generate a patch for a finding
vibeguard patch <finding-id>

# Apply the patch safely
vibeguard apply .vibeguard/patches/<finding-id>.patch

Supported providers: OpenAI, Anthropic, Google, Azure, Mistral, Groq

Contributing

Contributions are welcome! See CONTRIBUTING_SCANNERS.md for adding new scanners.

License

MIT - see LICENSE for details.

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

vibeguard_cli-1.1.8.tar.gz (296.6 kB view details)

Uploaded Source

Built Distribution

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

vibeguard_cli-1.1.8-py3-none-any.whl (177.2 kB view details)

Uploaded Python 3

File details

Details for the file vibeguard_cli-1.1.8.tar.gz.

File metadata

  • Download URL: vibeguard_cli-1.1.8.tar.gz
  • Upload date:
  • Size: 296.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vibeguard_cli-1.1.8.tar.gz
Algorithm Hash digest
SHA256 a4026e991f6737d4ec86711b5f84af7fb499d233086ecbe41f690ee3f71a1717
MD5 621f14b06c9da370378cd80c75444537
BLAKE2b-256 39ae80c2e9ef191cc0dd51c7470fc58b3331a0b5c56ee0ef05099afd9385a8c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibeguard_cli-1.1.8.tar.gz:

Publisher: publish.yml on faheem91/vibeguard-cli-2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vibeguard_cli-1.1.8-py3-none-any.whl.

File metadata

  • Download URL: vibeguard_cli-1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 177.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vibeguard_cli-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b2eb1fa0fd204d43b79fb8015478a98660b4f87dfca9332248b0faf5d4be72f5
MD5 57d82adb3ec2bb48daade9caef92a2c5
BLAKE2b-256 fcfb05fad0985d986e7ef760d87c2f525addca2965dc0abfa8dea48740794f3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibeguard_cli-1.1.8-py3-none-any.whl:

Publisher: publish.yml on faheem91/vibeguard-cli-2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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