Scan an AI-agent repo and emit runtime-supervisor wrappers, policies, and combo playbooks.
Project description
supervisor-discover
CLI scanner for AI-agent repos. Walks the source tree, finds the unsafe call-sites your LLM can fire (Stripe refunds, DB DELETEs, shell exec, file writes, agent orchestrator chokepoints, prompt injection vectors), and emits a runtime-supervisor/ directory with the diagnosis + ready-to-paste guard wrappers + base policies.
This is the same scanner that powers the public scan flow at vibefixing.me/scan. The CLI runs locally so your code never leaves your machine.
Install
pipx install supervisor-discover # recommended — keeps it isolated
# or
pip install supervisor-discover
Use
supervisor-discover scan --path /path/to/your/repo
This drops a runtime-supervisor/ directory next to your code:
runtime-supervisor/
├── SUMMARY.md Human-readable diagnosis: stack, top risks, agent map
├── report.md Per-tier finding tables (money / real-world / data / LLM)
├── ROLLOUT.md Step-by-step plan: shadow → sample → enforce
├── findings.json Raw findings (machine-readable; same shape the web shows)
├── combos/ Multi-step attack paths detected (e.g. LLM → fs-write)
│ ├── llm-shell-exec.md
│ └── ...
├── policies/ Base YAML policies you can promote to production
│ ├── payment.base.v1.yaml
│ └── ...
└── stubs/ Copy-paste wrapper code per finding family
└── ...
What it scans
Six tiers, ordered by blast radius:
| Tier | What | Examples |
|---|---|---|
| Money movement | Direct charges / refunds / payouts | stripe.refunds.create, paypal.payouts.create |
| Real-world actions | Side effects an LLM can fire | twilio.messages.create, smtplib.SMTP.send, subprocess.run, fs.unlink |
| Customer data | Mutations on tables that contain humans | UPDATE users SET ..., DELETE FROM customers |
| Business data | Mutations on operational tables | UPDATE orders SET ..., DELETE FROM trades |
| LLM tool-use | Agent calls + framework chokepoints | LangChain executors, MCP tool dispatchers, Anthropic/OpenAI clients |
| General | HTTP routes + cron schedules (informational) | FastAPI routers, Celery beat |
Combos: multi-step attack paths
Beyond single findings, the scanner detects pairs that together are dangerous:
- LLM + filesystem write — your agent can rewrite its own prompt or your config files
- Voice clone + outbound call — ElevenLabs + Twilio = social-engineering by phone
- LLM + shell-exec — RCE through prompt injection
- Agent orchestrator + tool registration — the choke point: one wrap covers all tools
Each combo gets its own playbook in runtime-supervisor/combos/ with the minimum guard and the ideal guard.
How this fits with the rest of the product
supervisor-discover (this CLI) ← diagnoses your repo, free, runs locally
↓
@runtime-supervisor/guards (npm) ← drops 5 lines of wrappers into your code
supervisor-guards (PyPI)
↓
runtime-supervisor backend ← evaluates each call against policies + threats
(self-host or vibefixing.me hosted)
↓
dashboard at vibefixing.me/dashboard ← shadow / sample / enforce, review queue, audit chain
The CLI is open-source (Apache-2.0). The hosted backend + dashboard are at vibefixing.me — Builder ($29/mo) unlocks private repo scans, scan history, and CI integration.
Self-host
If you'd rather not point your shadow events at our hosted supervisor, you can run the whole stack locally with Docker (see the main repo). The SDK accepts SUPERVISOR_BASE_URL=http://localhost:8000 and the same wrapper code keeps working.
License
Apache-2.0. Copyright 2026 Ariel San Martín.
Project details
Release history Release notifications | RSS feed
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 supervisor_discover-0.3.0.tar.gz.
File metadata
- Download URL: supervisor_discover-0.3.0.tar.gz
- Upload date:
- Size: 139.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b43f66ac731f03397d5465304d92f958aac68f204ba376574fc601d5adccb926
|
|
| MD5 |
aee1d7a49a2f068af041a0fb764b037e
|
|
| BLAKE2b-256 |
dcd3741472850768c3a03caa8b2fd0327998beead4f5aa56ae224b9cf687dec4
|
File details
Details for the file supervisor_discover-0.3.0-py3-none-any.whl.
File metadata
- Download URL: supervisor_discover-0.3.0-py3-none-any.whl
- Upload date:
- Size: 133.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d07755963b68ac5057ee6ca516b09ab7f2141b8102903e38b0e5a33481112fe8
|
|
| MD5 |
56ec297e1d7a80c4c0a0c89fafd420bb
|
|
| BLAKE2b-256 |
6eb5b008f1fddbf10772b5808dc6bc87b30226179030062495a3a1e9351b6eec
|