A secure, sandboxed, cross-platform pentesting desktop console
Rootless is a security-first desktop application that lets you run common pentesting tools like Nmap in isolated environments, without virtual machines, without package conflicts, and without unsafe sudo usage.
One install β one UI β isolated tools β live output.
Traditional pentesting setups are painful and fragile:
- Virtual machines are heavy and slow
- Toolchains conflict with system packages
- Many tools are Linux-only
sudoeverywhere is dangerous- Switching between terminals kills focus
Rootless fixes this by:
- Running tools in OS-level sandboxes
- Keeping the UI completely unprivileged
- Granting only the exact capabilities required
- Streaming output live into a modern UI
- Working toward cross-platform parity
Rootless uses a layered, least-privilege architecture.

Electron UI
β IPC (safe bridge)
FastAPI Orchestrator (Python)
β HTTP + SSE
Go Sandbox Runtime
β exec
Firejail (Linux isolation)
β
Pentesting Tool (Nmap, Gobuster, etc.)
β
Live stdout/stderr streamed back to UI
- Tool selection & presets
- Network interface visibility
- Live streaming output
- No Node.js access
- No command execution
- Validates tool requests
- Maps UI presets β safe commands
- Selects sandbox profiles
- Acts as SSE proxy
- Spawns and supervises tools
- Streams stdout/stderr line-by-line
- Handles process lifecycle safely
- Filesystem isolation
- Network access control
- Capability-based privileges (
net_raw, etc.) - No full root shells
Rootless includes a built-in network awareness panel.
Features:
- Lists all network interfaces
- Shows IPv4 / IPv6 addresses
- Identifies loopback vs real interfaces
- Cross-platform via
os.networkInterfaces() - No shell commands, no parsing hacks
This allows users to:
- Instantly identify local subnets
- Choose correct scan targets
- Avoid accidental scans on the wrong interface
Nmap is not treated as a raw command runner.
- β No free-text flags
- β No
sudoin the UI - β Preset-driven scans
- β Capability-based privileges
- β Live output streaming
Instead of running:
sudo nmap -sS -sV 192.168.1.0/24Users simply:
- Select Nmap
- Choose a scan type (Quick, TCP, Service, Ping)
- Enter a target
- Click Run
Rootless automatically:
- Chooses safe flags
- Selects the correct sandbox profile
- Streams output in real time
All tools stream output live, end-to-end.
- Line-buffered execution
- stdout and stderr handled separately
- Server-Sent Events (SSE)
- No polling
- No fake progress bars
The UI shows exactly what the tool prints, as it happens.
Rootless follows least privilege by default.
- Renderer process cannot execute commands
- Orchestrator only accepts known tools
- Sandbox enforces filesystem isolation
- Network access is explicit
- Raw sockets only when required
- One-way trust flow:
UI β Orchestrator β Sandbox β Tool
A compromised UI does not equal system compromise.
- β Nmap (preset-based, sandboxed)
- β Network interface discovery
- π Gobuster
- π Wireless tooling (monitor mode aware)
- π WASM-based tools
- π Tool profiles & capability tiers
Rootless is actively developed.
Current focus:
- Hardening sandbox profiles
- Improving Nmap UX
- Expanding tool abstractions
- Preparing cross-platform backends (macOS / Windows)
- Interface β auto-fill scan target
- Tool-specific permission warnings
- Saved scan presets
- Tool result export
- App packaging (AppImage / dmg / exe)
This project is early-stage but stable. Ideas, reviews, and security discussions are welcome.
TBD (will be added before first public release)

