A fully self-contained desktop application for sqlmap — the automatic SQL injection and database takeover tool. Built with Tauri, React, and Rust.
No Python installation required. The app bundles sqlmap + Python as a standalone sidecar binary via PyInstaller.
- Full sqlmap configuration: URL, method, POST data, cookies, custom headers, level, risk, threads, DBMS, techniques, tamper scripts, extra arguments
- Real-time terminal output with smart syntax coloring (
[CRITICAL],[WARNING],[INFO],injectable,Parameter) - Multi-tab: run multiple scans simultaneously with independent config and output per tab
- Interactive stdin: respond to sqlmap prompts (Y/n, etc.) directly in the UI
- Command preview tab
- Findings panel: auto-parses vulnerabilities from output — shows parameter, injection type, title, and payload in structured cards
- Export HTML report: download a styled report with config and color-coded output
- Export Burp XML: export findings as Burp Suite-compatible XML
- Search (Cmd+F): filter output lines with live highlighting
- History: last 50 scans stored in SQLite, click to re-open in a new tab
- Profiles: save, load, and delete named configurations
- Batch scan: paste multiple URLs to launch one tab per target
- Import requests: paste raw HTTP requests from Burp Suite or DevTools — auto-parses URL, method, headers, cookies, body
- Burp XML import: import Burp Suite XML exports directly
- Drag & drop: drop
.txtfiles to open batch scan, drop.req/.httpfiles to import requests
- Light / Dark theme with toggle (persisted)
- Keyboard shortcuts: Cmd+R (run), Cmd+. (stop), Cmd+T (new tab), Cmd+W (close tab), Cmd+F (search), Escape (close modals)
- Resizable panels: drag the border between config and terminal (280px–600px)
- System notifications: macOS notification when a scan completes
- Auto-update: checks GitHub Releases for new versions on startup
- Custom icon: SQL injection-themed app icon
- Rust 1.77+
- Node.js 20+ and pnpm 10+
- Python 3 and PyInstaller (only for building the sidecar)
End users don't need any of these — the built
.app/.dmg/.msi/.debis fully self-contained.
sqlmap-ui/
├── src/ # React frontend
│ ├── App.tsx # Main component (~1100 lines)
│ ├── styles.css # Full dark + light theme
│ ├── main.tsx # React entry point
│ └── vite-env.d.ts
├── src-tauri/ # Rust backend
│ ├── src/lib.rs # Plugin setup, SQLite migrations
│ ├── Cargo.toml # Rust dependencies
│ ├── tauri.conf.json # App config, plugins, sidecar
│ ├── capabilities/ # Shell, notification, SQL, updater permissions
│ ├── binaries/ # sqlmap sidecar (PyInstaller binary)
│ └── icons/ # Custom app icons (all platforms)
├── scripts/
│ └── build-sidecar.sh # Build sidecar for current platform
├── .github/workflows/
│ └── build.yml # CI: multi-platform builds
├── app-icon.png # Source icon (1024x1024)
├── index.html
├── vite.config.ts
├── tsconfig.json
└── package.json
# Clone the repo
git clone <repo-url> sqlmap-ui
cd sqlmap-ui
# Install dependencies
pnpm install
# Build the sidecar (requires Python 3 + PyInstaller + sqlmap cloned nearby)
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git ../sqlmap
pip install pyinstaller
bash scripts/build-sidecar.sh
# Run in development
pnpm tauri dev
# Build for production
pnpm tauri build| Platform | Artifact | Size |
|---|---|---|
| macOS (arm64) | SQLMap UI.app |
~41 MB |
| macOS (arm64) | SQLMap UI_x.x.x_aarch64.dmg |
~34 MB |
| Linux | .deb, .AppImage |
~35 MB |
| Windows | .msi, .exe |
~35 MB |
-
Sidecar binary: sqlmap + Python 3.10 are compiled into a single standalone binary (~30 MB) using PyInstaller. Tauri bundles it inside the
.appas anexternalBin. -
Shell execution: The React frontend uses
Command.sidecar()from@tauri-apps/plugin-shellto spawn the sidecar. stdout/stderr are streamed to the terminal in real time. stdin is writable for interactive prompts. -
Persistence: Scan history and profiles are stored in a SQLite database (
sqlmap-ui.db) via@tauri-apps/plugin-sqlwith automatic schema migrations. -
Multi-tab architecture: Each
ScanTabholds its own config, output, child process reference, and view mode. Tabs are fully independent — you can run 5 scans against different targets simultaneously.
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite 8 |
| Backend | Rust, Tauri 2.10 |
| Database | SQLite (via tauri-plugin-sql) |
| Sidecar | sqlmap 1.10 + Python 3.10 (PyInstaller) |
| CI/CD | GitHub Actions (macOS, Linux, Windows) |
| Package | pnpm 10 |
| Shortcut | Action |
|---|---|
Cmd+R |
Run scan |
Cmd+. |
Stop scan |
Cmd+T |
New tab |
Cmd+W |
Close tab |
Cmd+F |
Search output |
Escape |
Close modals / search |
This project is a UI wrapper. sqlmap itself is licensed under GPLv2.