
AIを使って840以上のソーシャルメディアアカウントを追跡する
--correlate)--recurse-depth N)<username>.{com,io,net,…} が登録され稼働しているか?(--domains)--watch 6h --notify <url>)--resume file.jsonl)aliens_eye tui、オプションの追加機能)aliens_eye serve、オプションの追加機能)--proxy socks5://... または単に --tor--site github,reddit、--exclude-site、--no-nsfw、さらにドロップインの sites.d/ プラグインサイトマップaliens_eye selfcheck がサイトごとの precision / recall / F1 / FPR を報告aliens_eye corpus record / selfcheck --corpus)aliens_eye eval ablate が検出器構成をブートストラップ信頼区間付きでスコアリング。eval external は同じ保存済みレスポンスに対して Sherlock / Maigret / WhatsMyName のルールと比較aliens_eye train で再トレーニング、または aliens_eye label で不確実なヒットに手動ラベル付けpip install aliens-eye
オプションの追加機能:
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
またはDockerで:
docker build -t aliens-eye .
docker run --rm -it aliens-eye username
ソースから:
git clone https://github.com/arxhr007/Aliens_eye.git
cd Aliens_eye
pip install -e .
# 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
# Record a frozen response corpus, then evaluate against it reproducibly
aliens_eye corpus record --out corpus/v1 --split all --negatives 4
aliens_eye corpus stats corpus/v1
aliens_eye selfcheck --split holdout --corpus corpus/v1 --report json
# Compare detector configurations over that corpus, with confidence intervals
aliens_eye eval ablate --corpus corpus/v1 --split holdout
# Compare against Sherlock / Maigret / WhatsMyName rules (fetch their data yourself)
aliens_eye eval external --corpus corpus/v1 --sherlock data.json --whatsmyname wmn-data.json
# Rebuild the ground-truth splits from those projects account lists
aliens_eye eval groundtruth --sherlock data.json --whatsmyname wmn-data.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
カスタムプラットフォーム: { "site_name": "https://site/{}" } 形式のJSONファイルを
./sites.d/(またはユーザー設定ディレクトリの sites.d/)に配置すると自動的にマージされます。
--sites-dir DIR で別の場所を追加できます。
すべてのレスポンスは30次元の特徴ベクトルに変換されます: HTTPステータスのバケット、ユーザー名の配置(パス/タイトル/meta/canonical)、エラーおよびプロフィールのキーワード、DOM構造(画像、フォーム、プロフィール/エラー用CSSクラス)、構造化データシグナル(og:type、JSON-LD Person)、レスポンスタイミング、リダイレクト回数、および過去のスキャンから学習したサイト別フィンガープリント一致。
次に2つの判定器が投票します:
ブレンドされた確率は信頼度パーセンテージ付きで Found / Maybe / Not Found にマッピングされます。読み込まれたモデルがブレンドの重みとしきい値の両方を提供します — 同梱モデルは 0.9 * ml + 0.1 * heuristic を使用し、0.620 超でFound、0.360 未満でNot Foundとなります。モデルファイルが存在しないか無効な場合、スキャナーは core/detector.py のデフォルト(ML重み 0.4、しきい値 0.6 / 0.35)でヒューリスティックに静かにフォールバックします。完全な表は WORKING.md を参照してください。
Found/Maybeは検証すべき手がかりとして扱い、確定した発見とはみなさないでください。 同梱モデルは286プラットフォームの1,455サンプルで学習し、未見の142プラットフォームで評価されました: precision 0.65、recall 0.51、偽陽性率9%(F1 0.57)。すべてのアカウントを捕捉するよりも偽の手がかりを減らすことを優先しており、ホールドアウトプラットフォームでは、これを含めどの構成もF1において単純なHTTPステータスチェックと統計的に区別できません。
pip install "aliens-eye[train]"
# 1. Scan ground-truth accounts + random non-existent usernames to build a dataset
# (reads the train split only; the eval holdout is never touched)
aliens_eye train collect --out dataset.csv --negatives 4