Professional WebSocket security scanner with real vulnerability verification, session hijacking tests, and CVSS scoring
Project description
WSHawk โ Enterprise-Grade WebSocket Security Scanner & Web Penetration Testing Toolkit
WSHawk is an enterprise-grade, open-source WebSocket security scanner built for professional penetration testers, security engineers, bug bounty hunters, and red teams. It performs automated vulnerability assessment over WebSocket connections โ detecting SQL injection, XSS, command injection, XXE, SSRF, NoSQL injection, and path traversal โ using an adaptive Smart Payload Evolution (SPE) engine with real-time feedback loops, genetic payload mutation, and intelligent WAF bypass capabilities.
Starting with v3.0.3, we've integrated a Headless DOM Invader powered by Playwright for real browser-based XSS verification and complex SSO auth flow recording/replay. Also includes a Context-Aware Heuristic Engine and WSHawk Browser Companion for seamless handshake interception.
[!IMPORTANT] Full Documentation:
- ๐ฆ WSHawk V3: Complete Enterprise Guide โ Architecture, scanning engine, configuration
- ๐ป WSHawk Desktop: Full Reference Manual โ All 22 tools, API reference, build guide
Why WSHawk โ Enterprise Security Features
- Smart Payload Evolution โ Genetic algorithm that mutates and evolves payloads based on server responses, WAF blocks, and timing signals
- 22,000+ attack payloads across 11 categories (SQLi, XSS, CMDi, XXE, SSRF, NoSQLi, LFI, SSTI, LDAP, open redirect, CSV injection)
- Real browser-based XSS verification via Playwright โ confirms actual script execution, not just pattern matching
- Blind vulnerability detection via OAST callbacks โ catches XXE, SSRF, and DNS exfiltration that response-only scanners miss
- Full-duplex WebSocket interceptor โ MitM proxy with frame-by-frame forward, drop, and edit (similar to Burp Suite)
- Session hijacking analysis โ Token reuse, session fixation, privilege escalation, and impersonation testing
- 22 web pentest tools โ Crawler, fuzzer, port scanner, subdomain finder, WAF detector, CORS tester, SSL analyzer, and more
- WAF-aware mutation engine โ 8 bypass strategies (encoding, case variation, comment injection, polyglot, tag breaking)
- CVSS v3.1 scoring โ Industry-standard risk assessment for all findings
- Enterprise integrations โ Auto-push findings to Jira, DefectDojo, Slack, Discord, and Microsoft Teams
- Professional reporting โ HTML, JSON, PDF, CSV, and SARIF export formats
- Native desktop app โ Electron + Python hybrid with real-time streaming results on Linux, Windows, and macOS
Enterprise WebSocket Vulnerability Scanner
WSHawk's core engine performs enterprise-grade, stateful, bidirectional WebSocket security testing. Unlike traditional DAST scanners that only handle HTTP request-response, WSHawk maintains persistent WebSocket connections and analyzes asynchronous responses that may arrive long after the attack payload is sent โ critical for real-world financial, healthcare, and SaaS applications.
Vulnerability Detection
| Category | Technique |
|---|---|
| SQL Injection | Error-based, time-based (SLEEP/WAITFOR), boolean-based blind |
| Cross-Site Scripting (XSS) | Reflection analysis, context detection, DOM sink identification, browser verification |
| Command Injection | Timing attacks, command chaining (&&, |, ;), out-of-band detection |
| XML External Entity (XXE) | Entity expansion, OAST callback detection, parameter entities |
| Server-Side Request Forgery (SSRF) | Internal IP probing, cloud metadata access, DNS rebinding |
| NoSQL Injection | MongoDB operator injection ($gt, $ne, $regex, $where) |
| Path Traversal / LFI | File content markers (/etc/passwd, win.ini), encoding bypass |
Smart Payload Engine
The SPE system adapts attack payloads in real-time:
- Context Generator โ Detects message format (JSON, XML, plaintext) and generates payloads matching the target's protocol schema
- Feedback Loop โ Analyzes server signals (errors, reflections, timing anomalies, WAF blocks) and adjusts strategy dynamically
- Payload Evolver โ Genetic algorithm that crossovers and mutates successful payloads to discover novel WAF bypasses
Web Application Penetration Testing Toolkit (Enhanced in v3.0.2)
The WSHawk Desktop application now ships with 22 HTTP security tools organized into six phases. We're building this out alongside the WebSocket scanner to give pentesters a single interface for both WebSocket and HTTP assessments.
Reconnaissance & Discovery Tools
| Tool | Description |
|---|---|
| Web Crawler | BFS spider with form extraction, API endpoint discovery, robots.txt and sitemap.xml parsing |
| Subdomain Finder | Passive enumeration via crt.sh (Certificate Transparency) and AlienVault OTX, plus active DNS brute-forcing with resolution validation |
| Technology Fingerprinter | Identifies 35+ technologies (Nginx, Apache, WordPress, React, Cloudflare, etc.) from headers, cookies, and page content |
| DNS / WHOIS Lookup | Full record enumeration (A, AAAA, MX, NS, TXT, CNAME, SOA, SRV, CAA) with WHOIS registration data |
| TCP Port Scanner | Async connect scanner with service identification, banner grabbing, and preset port lists (top-100, web, database, full) |
Vulnerability Scanning Tools
| Tool | Description |
|---|---|
| HTTP Fuzzer | Parameter fuzzing with ยงFUZZยง markers, built-in wordlists, encoding options (URL/Base64/Hex), and heuristic vuln detection |
| Directory Scanner | Path brute-forcing with extension permutation, recursive scanning, custom wordlists (up to 50K entries), and WAF-evasion throttling |
| Automated Vulnerability Scanner | Multi-phase orchestrator: Crawl โ Header Analysis โ Directory Scan โ Fuzz โ Sensitive Data Scan, with auto-escalation (SQLi โ LFI chaining) |
| Security Header Analyzer | Evaluates HSTS, CSP, X-Frame-Options, X-Content-Type-Options, CORS, Server, and X-Powered-By with risk ratings |
| Sensitive Data Finder | Regex detection for 30+ secret types โ AWS keys, Google API keys, JWTs, GitHub tokens, database connection strings, internal IPs |
Offensive Security Tools
| Tool | Description |
|---|---|
| WAF Detector | Passive and active fingerprinting of 15+ WAFs (Cloudflare, AWS WAF, Akamai, Imperva, Sucuri, ModSecurity, F5 BIG-IP) |
| CORS Misconfiguration Tester | Probes 6 attack patterns โ wildcard origin, null origin, subdomain suffix attack, domain prefix injection, HTTP downgrade |
| SSL/TLS Analyzer | Certificate inspection, protocol version testing (TLS 1.0โ1.3), weak cipher detection, expiry and self-signed checks |
| SSRF Prober | 40+ payloads targeting AWS/GCP/Azure metadata endpoints, internal services, DNS rebinding, and URL parser confusion |
| Open Redirect Scanner | 25+ bypass techniques with auto-detection of 20+ common redirect parameter names |
| Prototype Pollution Tester | __proto__ and constructor.prototype injection via query params and JSON bodies with escalation detection |
Exploit Generation & Attack Chaining
| Tool | Description |
|---|---|
| CSRF Exploit Forge | Generates proof-of-concept HTML pages โ auto-submitting forms, Fetch API XHR, multipart โ with CSRF token detection |
| Attack Chainer | Multi-step HTTP attack sequencing with regex-based value extraction and {{variable}} templating across requests |
| Proxy CA Generator | Root Certificate Authority (RSA 4096-bit, 10-year validity) for HTTPS interception with per-host certificate signing |
| HTTP Request Forge | Manual HTTP request builder (GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS) routed through Python to bypass browser CORS |
| Report Generator | Professional HTML reports with executive summary, severity charts, and remediation guidance. Also exports JSON, PDF, CSV, SARIF |
WSHawk Desktop โ Native Security Testing Application
A native Electron + Python desktop application with three operating modes:
| Mode | What You Get |
|---|---|
| Standard | WebSocket scanner dashboard, request forge, findings panel, traffic history, system log |
| Advanced | + Payload blaster, real-time WebSocket interceptor, endpoint map, auth builder, mutation lab, scheduler, codec, comparer, notes |
| Web Pentest | + All 22 HTTP security tools with real-time streaming results |
Desktop-Exclusive Features
- Real-Time WebSocket Interceptor โ Full-duplex MitM proxy with frame-by-frame forward, drop, and edit controls
- Payload Blaster โ High-speed WebSocket fuzzer with 11 payload categories and Smart Payload Evolution toggle
- WebSocket Endpoint Map โ Automated discovery via HTTP Upgrade probing, HTML crawling, and JavaScript source analysis
- Auth Builder โ Multi-step authentication sequence with regex token extraction and variable substitution
- Exploit PoC Generator โ One-click standalone Python exploit script for confirmed vulnerabilities
- Session Persistence โ Save and restore full assessment state to
~/.wshawk/sessions/ - Scan History & Diffing โ SQLite-backed history with vulnerability regression tracking between scans
- HawkSearch โ
Ctrl+Kcommand palette for instant navigation to any tool
Builds for: Linux (.pacman, .AppImage, .deb) ยท Windows (.exe NSIS installer) ยท macOS (.dmg)
Full Desktop Documentation โ
Installation
Install via pip
pip install wshawk
# Optional: Browser-based XSS verification
playwright install chromium
Install on macOS (Homebrew)
Method 1: One-liner (Recommended)
brew install --cask https://raw.githubusercontent.com/noobforanonymous/homebrew-tap/main/Casks/wshawk.rb
Method 2: Stay Updated (Via Tap)
# Register the WSHawk tap
brew tap noobforanonymous/tap
# Install the cask
brew install --cask wshawk
Install on Kali Linux / Debian
WSHawk is available via the official Regaan APT repository.
# Add the WSHawk GPG key
curl -sSL https://noobforanonymous.github.io/wshawk-repo/wshawk_repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/wshawk-archive-keyring.gpg
# Add the WSHawk APT repository
echo "deb [signed-by=/usr/share/keyrings/wshawk-archive-keyring.gpg] https://noobforanonymous.github.io/wshawk-repo stable main" | sudo tee /etc/apt/sources.list.d/wshawk.list
# Install WSHawk
sudo apt update && sudo apt install wshawk
Install on Arch Linux
WSHawk is available in the Arch User Repository (AUR).
# Install WSHawk via yay
yay -S wshawk
Install via Docker
docker pull rothackers/wshawk:latest
docker run --rm rothackers/wshawk ws://target.com
See Docker Guide for detailed usage.
Build Desktop Application
git clone https://github.com/noobforanonymous/wshawk
cd wshawk
# Build Python sidecar binary
pip install -e . && pip install pyinstaller
pyinstaller wshawk-bridge.spec
# Build desktop installer
mkdir -p desktop/bin && cp dist/wshawk-bridge desktop/bin/
cd desktop && npm install && npm run dist
Quick Start Guide
WebSocket Scan (CLI)
wshawk ws://target.com
Interactive Mode
wshawk-interactive
Advanced Scan with All Features
wshawk-advanced ws://target.com --smart-payloads --playwright --full
Web Dashboard
export WSHAWK_WEB_PASSWORD='your-password'
wshawk --web --port 5000
Desktop Application
cd desktop && npm start
Python API
import asyncio
from wshawk.scanner_v2 import WSHawkV2
scanner = WSHawkV2("ws://target.com")
scanner.use_headless_browser = True
scanner.use_oast = True
asyncio.run(scanner.run_heuristic_scan())
Interface Comparison
| Capability | CLI | Web Dashboard | Desktop App |
|---|---|---|---|
| WebSocket Scanner | โ | โ | โ |
| Web Pentest Toolkit (22 tools) | โ | โ | โ |
| WebSocket Interceptor (MitM) | โ | โ | โ |
| Payload Blaster / Fuzzer | โ | โ | โ |
| Endpoint Discovery Map | โ | โ | โ |
| Scan Persistence | โ | SQLite | SQLite + Sessions |
| Exploit PoC Export | โ | โ | โ |
| Report Formats | HTML | HTML | HTML / JSON / PDF |
| Best For | CI/CD pipelines | Teams, SOC | Manual pentesting, red teams |
Configuration
wshawk.yaml
python3 -m wshawk.config --generate
integrations:
jira:
api_token: "env:JIRA_TOKEN"
project: "SEC"
defectdojo:
api_key: "env:DD_API_KEY"
url: "https://defectdojo.your-org.com"
| Environment Variable | Description |
|---|---|
WSHAWK_BRIDGE_PORT |
Backend server port (default: 8080) |
WSHAWK_WEB_PASSWORD |
Web dashboard authentication password |
WSHAWK_API_KEY |
API key for programmatic access |
Defensive Validation Module
Blue team module for validating your WebSocket security controls:
wshawk-defensive ws://your-server.com
- DNS Exfiltration Prevention โ Validates egress filtering effectiveness
- Bot Detection โ Tests anti-bot measures against headless browser evasion
- CSWSH Protection โ Origin header validation with 216+ malicious origins
- WSS Protocol Security โ TLS versions, cipher suites, certificate chain, forward secrecy
See Defensive Validation Guide.
Security Warning โ Fake Versions
Repackaged versions of WSHawk containing malware have been found on third-party download sites.
Download only from official sources:
- Website:
https://wshawk.rothackers.com- GitHub:
https://github.com/noobforanonymous/wshawk- PyPI:
pip install wshawk- Docker:
docker pull rothackers/wshawk
Documentation
| Guide | Description |
|---|---|
| V3.0.3 Release Guide | DOM Invader, Auth Flow Recorder, AI Exploit Engine โ full technical reference |
| ๐ฆ Complete Enterprise Guide | Architecture, scanning engine, configuration, integrations |
| ๐ป Desktop Reference Manual | All 22 tools, API reference, build instructions |
| Getting Started | First scan, output format, common use cases |
| Defensive Validation | Blue team security control testing |
| Vulnerability Details | Full vulnerability coverage reference |
| Session Security Tests | WebSocket session hijacking tests |
| Docker Deployment | Container deployment guide |
Responsible Use
WSHawk is designed for authorized penetration testing, bug bounty programs, security research, and education. Always obtain explicit permission before scanning any target.
The author is not responsible for misuse of this tool. Repackaged versions found on third-party download sites are not associated with this project.
License
MIT License โ see LICENSE
Author
Regaan (@noobforanonymous)
Contributing
Contributions welcome โ see CONTRIBUTING.md
Support
| Channel | Link |
|---|---|
| Issues | GitHub Issues |
| Documentation | docs/ |
| support@rothackers.com |
WSHawk v3.0.3 โ Professional WebSocket Security Scanner & Interception Suite
Latest Updates (v3.0.3)
- DOM Invader: Headless Playwright engine verifies XSS payloads in a real browser โ zero false positives. Confirms
alert(),eval(), DOM mutations, and injected script tags. - Auth Flow Recorder: Records complex SSO/OAuth login flows in a visible browser, then replays them headlessly to mint fresh tokens during long fuzzing runs.
- Auto Session Reconnect: Payload Blaster detects session expiry and automatically replays the recorded auth flow to reconnect โ no manual intervention needed.
- AI Exploit Engine: Right-click any parameter in ReqForge to generate context-aware XSS/SQLi/SSTI payloads, auto-populated into the Payload Blaster.
- Context-Aware Heuristic Fuzzing: Advanced payload generation engine with deep protocol awareness for high-accuracy vulnerability discovery.
Built for security professionals, by Regaan.
Project details
Release history Release notifications | RSS feed
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 wshawk-3.0.3.tar.gz.
File metadata
- Download URL: wshawk-3.0.3.tar.gz
- Upload date:
- Size: 411.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24f1c7eabab7c57261d909452dc8a7b0338efb2492a7af0606d07cef0f3c2e9a
|
|
| MD5 |
7fc0b084a40767a31f0ab1c48a5e856c
|
|
| BLAKE2b-256 |
7ccda09ee8cb4c7b7cbc441ab386374772af5264513f0a8dca7c934446a739b0
|
Provenance
The following attestation bundles were made for wshawk-3.0.3.tar.gz:
Publisher:
python-publish.yml on noobforanonymous/wshawk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wshawk-3.0.3.tar.gz -
Subject digest:
24f1c7eabab7c57261d909452dc8a7b0338efb2492a7af0606d07cef0f3c2e9a - Sigstore transparency entry: 1006686778
- Sigstore integration time:
-
Permalink:
noobforanonymous/wshawk@64cd4b2a38b107a487d0690cfcd68e909e6daf4a -
Branch / Tag:
refs/tags/v3.0.3 - Owner: https://github.com/noobforanonymous
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@64cd4b2a38b107a487d0690cfcd68e909e6daf4a -
Trigger Event:
release
-
Statement type:
File details
Details for the file wshawk-3.0.3-py3-none-any.whl.
File metadata
- Download URL: wshawk-3.0.3-py3-none-any.whl
- Upload date:
- Size: 455.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91fce936353417e39184a39feec6669efb4d6c9b267ead37f938c863409cf1ff
|
|
| MD5 |
95f23908c386e629e4d2c52762430e8f
|
|
| BLAKE2b-256 |
01512858c1d9deb5f3be5df8380f59a6c6365a61a184a4a204de8369293b1510
|
Provenance
The following attestation bundles were made for wshawk-3.0.3-py3-none-any.whl:
Publisher:
python-publish.yml on noobforanonymous/wshawk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wshawk-3.0.3-py3-none-any.whl -
Subject digest:
91fce936353417e39184a39feec6669efb4d6c9b267ead37f938c863409cf1ff - Sigstore transparency entry: 1006686779
- Sigstore integration time:
-
Permalink:
noobforanonymous/wshawk@64cd4b2a38b107a487d0690cfcd68e909e6daf4a -
Branch / Tag:
refs/tags/v3.0.3 - Owner: https://github.com/noobforanonymous
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@64cd4b2a38b107a487d0690cfcd68e909e6daf4a -
Trigger Event:
release
-
Statement type: