
Erkenne visuell ähnliche Zeichen (Homoglyphen) und versteckte Daten in Text, um vor betrügerischen Angriffen zu schützen.
Homograph-Angriffe nutzen die visuelle Ähnlichkeit von Zeichen verschiedener Schriftsysteme (z. B. lateinisches 'a' vs. kyrillisches 'а'), um Domainnamen, Dateinamen oder andere Kennungen zu fälschen und Benutzer in die Irre zu führen, indem sie vorgeben, mit einer legitimen Quelle zu interagieren.
huntglyph bietet eine Erkennungslösung zur Identifizierung dieser betrügerischen Praktiken und gewährleistet so digitale Sicherheit und Klarheit.
huntglyph bietet mehrere Befehle zur Analyse von Zeichenketten und Dateien.
text: Analysiere einen rohen Text-StringAnalysiert einen rohen Text-String auf Homoglyphen, gemischte Schriften und unsichtbare Zeichen (potenzielle Quelle für Steganographie). Die Eingabe kann als Befehlsargument oder über stdin erfolgen.
z.B. 1 – Analysiere einen literalen String, der Homoglyphen und gemischte Schriften enthält
$ huntglyph text "gооgle.com"
Original: gооgle.com
Indicator: ↑↑
Cleaned: google.com
--------------------------------------------------------------------------------------------------------------------------------
Details:
- Pos 2: 'о' (U+00043E, Cyrillic) is a homoglyph of 'o' (U+00006F, Latin).
- Pos 3: 'о' (U+00043E, Cyrillic) is a homoglyph of 'o' (U+00006F, Latin).
Warning: Mixed scripts detected: Latin, Cyrillic
Warning: Confusable characters detected.
Overall Risk: HIGH (Score: 75)
z.B. 2 – Analysiere einen literalen String, der ein Zero-Width-Space enthält
$ huntglyph text "helloworld"
Original: helloworld
Indicator: ↑
Cleaned: hello world
--------------------------------------------------------------------------------------------------------------------------------
Details:
- Pos 6: Invisible Character '' (U+00200B)
Warning: Invisible characters detected.
Overall Risk: MODERATE (Score: 25)
z.B. 3 – Pipes verwenden (Eingabe von stdin)
$ cat demo/suspicious.txt | huntglyph text
z.B. 4 – Nur den normalisierten Risikoscore (0.0–1.0) für einen literalen String ausgeben
$ huntglyph text "gооgle.com" --risk-score-only
0.75
inspect: Detaillierte Zeichen-für-Zeichen-AufschlüsselungBietet eine detaillierte Tabellenansicht jedes Zeichens in einer Zeichenkette oder Datei, einschließlich Codepunkt, Name, Schrift und etwaigen verdächtigen Eigenschaften.
z.B. 1 – Vollständige Inspektion. Enthält Homoglyphen, gemischte Schriften
$ huntglyph inspect "аррӏе.com"
┌─────┬──────┬────────────┬──────────┬────────────────────────────────┬────────────────────────────────────┐
│ POS │ CHAR │ CODE POINT │ SCRIPT │ NAME │ DETAILS │
├─────┼──────┼────────────┼──────────┼────────────────────────────────┼────────────────────────────────────┤
│ 1 │ а │ U+000430 │ Cyrillic │ CYRILLIC SMALL LETTER A │ Homoglyph of 'a' (in word 'аррӏе') │
│ 2 │ р │ U+000440 │ Cyrillic │ CYRILLIC SMALL LETTER ER │ Homoglyph of 'p' (in word 'аррӏе') │
│ 3 │ р │ U+000440 │ Cyrillic │ CYRILLIC SMALL LETTER ER │ Homoglyph of 'p' (in word 'аррӏе') │
│ 4 │ ӏ │ U+0004CF │ Cyrillic │ CYRILLIC SMALL LETTER PALOCHKA │ Homoglyph of 'l' (in word 'аррӏе') │
│ 5 │ е │ U+000435 │ Cyrillic │ CYRILLIC SMALL LETTER IE │ Homoglyph of 'e' (in word 'аррӏе') │
│ 6 │ . │ U+00002E │ Common │ FULL STOP │ │
│ 7 │ c │ U+000063 │ Latin │ LATIN SMALL LETTER C │ │
│ 8 │ o │ U+00006F │ Latin │ LATIN SMALL LETTER O │ │
│ 9 │ m │ U+00006D │ Latin │ LATIN SMALL LETTER M │ │
└─────┴──────┴────────────┴──────────┴────────────────────────────────┴────────────────────────────────────┘
Warning: Mixed scripts detected: Cyrillic, Latin
Warning: Confusable characters detected.
Overall Risk: HIGH (Score: 75)
z.B. 2 – Ergebnisse auf verdächtige Zeichen beschränken
$ huntglyph inspect --suspicious-only "helloworld"
┌─────┬──────┬────────────┬────────┬──────────────────┬───────────┐
│ POS │ CHAR │ CODE POINT │ SCRIPT │ NAME │ DETAILS │
├─────┼──────┼────────────┼────────┼──────────────────┼───────────┤
│ 6 │ │ U+00200B │ Common │ ZERO WIDTH SPACE │ Invisible │
└─────┴──────┴────────────┴────────┴──────────────────┴───────────┘
Warning: Invisible characters detected.
Overall Risk: MODERATE (Score: 25)
scan: Dateien oder Verzeichnisse scannenDurchsucht Dateien oder Verzeichnisse nach verdächtigen Zeichen und analysiert Textdateien parallel.
z.B. 1 – Eine Datei scannen
$ huntglyph scan demo/suspicious.txt
File: demo/suspicious.txt
Risk Level: HIGH (Score: 100)
Scripts: Latin, Cyrillic
Line 1:
Original: This file contains a suspicious url: gооgle.com
Indicator: ↑↑ ↑
Cleaned: This file contains a suspicious url: google.com
--------------------------------------------------------------------------------------------------------------------------------
Details:
- Pos 39: 'о' (U+00043E, Cyrillic) is a homoglyph of 'o' (U+00006F, Latin).
- Pos 40: 'о' (U+00043E, Cyrillic) is a homoglyph of 'o' (U+00006F, Latin).
- Pos 48: Invisible Character '' (U+00200B)
z.B. 2 – Ein Verzeichnis scannen (und 4 Arbeiter für die Leistung festlegen)
$ huntglyph scan --workers 4 demo
z.B. 3 – Nur den maximalen kumulativen Risikoscore (0.0–1.0) für ein Verzeichnis ausgeben
$ huntglyph scan demo --risk-score-only
1.00
review: Interaktive Überprüfung verdächtiger DateienDurchsucht Dateien oder Verzeichnisse und bietet für jede gefundene verdächtige Datei eine interaktive Eingabeaufforderung zur detaillierten Inspektion oder zum Überspringen.
$ huntglyph review demo
Dieser Befehl lädt huntglyph herunter und installiert es an einem für Ihr System standardmäßigen Ort.
Empfohlen (Benutzerebene):
Installiert nach $HOME/.local/bin (Linux/macOS) oder in ein benutzerspezifisches bin-Verzeichnis (Windows).
curl -sSfL https://raw.githubusercontent.com/gregory-chatelier/huntglyph/main/install.sh | sh
Systemweit (erfordert sudo):
Installiert nach /usr/local/bin.
sudo curl -sSfL https://raw.githubusercontent.com/gregory-chatelier/huntglyph/main/install.sh | sh
Benutzerdefiniertes Verzeichnis:
Verwenden Sie die Umgebungsvariable INSTALL_DIR, um einen benutzerdefinierten Pfad anzugeben.
curl -sSfL https://raw.githubusercontent.com/gregory-chatelier/huntglyph/main/install.sh | INSTALL_DIR=$HOME/bin sh
Dieses Tool wurde anhand einer Teilmenge des RAID-Datensatzes validiert, was seine Wirksamkeit bei der Erkennung von Homoglyphen und Zero-Width-Space-Manipulationen bestätigt.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.
| Option | Beschreibung | Befehle |
|---|
--format (default, json) | Ausgabeformat. | text, inspect |
--workers N | Anzahl der zu verwendenden Arbeiter für den Scan. | scan |
--suspicious-only | Nur verdächtige Zeichen in der Ausgabetabelle anzeigen. | inspect |
--full | Vollständige Details für unsichtbare Zeichen anzeigen (escaped). | inspect |
--risk-score-only | Nur den normalisierten Risikoscore (0.0–1.0) ausgeben. Dieser Score ist kumulativ (max. 100), basierend auf gemischten Schriften (25), verwechselbaren Zeichen (50), unsichtbaren Zeichen (25) und versteckten Payloads (100). Für 'text' ist es der Score der Eingabe. Für 'scan' ist es der maximale Score aller gescannten Dateien. | text, scan |
--version | Versionsinfo ausgeben. | Alle Befehle |