GitHub: https://github.com/kaifcodec/user-scanner.git
If you've spent any time mapping digital footprints or doing threat intelligence, you know the drill: run Holehe for email registration checks, jump over to Sherlock or Maigret for usernames, and manually piece together the findings.
While Holehe set the benchmark for password recovery endpoint checks, modern targets use complex handles, and web anti-bot defenses have gotten aggressive. Lately, I've integrated user-scanner into my workflow—a high-concurrency Python CLI engine that merges email enumeration, username profiling, and automated cross-pivoting into a single execution stream.
Here is a breakdown of how it holds up against legacy OSINT tools and why it’s worth adding to your toolkit.
Tool Matrix: user-scanner vs. Traditional Registration Checkers
| Feature / Metric | Holehe | Sherlock / Maigret | user-scanner |
|---|---|---|---|
| Input Flexibility | Email Only | Username Only | Dual Engine (380+ Vectors) |
| Vector Split | ~120 Email Sites | Web Form Scrapers | 155+ Email & 225+ Username Modules |
| Target Pivoting | Manual | Manual | Automated Recursive Cross-Scanning |
| Infostealer Intel | None | None | Built-In Hudson Rock API (--hudson) |
| Networking Core | Basic Async | Standard Requests | httpx + curl_cffi (TLS Impersonation) |
| Output Options | Text / JSON | Text / CSV | PDF (with Avatar Scrapes), JSON, CSV |
| Package Support | Pip | Pip | Pip, Virtualenv, Nix (nix run) |
Standout Technical Features
1. Automated Cross-Scanning & Pivot Chains (--cross-scan)
The biggest time-saver is the pivot pipeline. Standard tools tell you whether a target exists on a platform and stop there. user-scanner parses profile metadata returned during a run—looking for linked accounts, published bios, handles, and public emails—and automatically launches follow-up scans across secondary modules.
-
-e→ Username Pivoting: Mines handles and linked profiles returned from an email lookup. -
-u→ Email Pivoting: Harvests public email addresses listed on social profile pages. -
Configurable Chain Depth: Dial in how many hops deep the pivot engine goes using
--cross-depthand set strict verification rules with--cross-links verified.
2. Native Infostealer Malware Breach Context (--hudson)
Instead of needing a separate script to check compromised credential databases, passing the --hudson flag queries Hudson Rock’s API directly. This lets you correlate target usernames or emails against known infostealer logs in the same execution run.
3. Modern Anti-Blocking (curl_cffi + Proxy Validation)
Under the hood, user-scanner pairs httpx with curl_cffi to perform automated TLS fingerprint impersonation. This bypasses basic WAFs and edge blockers without tripping false positives. It also supports http and socks5 proxy lists (-P) along with health-checks via --validate-proxies.
Practical Command Examples
1. Multi-Pass Reconnaissance & Pivot Scans
# Standard email lookup
user-scanner -e target@domain.com
# Deep pivot scan: extract secondary handles & emails up to 2 hops deep
user-scanner -e target@domain.com --cross-scan --cross-depth 2
# Check username across platforms and query infostealer breach logs
user-scanner -u targetuser --hudson
2. High-Concurrency Reports & Proxy Routing
# High-speed scan exporting to a visual PDF with scraped media
user-scanner -u targetuser -C 100 -f pdf -o output_report.pdf
# Run using a validated proxy list
user-scanner -u targetuser -P proxies.txt --validate-proxies
3. Script Integration (Python API)
import asyncio
from user_scanner.core import engine
from user_scanner.email_scan.shopping import etsy
async def main():
# Programmatic execution against individual module targets
result = await engine.check(etsy, "target@gmail.com")
print(result.to_json())
asyncio.run(main())
Final Verdict
If you're looking for a modern, actively maintained successor to single-purpose checkers like Holehe, user-scanner is a serious upgrade. Combining email enumeration, handle profiling, TLS impersonation, and automated pivoting into one CLI tool saves immense manual effort during initial target mapping.
Top comments (0)