If you've spent any time doing digital footprinting or target enumeration, your workflow probably looks like this:
- Fire up Sherlock to see where a handle exists across social media.
- Realize Sherlock doesn't extract metadata or verify email registrations.
- Switch over to Holehe to run an email check against recovery endpoints.
- Manually copy-paste discovered handles or links into a second search.
- Deal with endless rate limits, missing profile photos, and outdated modules.
It's fragmented, slow, and full of friction. user-scanner replaces both legacy utilities with a unified engine while adding automated target pivoting and breach intel correlation.
⚡ Quick Comparison
| Feature | Sherlock | Holehe | user-scanner |
|---|---|---|---|
| Scan Vector Support | Username Only | Email Only | 2-in-1 (Username + Email) |
| Active Vectors | ~300+ | ~120+ | 380+ Combined |
| Metadata Extraction | ❌ (URL checking) | ❌ (Basic presence) | ✅ Avatars, UIDs, Bios, Stats |
| Recursive Pivot Engine | ❌ | ❌ | ✅ --cross-scan (Multi-pass) |
| Infostealer Intel | ❌ | ❌ | ✅ Hudson Rock (--hudson) |
| TLS Impersonation | Basic Requests | Standard Requests | curl_cffi + httpx Concurrency |
| Export Formats | TXT / CSV | Console | PDF (w/ photos), JSON, CSV |
🚀 What Makes user-scanner Different?
1. The --cross-scan Engine (Automated Recursive Pivoting)
An email check tells you if an account exists on a site, but it rarely reveals the user's name or handle. A username scan hits far more sites, but requires a target handle to start.
--cross-scan bridges the two automatically:
# Run initial email scan -> extract exposed handles/links -> automatically sweep discovered handles
user-scanner -e target@example.com --cross-scan
It extracts handles, links, and secondary email addresses straight out of profile bios and metadata, automatically classifying link trust (handle, verified, link) and rating hit confidence (confirmed, likely, candidate, conflicting).
You can even restrict recursion depth to execute cheap, high-precision searches without guessing:
user-scanner -u target --cross-scan --cross-sweep 0 --cross-depth 2
2. Deep Metadata Scraping
Instead of just returning a binary Found / Not Found, user-scanner extracts actionable intel:
- Profile avatars & header images (embedded directly into exported PDF reports)
- Account UIDs, follower/following counts, and seller statuses
- Bio links and unparsed text signatures
3. Integrated Infostealer Malware Logs
Cross-reference your target against global infostealer malware infection logs, powered by Hudson Rock, in the same run:
user-scanner -u target_handle --hudson
🛠️ Quickstart
Installation via PyPI
pip install user-scanner
Or run instantly via Nix without installing:
nix run github:kaifcodec/user-scanner/main -- --help
Common Commands
# Single target username scan
user-scanner -u johndoe
# Single target email scan
user-scanner -e johndoe@gmail.com
# Target developer platform modules only
user-scanner -u johndoe -c dev
# Proxy rotation with pre-scan health validation
user-scanner -u johndoe -P proxies.txt --validate-proxies
# Export formatted report to PDF with scraped avatars
user-scanner -u johndoe -f pdf -o target_report.pdf
🐍 Python Library Mode
If you're building custom automation pipelines or security agents, you can call the engine directly from Python:
import asyncio
from user_scanner.core import engine
from user_scanner.email_scan.shopping import etsy
async def main():
result = await engine.check(etsy, "target@gmail.com")
print(result.to_json())
asyncio.run(main())
🔗 Try It Out
Stop juggling multiple outdated CLI tools for basic reconnaissance. Grab the project on GitHub, drop a ⭐ if it speeds up your workflow, and start mapping digital footprints in seconds.
-
GitHub Repository:
kaifcodec/user-scanner -
PyPI Package:
user-scanner
Top comments (0)