
시각적으로 유사한 문자(호모글리프)와 텍스트 내 숨겨진 데이터를 감지하여 기만 공격을 방어합니다.
동형 문자 공격은 서로 다른 문자 체계(예: 라틴어 'a'와 키릴 문자 'а')의 문자들이 시각적으로 유사한 점을 이용하여 도메인 이름, 파일명 또는 기타 식별자를 위조함으로써, 사용자가 합법적인 출처와 상호작용하고 있다고 믿게 만듭니다.
huntglyph는 이러한 기만적 관행을 식별하기 위한 탐지 솔루션을 제공하여 디지털 보안과 명확성을 보장합니다.
huntglyph는 문자열과 파일을 분석하기 위한 여러 명령을 제공합니다.
text: 원시 텍스트 문자열 분석호모글리프, 혼합 스크립트 및 보이지 않는 문자(스테가노그래피의 잠재적 원천)가 있는지 원시 텍스트 문자열을 분석합니다. 입력은 명령 인수 또는 stdin을 통해 제공할 수 있습니다.
예 1 - 호모글리프와 혼합 스크립트가 포함된 리터럴 문자열 분석
$ 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)
예 2 - 제로 너비 공백이 포함된 리터럴 문자열 분석
$ 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)
예 3 - 파이프 사용 (stdin에서 입력)
$ cat demo/suspicious.txt | huntglyph text
예 4 - 리터럴 문자열에 대한 정규화된 위험 점수(0.0-1.0)만 출력
$ huntglyph text "gооgle.com" --risk-score-only
0.75
inspect: 상세한 문자별 분석문자열 또는 파일의 각 문자에 대한 코드 포인트, 이름, 스크립트 및 의심스러운 속성을 포함한 상세한 테이블 뷰를 제공합니다.
예 1 - 전체 검사. 호모글리프, 혼합 스크립트 포함
$ 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)
예 2 - 의심스러운 문자로 결과 제한
$ 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: 파일 또는 디렉토리 스캔파일 또는 디렉토리에서 의심스러운 문자를 스캔하며, 텍스트 파일을 병렬로 분석합니다.
예 1 - 파일 스캔
$ 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)
예 2 - 디렉토리 스캔 (성능을 위해 4개 워커 설정)
$ huntglyph scan --workers 4 demo
예 3 - 디렉토리에 대한 최대 누적 위험 점수(0.0-1.0)만 출력
$ huntglyph scan demo --risk-score-only
1.00
review: 의심스러운 파일을 대화형으로 검토파일 또는 디렉토리를 스캔하고 발견된 각 의심스러운 파일에 대해 대화형 프롬프트를 제공하여 상세 검사 또는 건너뛰기를 할 수 있습니다.
$ huntglyph review demo
| 옵션 | 설명 | 명령 |
|---|---|---|
--format (default, json) | 출력 형식. | text, inspect |
--workers N | 스캔에 사용할 워커 수. | scan |
--suspicious-only | 출력 테이블에 의심스러운 문자만 표시. | inspect |
--full | 보이지 않는 문자에 대한 전체 세부 정보 표시 (이스케이프 형식). | inspect |
--risk-score-only | 정규화된 위험 점수(0.0-1.0)만 출력. 이 점수는 혼합 스크립트(25), 혼동 가능 문자(50), 보이지 않는 문자(25), 숨겨진 페이로드(100)를 기반으로 누적됩니다(최대 100). 'text'의 경우 입력의 점수입니다. 'scan'의 경우 스캔된 모든 파일 중 최대 점수입니다. | text, scan |
--version | 버전 정보 출력. | 모든 명령 |
이 명령은 시스템의 표준 위치에 huntglyph를 다운로드하여 설치합니다.
권장 (사용자 수준):
Linux/macOS의 $HOME/.local/bin 또는 Windows의 사용자별 bin 디렉토리에 설치됩니다.
curl -sSfL https://raw.githubusercontent.com/gregory-chatelier/huntglyph/main/install.sh | sh
시스템 전체 (sudo 필요):
/usr/local/bin에 설치됩니다.
sudo curl -sSfL https://raw.githubusercontent.com/gregory-chatelier/huntglyph/main/install.sh | sh
사용자 지정 디렉토리:
INSTALL_DIR 환경 변수를 사용하여 사용자 지정 경로를 지정합니다.
curl -sSfL https://raw.githubusercontent.com/gregory-chatelier/huntglyph/main/install.sh | INSTALL_DIR=$HOME/bin sh
이 도구는 RAID 데이터셋의 하위 집합에 대해 검증되었으며, 호모글리프와 제로 너비 공백 조작을 식별하는 데 효과적임을 확인했습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.