Skip to main content

AI-powered OSINT username scanner across 800+ social media and web platforms

Project description

ALIENS EYE

Aliens Eye Logo

AI-OSINT Username Scanner

Advanced AI-Powered Social Media Username Finder

Scan 840+ platforms with ML-blended detection

PyPI CI Python Stars License

Highlights

  • 840+ platforms scanned asynchronously in seconds
  • ML + heuristic detection — a trained model blended with 30 structural signals (HTTP status, DOM shape, keywords, fingerprints) instead of naive status-code checks
  • Profile extraction — display name, bio, and avatar pulled from each hit (OpenGraph / JSON-LD / per-site CSS)
  • Cross-site correlation — cluster profiles that look like the same person by avatar hash, bio, shared links, and name (--correlate)
  • Recursive expansion — follow linked usernames out of bios and re-scan them (--recurse-depth N)
  • Domain check — is <username>.{com,io,net,…} registered and live? (--domains)
  • Watch mode — re-scan on an interval and alert on changes, optionally to a webhook (--watch 6h --notify <url>)
  • Resumable scans — checkpoint progress and continue after an interruption (--resume file.jsonl)
  • Modern terminal UI — live progress, sorted result tables, summary panels (powered by rich); plus an interactive browser (aliens_eye tui, optional extra)
  • MCP server — expose scanning to LLM agents (aliens_eye serve, optional extra)
  • Proxy & Tor support--proxy socks5://... or just --tor
  • Site filtering--site github,reddit, --exclude-site, --no-nsfw, plus drop-in sites.d/ plugin site maps
  • Calibrated self-checkaliens_eye selfcheck reports precision / recall / F1 / FPR per site
  • Retrainable + active learning — retrain with aliens_eye train, or hand-label uncertain hits with aliens_eye label
  • Reports in JSON, CSV, HTML, Markdown, PDF, and graph formats (GEXF, Mermaid, Maltego CSV)
  • Playwright fallback for JavaScript-heavy pages (optional extra)

Install

pip install aliens-eye

Optional extras:

pip install "aliens-eye[browser]"   # Playwright fallback for hard pages
python -m playwright install chromium

pip install "aliens-eye[train]"     # scikit-learn, for retraining the ML model
pip install "aliens-eye[correlate]" # Pillow, for avatar-image matching in --correlate
pip install "aliens-eye[pdf]"       # reportlab, for --format pdf
pip install "aliens-eye[tui]"       # textual, for the interactive `tui` browser
pip install "aliens-eye[serve]"     # mcp, for the `serve` MCP server

Or with Docker:

docker build -t aliens-eye .
docker run --rm -it aliens-eye username

From source:

git clone https://github.com/arxhr007/Aliens_eye.git
cd Aliens_eye
pip install -e .

Usage

# Interactive prompts
aliens_eye

# Single username
aliens_eye username

# Multiple usernames
aliens_eye username1 username2

# Advanced scan level (prefix/suffix variations)
aliens_eye username -l advanced

# Only scan specific sites
aliens_eye username --site github,reddit,gitlab

# Skip NSFW sites
aliens_eye username --no-nsfw

# Route through Tor (needs a local Tor daemon)
aliens_eye username --tor

# Any HTTP or SOCKS proxy
aliens_eye username --proxy socks5://127.0.0.1:1080

# Export everything
aliens_eye username --format all --output results

# Heuristics only, no ML
aliens_eye username --no-ml

# Non-interactive preset: quick / full / aggressive
aliens_eye username --profile quick

# Plain output for scripts and CI (no colors/progress)
aliens_eye username --plain

# View results from a previous scan
aliens_eye -r results/username_advanced_20260611_120000.json

# Correlate hits into "likely same person" clusters + check domains
aliens_eye username --correlate --domains

# Follow linked usernames out of found bios and re-scan them
aliens_eye username --recurse-depth 1

# Export a graph of the results (import into Gephi / Maltego / Mermaid)
aliens_eye username --correlate --format gexf,mermaid,maltego

# Investigator PDF with embedded avatars
aliens_eye username --format pdf

# Watch for changes every 6 hours and POST them to a webhook
aliens_eye username --watch 6h --notify https://hooks.example/aliens

# Resume an interrupted scan
aliens_eye username --resume scan.jsonl

# Compare two saved reports
aliens_eye diff results/old.json results/new.json

# Validate detection accuracy (precision / recall / F1 per site)
aliens_eye selfcheck --negatives 2 --report json

# Interactively label uncertain hits into a training set
aliens_eye label results/username_basic_20260611_120000.json --out labeled.csv

# Interactive terminal browser (needs [tui])
aliens_eye tui username

# Run the MCP server for LLM agents (needs [serve])
aliens_eye serve

Custom platforms: drop a { "site_name": "https://site/{}" } JSON file into ./sites.d/ (or the user config dir's sites.d/) and it is merged automatically; --sites-dir DIR adds another location.

How detection works

Every response is converted into a 30-dimensional feature vector: HTTP status buckets, username placement (path/title/meta/canonical), error and profile keywords, DOM structure (images, forms, profile/error CSS classes), structured-data signals (og:type, JSON-LD Person), response timing, redirect counts, and per-site fingerprint matches learned from previous scans.

Two judges then vote:

  1. Heuristic engine — weighted scoring over the features
  2. ML model — logistic regression trained on labeled scans of real (and deliberately fake) accounts, shipped with the package and running in pure Python (no sklearn needed at runtime)

The blended probability maps to Found / Maybe / Not Found with a confidence percentage. If a model file is missing or invalid, the scanner silently falls back to heuristics.

Retraining the model

pip install "aliens-eye[train]"

# 1. Scan ground-truth accounts + random non-existent usernames to build a dataset
aliens_eye train collect --out dataset.csv --negatives 4

# 2. Fit and export the model
aliens_eye train fit --data dataset.csv --out model.json

# 3. Use it
aliens_eye username --model model.json

Configuration

Aliens Eye merges a JSON config file with CLI flags (CLI wins). Search order without --config: ./config.json, then the platform config dir (e.g. ~/.config/aliens_eye/config.json on Linux, %LOCALAPPDATA%\aliens_eye on Windows).

{
  "concurrent": 50,
  "timeout": 10.0,
  "retries": 2,
  "rate_limit_delay": 0.2,
  "output_dir": "results",
  "output_formats": ["json", "csv", "html", "md"],
  "use_playwright": false,
  "proxy": null,
  "use_ml": true,
  "exclude_nsfw": false,
  "level": "basic"
}

Outputs

Results are saved with timestamped filenames:

  • username_level_YYYYMMDD_HHMMSS.json — full detail including per-site feature analysis
  • .csv — flat rows for spreadsheets
  • .html — styled standalone report
  • .md — Markdown summary of Found/Maybe hits

Architecture

The package lives under src/aliens_eye/: core/ (scanner, detector, analyzer, http, exporter, fingerprints), ml/ (inference, training, dataset collection), utils/ (rich console layer), and data/ (sites.json, trained model, ground-truth sets). For internals and flowcharts, see WORKING.md.

Contributing

Issues and PRs welcome — adding sites to src/aliens_eye/data/sites.json, expanding the ground-truth set in selfcheck.json, or improving the model all directly improve detection. Run pytest and ruff check src tests before submitting.

Disclaimer

This tool is for educational purposes and legitimate OSINT research only. You are responsible for complying with laws and site terms of service.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aliens_eye-2.2.0.tar.gz (74.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aliens_eye-2.2.0-py3-none-any.whl (89.7 kB view details)

Uploaded Python 3

File details

Details for the file aliens_eye-2.2.0.tar.gz.

File metadata

  • Download URL: aliens_eye-2.2.0.tar.gz
  • Upload date:
  • Size: 74.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aliens_eye-2.2.0.tar.gz
Algorithm Hash digest
SHA256 6ea8d2f75111403ceca507debb73a3991e2999ee59ae664bf9ad389a37795b47
MD5 6d1d4c939cf1fc44b10167b0469dbda6
BLAKE2b-256 31398697d39a0a7e67dcd1be7c73cec6cadaf18580b1906f200b3d4a7aec277e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aliens_eye-2.2.0.tar.gz:

Publisher: release.yml on arxhr007/Aliens_eye

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aliens_eye-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: aliens_eye-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 89.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aliens_eye-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f57ea914267acf2b028d913dabea9c676e4d44d6ab29addaf55dbe0cb8b8959
MD5 30461329fd1e48bca7d126c490a7e8f7
BLAKE2b-256 3d3c558f4eae45c1f7506885cabd11fee7ebcb791f917d0dce71dff1de0f72b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for aliens_eye-2.2.0-py3-none-any.whl:

Publisher: release.yml on arxhr007/Aliens_eye

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page