Overview
What Gauntlet is, how it fits with Gearbox, and key capabilities.
⚠️ Authorized Testing Only
Gauntlet orchestrates Gearbox which performs active security testing of physical hardware devices and their network interfaces. Testing devices you do not have explicit authorization to assess is illegal under laws including the CFAA (US), CMA (UK), and equivalent legislation worldwide. Always obtain signed Rules of Engagement (RoE) or Statement of Work (SoW) that explicitly covers the physical device under test before beginning any assessment. pr0t31n does not condone unauthorized testing.
🛡️ Sensitive Data Handling
Hardware assessments may capture proprietary firmware, device configurations, network traffic (PCAP), authentication credentials, and other sensitive data. Handle all collected evidence in compliance with your organization’s data protection policies and applicable regulations (GDPR, CCPA, HIPAA, ITAR). Store evidence in encrypted, access-controlled locations. Sanitize or destroy evidence per your data retention policy upon engagement completion.
What is Gauntlet?
Gauntlet is the web-based management platform for hardware security assessments. It wraps Gearbox — the pr0t31n hardware auditing engine — in a Flask/SocketIO dashboard that handles the full assessment lifecycle: project creation, real-time scan orchestration, findings collection, evidence management, and structured export.
Where Gearbox is the engine that drives 30+ testing modules against physical device interfaces (Ethernet, USB, HDMI, serial, RF, and more), Gauntlet provides the structured project management layer on top: defining what to test, tracking what has been tested, and collecting the results.
Key Capabilities
Structured Project Management
Real-Time Gearbox Orchestration
Multi-Device Collaboration
Automated Evidence Parsing
Module Completion Tracking
Findings Management
Export & Import
33+ Color Palettes
Architecture
Gauntlet runs on port 5700 over HTTPS with self-signed TLS. It uses session-based authentication via the shared _auth.py module (bcrypt password hashing, 30-minute sessions, CSRF protection). On first launch, default credentials are generated and printed to the console — you must change them on first login.
The application communicates with Gearbox via protocol tokens printed to stdout: __GB_PROMPT__ (user input requests), __GB_STATUS__ (module progress), __GB_FINDING__ (discovered findings), and __GB_LOG__ (structured log entries). All communication is parsed in real time and broadcast to connected browsers via Socket.IO.
Process Management
Gearbox runs as a sudo subprocess managed by Gauntlet. On termination, Gauntlet sends SIGTERM to the entire process tree (gearbox + all child tools). Gearbox’s signal handler runs cleanup — killing Responder, stopping Nessus scans, reverting DHCP — with a SIGKILL fallback after 8 seconds if cleanup hangs.
Important: Gauntlet never kills the managed tool’s process during a pause. Pause sends a signal that Gearbox handles internally via its checkpoint mechanism.
Data Storage
All project data is stored as files on disk — no database server required:
- Project config:
CLIENT_DEVICE.yaml(Gearbox reads this) - Findings:
findings.jsonl(one JSON object per line) - Deleted findings:
deleted_findings.jsonl(audit trail) - False positives:
falsePositives.json+falsePositives.csv - Risk overrides:
risk_overrides.yaml - Module progress:
progress.json - Logs:
gearbox_log.jsonl,gauntlet_log.jsonl - Errors:
errors.jsonl - Observations:
observations.jsonl
Gauntlet vs. Gearbox
Understanding the division of responsibility:
| Responsibility | Gauntlet | Gearbox |
|---|---|---|
| Project creation & config | ✅ Writes YAML | — Reads YAML |
| Test execution | — Launches process | ✅ Runs 30+ modules |
| Tool invocation (nmap, nuclei, etc.) | — | ✅ Directly invokes tools |
| Interactive prompts | ✅ Renders modal UI | ✅ Emits __GB_PROMPT__ |
| Findings extraction | ✅ Parses uploaded files | ✅ Emits __GB_FINDING__ |
| Evidence management | ✅ Upload, validate, organize | ✅ Writes output files |
| Module progress tracking | ✅ UI + progress.json | ✅ Emits __GB_STATUS__ |
| Multi-device support | ✅ Socket.IO rooms + QR | — |
| Report export | ✅ JSON, ZIP, XLSX | — |