Professional WebSocket security scanner with real vulnerability verification, session hijacking tests, and CVSS scoring
Project description
WSHawk v2.0 - Professional WebSocket Security Scanner
WSHawk v2.0 is a production-grade WebSocket security scanner with advanced features including real vulnerability verification, intelligent mutation, and comprehensive session security testing.
Why WSHawk?
WSHawk is the only open-source WebSocket scanner that provides:
- Real browser XSS verification (Playwright) - Not just pattern matching
- Blind vulnerability detection via OAST - Finds XXE, SSRF that others miss
- Session hijacking analysis - 6 advanced session security tests
- WAF-aware payload mutation - Intelligent evasion techniques
- CVSS-based professional reporting - Industry-standard risk assessment
Features
- ✅ 22,000+ Attack Payloads - Comprehensive vulnerability coverage
- ✅ Real Vulnerability Verification - Confirms exploitability, not just reflection
- ✅ Playwright XSS Verification - Actual browser-based script execution testing
- ✅ OAST Integration - Detects blind vulnerabilities (XXE, SSRF)
- ✅ Session Hijacking Tests - Token reuse, impersonation, privilege escalation
- ✅ Intelligent Mutation Engine - WAF bypass with 8+ evasion strategies
- ✅ CVSS v3.1 Scoring - Automatic vulnerability risk assessment
- ✅ Professional HTML Reports - Screenshots, replay sequences, traffic logs
- ✅ Adaptive Rate Limiting - Server-friendly scanning
Vulnerability Detection
SQL Injection • XSS • Command Injection • XXE • SSRF • NoSQL Injection • Path Traversal • LDAP Injection • SSTI • Open Redirect • Session Security Issues
Installation
pip install wshawk
# Optional: For browser-based XSS verification
playwright install chromium
Quick Start
WSHawk provides 3 easy ways to scan WebSocket applications:
Method 1: Quick Scan (Fastest)
wshawk ws://target.com
Perfect for CI/CD pipelines and quick security assessments.
Method 2: Interactive Menu (User-Friendly)
wshawk-interactive
Shows interactive menu to select specific tests. Best for learning and manual testing.
Method 3: Advanced CLI (Full Control)
# Basic scan
wshawk-advanced ws://target.com
# With Playwright XSS verification
wshawk-advanced ws://target.com --playwright
# Custom rate limiting
wshawk-advanced ws://target.com --rate 5
# All features enabled
wshawk-advanced ws://target.com --full
Command Comparison
| Feature | wshawk |
wshawk-interactive |
wshawk-advanced |
|---|---|---|---|
| Ease of Use | ★★★ | ★★★ | ★★ |
| Flexibility | ★ | ★★ | ★★★ |
| All Features | ✓ | ✓ | ✓ |
| Menu Selection | ✗ | ✓ | ✗ |
| CLI Options | ✗ | ✗ | ✓ |
| Best For | Automation | Learning | Advanced Users |
What You Get
All methods include:
- Real vulnerability verification (not just pattern matching)
- 22,000+ attack payloads
- Intelligent mutation engine with WAF bypass
- CVSS v3.1 scoring for all findings
- Session hijacking tests (6 security tests)
- Professional HTML reports
- Adaptive rate limiting
- OAST integration for blind vulnerabilities
- Optional Playwright for browser-based XSS verification
Output
WSHawk generates comprehensive HTML reports with:
- CVSS v3.1 scores for all vulnerabilities
- Screenshots (for XSS browser verification)
- Message replay sequences
- Raw WebSocket traffic logs
- Server fingerprints
- Actionable remediation recommendations
Reports saved as: wshawk_report_YYYYMMDD_HHMMSS.html
Advanced Options
wshawk-advanced --help
Options:
--playwright Enable browser-based XSS verification
--rate N Set max requests per second (default: 10)
--full Enable ALL features
--no-oast Disable OAST testing
Defensive Validation (NEW in v2.0.4)
WSHawk now includes a Defensive Validation Module designed for blue teams to validate their security controls.
# Run defensive validation tests
wshawk-defensive ws://your-server.com
What It Tests
1. DNS Exfiltration Prevention
- Validates if DNS-based data exfiltration is blocked
- Tests egress filtering effectiveness
- Detects potential APT-style attack vectors
2. Bot Detection Effectiveness
- Tests if anti-bot measures detect headless browsers
- Validates resistance to evasion techniques
- Identifies gaps in bot protection
3. CSWSH (Cross-Site WebSocket Hijacking)
- Tests Origin header validation (216+ malicious origins)
- Validates CSRF token requirements
- Critical for preventing session hijacking
4. WSS Protocol Security Validation
- TLS version validation (detects deprecated SSLv2/v3, TLS 1.0/1.1)
- Weak cipher suite detection (RC4, DES, 3DES)
- Certificate validation (expiration, self-signed, chain integrity)
- Forward secrecy verification (ECDHE, DHE)
- Prevents MITM and protocol downgrade attacks
Use Cases
- Validate security controls before production deployment
- Regular security posture assessment
- Compliance and audit requirements
- Blue team defensive capability testing
See Defensive Validation Documentation for detailed usage and remediation guidance.
Documentation
- Getting Started Guide
- Advanced Usage
- Vulnerability Details
- Session Security Tests
- Mutation Engine
- Architecture
Python API
For integration into custom scripts:
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_intelligent_scan())
See Advanced Usage for more examples.
Responsible Disclosure
WSHawk is designed for:
- ✓ Authorized penetration testing
- ✓ Bug bounty programs
- ✓ Security research
- ✓ Educational purposes
Always obtain proper authorization before testing.
License
MIT License - see LICENSE file
Author
Regaan (@noobforanonymous)
Contributing
Contributions welcome! See CONTRIBUTING.md
Support
- Issues: GitHub Issues
- Documentation: docs/
- Examples: examples/
WSHawk v2.0 - Professional WebSocket Security Scanner
Built for the security community
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-2.0.5.tar.gz.
File metadata
- Download URL: wshawk-2.0.5.tar.gz
- Upload date:
- Size: 248.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae2d070a449a594b859959d62c1fbc5987a616c9c7b344da1a9d0dabd6ddb2c7
|
|
| MD5 |
b51360b81427524a30fd8933d366b879
|
|
| BLAKE2b-256 |
93a9140d29053b84533ac59735c0a672ed55887bb4b3152e96bddee35acd51f0
|
Provenance
The following attestation bundles were made for wshawk-2.0.5.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-2.0.5.tar.gz -
Subject digest:
ae2d070a449a594b859959d62c1fbc5987a616c9c7b344da1a9d0dabd6ddb2c7 - Sigstore transparency entry: 751805499
- Sigstore integration time:
-
Permalink:
noobforanonymous/wshawk@3335cffa7a259f91989b16bee23ef8f73408b627 -
Branch / Tag:
refs/tags/v2.0.5 - Owner: https://github.com/noobforanonymous
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@3335cffa7a259f91989b16bee23ef8f73408b627 -
Trigger Event:
release
-
Statement type:
File details
Details for the file wshawk-2.0.5-py3-none-any.whl.
File metadata
- Download URL: wshawk-2.0.5-py3-none-any.whl
- Upload date:
- Size: 267.6 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 |
31a48994c5021c4dc5d045b23fc9fb10c24ac1968e2890c3eecaf2102bce45e2
|
|
| MD5 |
57337fadaa2ff84ba70df216634c6ed4
|
|
| BLAKE2b-256 |
d97e74fc8cb9ce7063dc377349004a8b88da12af07f41b45eab38e62f166742b
|
Provenance
The following attestation bundles were made for wshawk-2.0.5-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-2.0.5-py3-none-any.whl -
Subject digest:
31a48994c5021c4dc5d045b23fc9fb10c24ac1968e2890c3eecaf2102bce45e2 - Sigstore transparency entry: 751805503
- Sigstore integration time:
-
Permalink:
noobforanonymous/wshawk@3335cffa7a259f91989b16bee23ef8f73408b627 -
Branch / Tag:
refs/tags/v2.0.5 - Owner: https://github.com/noobforanonymous
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@3335cffa7a259f91989b16bee23ef8f73408b627 -
Trigger Event:
release
-
Statement type: