Oubliette Warden
Safety-gated, human-on-the-loop multi-agent framework for authorized cyber operations.
Oubliette Warden coordinates a team of AI agents to run authorized defensive cyber and penetration-testing workflows end to end — planning, reconnaissance/analysis, code generation & execution, and vulnerability research — with every tool invocation gated by the Oubliette Shield safety pipeline and every action reviewable by a human operator before it runs.
Part of the Oubliette platform — Shield defends · Dungeon attacks · Trap traps · Warden operates.
⚠️ Authorized use only
Warden can drive real offensive tooling (e.g. nmap, Metasploit). It is intended solely for authorized security testing on systems you own or are explicitly contracted to assess. Use is gated by a mandatory safety pipeline and human approval. Operating it against systems without authorization may violate the CFAA and other laws. Commercial licensing is sold under terms that require authorized-use attestation.
The agents
- Planner — turns a high-level objective into an ATT&CK-aligned task graph.
- Cyber Analysis — ingests scan/recon output (e.g. Nmap XML) into ranked, evidence-backed findings.
- Code Generation & Execution — emits parameterized tool invocations (nmap / Metasploit); every command passes the Shield safety gate before it runs, inside an emulated range (e.g. MITRE CALDERA).
- Vulnerability Research — citation-bound RAG over an NVD corpus with evidence-integrity enforcement.
- Operator UI — human-on-the-loop review/approve/reject of every agent action, with an audit trail.
Install
pip install oubliette-warden # core
pip install "oubliette-warden[research]" # + RAG research backends (Qdrant, Ollama)
Quickstart
Plan, then see what the safety pipeline would decide — before anything runs:
oubliette-warden plan --intent "scan for vulnerabilities on 10.50.0.0/24" -o plan.json
oubliette-warden gate --plan plan.json
plan writes a task graph you can read, edit, diff, and keep. Tasks are emitted
unapproved, so a fresh plan does not run:
recon-2e50cb95 DENY nmap -sV -sC --script default ... 10.50.0.0/24
- off-plan: task not in human-approved baseline
...
0 of 3 executable task(s) would proceed; 3 blocked; 1 node(s) have no command.
Nothing was executed.
gate never executes anything — it exists so an operator sees the decision
before a command touches a target. It exits non-zero when the plan would not
run, so CI and scripts can branch on it.
--approve-all answers "would this plan be sound if approved?". Those approvals
are local what-if only and grant nothing; real approval is an operator record in
the review queue.
oubliette-warden serve # review/audit API
oubliette-warden demo # the original screencast narrative
There is deliberately no run command yet: real execution needs an agreed
policy for which adapters may run in which environment, and inventing that
quietly is how a safety-gated framework grows an ungated path.
Safety model
- The CodeGen agent never executes directly — it proposes a command.
- The command passes the 5-stage safety pipeline, with
plan_consistencyrunning first and failing closed: a command carrying no plan attribution is denied as unattributable, so nothing executes outside an approved plan. - A human operator approves it in the Operator UI before execution.
- Execution is confined to an authorized/emulated target; everything is audit-logged and replayable.
That guarantee holds on the default pipeline. evaluate(pipeline=[...])
composes an explicit pipeline and bypasses the attribution stage by design (used
by unit tests targeting downstream stages); it logs a warning rather than
silently changing behaviour, and no production caller does it.
License
Apache-2.0 (code). Commercial/Enterprise licensing and authorized-use terms via oubliettesecurity.com.
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 oubliette_warden-0.2.0.tar.gz.
File metadata
- Download URL: oubliette_warden-0.2.0.tar.gz
- Upload date:
- Size: 100.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f50b9d3762348f0bd8a0d9c48538ffa1ee38f0921da39bae212785d370e552d
|
|
| MD5 |
8966629f8c8b05bf41e4841f2427727b
|
|
| BLAKE2b-256 |
bc2543beb25bc9fbfb4ec22cbb5396c05c4dafa9b1999996734cb59e9c3f7b62
|
File details
Details for the file oubliette_warden-0.2.0-py3-none-any.whl.
File metadata
- Download URL: oubliette_warden-0.2.0-py3-none-any.whl
- Upload date:
- Size: 79.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
194dde6931a9308c82135ac42beb58f9689f0e6f1a6340dd94e33852027347fa
|
|
| MD5 |
91bb90953e5d8d9f456a348377909b7c
|
|
| BLAKE2b-256 |
865b5a48ac7867bec1d2707ff6ec5cbd3b99ca13b5a7a40de7ce3c7fa6cd0f97
|