Export & Import
Project export (ZIP/JSON), import methods, Nessus integration, protocol
Export Options
| Format | Description |
|---|---|
| ZIP Export | Downloads entire project directory as a portable ZIP. Includes YAML config, findings, evidence, logs, databases, metadata. Streaming download with explicit Content-Length. Filename: gauntlet-<client>-<device>-<datetime>.zip |
| JSON Export | Structured JSON with full hierarchy: project info, subdevices → interfaces → instances → per-instance photos, subnets, live IPs, ports, screenshots, certificates, findings. Filename: <CLIENT>-<YEAR>-<DEVICE>-export.json |
Import Methods
| Method | Description |
|---|---|
| YAML Path Import | Register an existing Gearbox YAML by providing its absolute path. De-duplicates against registered projects. |
| ZIP Import | Upload a Gauntlet-exported ZIP (up to 4 GB). Extracts to canonical directory. Protected against path traversal. |
| Auto-Discovery | On home page load, scans clients directory for project_meta.json with tool=gearbox and auto-imports unregistered projects. |
Nessus Integration
Set environment variables before starting Gauntlet:
export NESSUS_USER=admin
export NESSUS_PASS=yourpassword
python3 app.pyGauntlet forwards credentials to Gearbox as CLI arguments, ensuring they survive the sudo boundary. Gearbox handles scan creation, launching, polling, and result export. Nessus findings are automatically ingested.
Gearbox Protocol Tokens
| Token | Purpose |
|---|---|
__GB_PROMPT__: | Interactive prompt requiring user input — triggers a modal on all devices |
__GB_STATUS__: | Module progress update (subdevice, interface, instance, module, status) |
__GB_FINDING__: | Security finding — written to findings.jsonl and broadcast to clients |
__GB_LOG__: | Structured log message with severity prefix |
__GB_OBSERVATION__: | Tool observation event with title, description, tool, output file |
Process Management
- Sequential Execution — One Gearbox at a time per server. Additional requests queued.
- Queue Persistence — Saved to
execute_queue.json; survives restarts. Next job auto-starts when current completes. - Graceful Shutdown — SIGTERM → cleanup → SIGKILL (8s). Full process tree via psutil.
- System Cleanup — Kills Responder, stops Nessus, reverts DHCP defaults.