Reasoning engine parsing LinPEAS and WinPEAS output. Prioritized attack vectors with step-by-step playbooks. 329 GTFOBins entries, 42 kernel exploits, 86 LOLBAS binaries.
$ whirlpool linpeas_output.txt auto-detected: LinPEAS .sh output analyzing 329 GTFOBins, 42 kernel exploits... 1. sudo vim (GTFOBins) [95% confidence] 2. CVE-2021-4034 PwnKit [90% confidence] 3. Cron PATH hijack (chain) [85% confidence] $ whirlpool enum.txt --profile oscp --quick-wins Top 5 quick wins exported
Feed raw enumeration output, get ranked exploitation playbooks. Offline knowledge bases, composite scoring, and attack chain detection.
Feed any enumeration file and Whirlpool figures out the format. Handles LinPEAS .sh output, WinPEAS .exe output, .bat output, .exe beta format, and manual command output.
Every technique scored across four dimensions — reliability, safety, simplicity, stealth. Five ranking profiles: default, OSCP, CTF, stealth, safe.
Detects 12 multi-step privilege escalation paths that single-finding scanners miss — cron PATH hijack, Docker escape, NFS SUID, wildcard injection, LD_PRELOAD.
Purpose-built parsers with aggressive false-positive filtering. Tested against 22 HTB/Vulnhub samples with zero crashes and zero blank results.
329 GTFOBins entries, 86 LOLBAS binaries, 42 kernel exploits with version ranges, and 9 potato attacks with OS compatibility matrices. All shipped as JSON — zero network calls.
Rich terminal with Catppuccin Mocha theme, Markdown reports, structured JSON for tool integration, and quick-wins mode for the top 5 techniques.
Comprehensive offline knowledge bases covering Linux and Windows privilege escalation. Runs entirely offline — zero network calls.
Parse enumeration output into structured data, analyze against knowledge bases, rank using composite scoring.
Argparse entry point with auto-detection of input format. Profile selection (--profile oscp), output routing, and --lhost/--lport substitution.
LinPEAS, WinPEAS, and manual command parsers handling 3 format variants each. Aggressive noise filtering rejects grep artifacts and false patterns.
Core analyzer matches findings against offline knowledge bases. Chain detector identifies 12 multi-step attack paths. Composite scoring across 4 dimensions.
Five ranking profiles with weighted dimensions. Terminal output with Catppuccin Mocha theme, Markdown, and JSON renderers.
Install with pipx. Python 3.9+ required. Runs entirely offline with no external dependencies.
$ git clone https://github.com/Real-Fruit-Snacks/Whirlpool.git $ cd Whirlpool && pip install -e . # Or use pipx for isolation $ pipx install git+https://github.com/Real-Fruit-Snacks/Whirlpool.git $ whirlpool --help Usage: whirlpool [OPTIONS] FILE
# Analyze LinPEAS output $ whirlpool linpeas_output.txt # OSCP-optimized ranking $ whirlpool enum.txt --profile oscp # Quick wins only $ whirlpool enum.txt --quick-wins # Markdown report $ whirlpool enum.txt --format markdown -o report.md