Skip to main content

VulnLogic CLI

Free, zero-config API penetration testing from your terminal.

The free tier runs 6 deterministic logic-flaw modules — IDOR, Mass Assignment, Function-Level Auth Bypass, Horizontal Privilege Escalation, Race Condition, and Workflow Bypass — with no signup, no API key, and no manual setup. The CLI automatically creates its own test accounts against your target when you don't supply a token.

A full 63-module platform (SQLi, SSRF, JWT attacks, PDF reports, dashboards) is in development — get notified when it ships.

Never used a terminal before?

No problem — here is everything you need, step by step.

1. Open a terminal.

  • Mac: press Cmd + Space, type Terminal, hit Enter.
  • Windows: press the Windows key, type PowerShell, hit Enter.
  • Linux: press Ctrl + Alt + T.

2. Check if Python is installed. Type this and press Enter:

python3 --version

If you see something like Python 3.11.5, skip to step 4. If you see "command not found," install Python first (step 3).

3. Install Python (only if step 2 failed).

  • Mac: install Homebrew, then run brew install python@3.11.
  • Windows: download Python from python.org/downloads and run the installer — check "Add Python to PATH" during setup.
  • Linux: sudo apt install python3 (Ubuntu/Debian) or sudo dnf install python3 (Fedora).

4. Install VulnLogic:

pip install vulnlogic

5. Run your first scan. Replace the URL with the API you want to test:

vulnlogic scan --free --target "My API" --base-url https://api.yourapp.com --spec openapi.json

Don't have an OpenAPI spec file? Most APIs built with FastAPI, Django REST Framework, or similar frameworks expose one automatically — check /openapi.json or /swagger.json on your API's base URL.

What happens next: VulnLogic automatically creates a couple of throwaway test accounts on your API, then runs 6 security checks. If it finds something, you will see a table listing what it found and how to fix it. If not, you will get a clean "All clear" message.

Install

pip install vulnlogic

Quick Start

# Free scan — zero config, no token needed
vulnlogic scan --free --target myapi --base-url https://api.acme.com --spec openapi.json

That's it. VulnLogic will register its own throwaway test accounts against your target, run all 6 free modules, and report any findings.

Usage

# Free scan — no token, no signup
vulnlogic scan --free -t myapi -u https://api.acme.com -s openapi.json

# Free scan with your own token instead of auto-provisioning
vulnlogic scan --free -t myapi -u https://api.acme.com -s openapi.json --token eyJ...

# IDOR testing with two known accounts (skips auto-provisioning)
vulnlogic scan --free -t myapi -u https://api.acme.com -s openapi.json \
  --token eyJ... --victim-token eyJ...

# JSON output
vulnlogic scan --free -t myapi -u https://api.acme.com -s openapi.json --output json

# CI/CD — SARIF output + exit code 1 on high+ findings
vulnlogic scan --free -t myapi -u https://api.acme.com -s openapi.json \
  --output sarif --output-file results.sarif --fail-on high

# List available modules
vulnlogic modules

GitHub Actions Example

- name: API Security Scan (free tier)
  run: |
    pip install vulnlogic
    vulnlogic scan --free \
      --target ${{ github.repository }} \
      --base-url ${{ secrets.API_URL }} \
      --spec openapi.json \
      --output sarif \
      --output-file vulnlogic.sarif \
      --fail-on high

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

Free Tier Modules

Module What it catches
IDOR Accessing another user's data by changing an identifier
Mass Assignment Injecting protected fields (e.g. admin: true) into a request body
Function-Level Auth Bypass Regular users reaching admin-only endpoints
Horizontal Privilege Escalation Acting on another user's resource via a tampered identity field
Race Condition Concurrent requests bypassing balance/quota checks
Workflow Bypass Skipping required steps in a multi-step process (e.g. refund before payment)

63 modules total are planned for the full platform, covering injection (SQLi, NoSQLi, SSRF, XXE), authentication (JWT attacks), infrastructure (CORS, GraphQL, HTTP smuggling), file upload, cryptography, WebSocket, and multi-tenant isolation — join the waitlist to get notified when they ship.

Download files

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

Source Distribution

vulnlogic-2.0.1.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

vulnlogic-2.0.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file vulnlogic-2.0.1.tar.gz.

File metadata

  • Download URL: vulnlogic-2.0.1.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for vulnlogic-2.0.1.tar.gz
Algorithm Hash digest
SHA256 25681c38c5b80f15a20c08f91cd5fd7ea06405393e88b9720ffe4135a690693f
MD5 9e794ea911dbe0b98443d39ea3a62821
BLAKE2b-256 66c5a1178924285bce22dfa66d32f14e78fb0a98d4f5dda10e681a23eb83b134

See more details on using hashes here.

File details

Details for the file vulnlogic-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: vulnlogic-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for vulnlogic-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f300bafe6c3149c344ba728aedef95873b07c059bef0a7116e926e61dc6682e0
MD5 0ef19ee4df0ae3d33070357fcce942c2
BLAKE2b-256 09978c9317bb4dc2d96f0f0900646a3403c686ec5c12b546bed31f63243de45f

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 Sentry Error logging StatusPage Status page