vexa-cli
Autonomous Self-Healing Security Platform — CLI
Vexa scans your code for CVEs and security issues, shows you exactly what's wrong, and fixes it — with your approval.
pip install vexa-cli
Quick start
# Scan current directory
vexa scan
# Scan a specific local project
vexa scan ./my-app
# Scan a GitHub repo (read-only report, no file writes)
vexa scan https://github.com/owner/repo
# Apply all fixes without prompting
vexa scan ./my-app --yolo
# Full security report for a previous scan
vexa report <scan-id>
# List recent scans
vexa list
What it does
Local scan — full read+write access after a trust prompt:
- Detects CVEs in all dependencies via OSV.dev
- Scans source files for hardcoded secrets, CORS issues, injection patterns
- Shows red/green diffs before every change
- Interactive
[y/n/a/s]per fix, or--yoloto apply everything
+----------------------------------------------------------+
| Vexa wants access to your project |
+----------------------------------------------------------+
[READ ] all source files and dependency manifests
[WRITE] patch dependency files
[WRITE] fix hardening issues in source files
Every change will be shown and requires your approval.
Trust Vexa with 'my-app'? [y/n] > y
[CRITICAL] axios@0.21.1 → 1.7.9
@@ -8 +8 @@
- "axios": "0.21.1",
+ "axios": "1.7.9",
Apply? [y/n/a/s] › y
GitHub URL scan — read-only report, no file writes:
- Scans the repo and prints findings
- Use
vexa report <scan-id>for the full executive summary
Requirements
Vexa CLI talks to a Vexa server. Point it at your deployment:
export VEXA_API_URL=https://your-vexa-server.com
vexa scan ./my-app
For local development with Docker:
# Clone and start the server
git clone https://github.com/vexa-ai/vexa
cd vexa
docker compose up -d
# Then scan
export VEXA_API_URL=http://localhost:8000
export VEXA_WORKSPACE_HOST=$HOME # folder mounted into the worker container
vexa scan ./my-app
GitHub Actions
Add Vexa to your CI/CD pipeline — posts inline PR review comments, sets commit status checks, blocks merge on critical CVEs:
# .github/workflows/vexa.yml
- name: Vexa Security Scan
env:
VEXA_API_URL: ${{ secrets.VEXA_API_URL }}
run: |
pip install vexa-cli
vexa scan https://github.com/${{ github.repository }}
Environment variables
| Variable | Default | Description |
|---|---|---|
VEXA_API_URL |
http://localhost:8000 |
Vexa server URL |
VEXA_WORKSPACE_HOST |
~ (home dir) |
Host folder mounted into worker at /workspace |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vexa_scan-0.1.0.tar.gz.
File metadata
- Download URL: vexa_scan-0.1.0.tar.gz
- Upload date:
- Size: 65.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03eee120d729280392f9c3ebf5c40cae52dc6998c50bd718d3ac401ba6fd1f83
|
|
| MD5 |
94d7eedb59ec9b88e8f956afb0f98159
|
|
| BLAKE2b-256 |
893184939ed17e83ac58e6be99d31ab1cb3e2c360513dfb641a101b423ed88a8
|
File details
Details for the file vexa_scan-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vexa_scan-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
859ebb5c4b6240343e2e559d22c3b700a224c05ab43d4500cd21510384a38d78
|
|
| MD5 |
a716c416c78d99ddba4b6250b5b45589
|
|
| BLAKE2b-256 |
33bc3be7981f1fc0c71e679ef08ed0e369f6ded3aacd129dad7f7b4a4bd41a20
|