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.

Metadata

Release files for vulnlogic 2.0.1

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

Source distribution (sdist)

Source distribution for vulnlogic 2.0.1
File Size Uploaded
vulnlogic-2.0.1.tar.gz 17.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vulnlogic 2.0.1
File Interpreter ABI Platform
vulnlogic-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 34.7 kB

Release files / vulnlogic-2.0.1.tar.gz

Download URL vulnlogic-2.0.1.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
25681c38c5b80f15a20c08f91cd5fd7ea06405393e88b9720ffe4135a690693f
BLAKE2b-256 checksum
How to use checksums
66c5a1178924285bce22dfa66d32f14e78fb0a98d4f5dda10e681a23eb83b134
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / vulnlogic-2.0.1-py3-none-any.whl

Download URL vulnlogic-2.0.1-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f300bafe6c3149c344ba728aedef95873b07c059bef0a7116e926e61dc6682e0
BLAKE2b-256 checksum
How to use checksums
09978c9317bb4dc2d96f0f0900646a3403c686ec5c12b546bed31f63243de45f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

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