Typosquat / Brand-Protection Variants
domain_variantsGenerate typosquatting and brand-protection variants of a domain name and check which are registered in WhisperGraph. Identify lookalikes from 14 mutation algorithms for threat investigation.
Instructions
Generate typosquatting / brand-protection variants of a domain or brand name and check which ones actually exist in WhisperGraph.
Runs 14 mutation algorithms - character omission, repetition, transposition, QWERTY-adjacent replacement/insertion, vowel-swap, bitsquatting, homoglyph / Unicode confusables, hyphenation, dot insertion/omission, TLD-swap, TLD-addition, and subdomain-add. Unicode input is accepted (and expected) so IDN homoglyph lookalikes resolve correctly.
Returns { rows: [...] }. Each row: { variant, method, exists, nodeId, label, confidence (0.3-0.9), confidenceLabel (low/medium/high) }. By default only variants that EXIST as nodes are returned - the registered lookalikes worth investigating. Note that "exists" means registered/observed, NOT malicious: pivot each hit through explain_indicator for a threat verdict.
Arguments:
name (string, required) - the domain or brand to mutate, e.g. "google.com". Allowed characters: letters (including Unicode), digits, '.', '-', '_'.
label (string, optional, default HOSTNAME) - node label to check existence against.
includeNonExistent (boolean, optional, default false) - when true, also return generated variants that do NOT exist in the graph (larger, noisier result set).
Performance: typically <150ms. Results are capped at 500 rows.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Domain or brand to generate variants for. Examples: "google.com", "paypal.com". Unicode allowed. | |
| label | No | Optional node label to check existence against. Default: HOSTNAME. | |
| includeNonExistent | No | Optional. When true, also return generated variants that do not exist in the graph. Default: false. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes |