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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
wheelaudit — Python Wheelファイルセキュリティスキャナー — インストール前に.whlファイルをスキャンしてセキュリティ問題を検出します。パストラバーサル(CVE-2026-24049)、RECORD改ざん、コマンドシャドウイング、シークレット、zip爆弾を検出。依存関係ゼロ。 | Kitploit
ツール/GitHubGitHub/kriskimmerle/wheelaudit
静的分析脆弱性分析コード分析構成監査マルウェア分析DevSecOpsシークレット検出サプライチェーンセキュリティ
GitHubkriskimmerle/wheelaudit

wheelaudit

Python Wheelファイルセキュリティスキャナー — インストール前に.whlファイルをスキャンしてセキュリティ問題を検出します。パストラバーサル(CVE-2026-24049)、RECORD改ざん、コマンドシャドウイング、シークレット、zip爆弾を検出。依存関係ゼロ。

リポジトリを見る
36ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

wheelaudit

Python Wheel ファイルセキュリティスキャナ — インストール前に .whl ファイルのセキュリティ問題をスキャンします。

Python の wheel 処理における最近の CVE に動機づけられています:

  • CVE-2026-24049: wheel 展開時のパストラバーサルにより、システムファイルの権限操作が可能
  • CVE-2026-1703: pip が wheel アーカイブをインストールする際のパストラバーサル
  • Google GHSA-w97x-xxj5-gpjx: Python wheel における Zip パーサーの差分脆弱性

依存関係ゼロ。単一ファイル。Python 3.9+。

なぜ?

pip-audit はパッケージに 既知の CVE があるかどうかをチェックします。wheelaudit は wheel ファイル自体が 構造的に悪意があるか — パストラバーサル、改ざんされた RECORD ハッシュ、埋め込まれたシークレット、コマンドシャドウイング、zip 爆弾など — をチェックします。これは「このパッケージは既知の悪意があるか?」と「このパッケージは悪意があるように見えるか?」の違いです。

pip install の前に実行してください。CI で実行してください。信頼できないダウンロードした wheel に対して実行してください。

インストール

root@kitploit:~
# ファイルをコピーするだけ
curl -O https://raw.githubusercontent.com/kriskimmerle/wheelaudit/main/wheelaudit.py
chmod +x wheelaudit.py

# またはリポジトリをクローン
git clone https://github.com/kriskimmerle/wheelaudit.git
cd wheelaudit

使用方法

root@kitploit:~
# wheel ファイルをスキャン
python3 wheelaudit.py package-1.0.0-py3-none-any.whl

# 複数の wheel をスキャン
python3 wheelaudit.py *.whl

# wheel のディレクトリをスキャン
python3 wheelaudit.py ./wheels/

# CI モード: スコアがしきい値を下回ると終了コード 1
python3 wheelaudit.py package.whl --check --min-score 80

# ツール連携用の JSON 出力
python3 wheelaudit.py package.whl --json

# 詳細付きの冗長モード
python3 wheelaudit.py package.whl -v

# 深刻度でフィルタリング
python3 wheelaudit.py package.whl --severity high

# 特定のルールを無視
python3 wheelaudit.py package.whl --ignore WH11

# 標準入力から読み取り
cat package.whl | python3 wheelaudit.py --stdin

ルール

ルール深刻度説明
WH01CRITICALファイル名のパストラバーサル (../、絶対パス、ヌルバイト)
WH02CRITICAL-HIGHRECORD ファイルの整合性 (欠落、改ざんされたハッシュ、未記載のファイル)
WH03HIGH-LOW疑わしいファイルタイプ (実行可能ファイル、pickle、アーカイブ、隠しファイル)
WH04CRITICALエントリポイントのコマンドシャドウイング (pip、python、sudo など)
WH05CRITICAL埋め込まれたシークレット (API キー、トークン、秘密鍵)
WH06CRITICAL-LOWファイル権限の問題 (SUID/SGID、全員書き込み可能、実行可能なデータ)
WH07HIGH-MEDIUMメタデータの整合性 (METADATA/WHEEL の欠落、構造上の問題)
WH08HIGHZip 爆弾の検出 (極端な圧縮率、過大なアーカイブ)
WH09HIGH-MEDIUMPEP 427 準拠 (ファイル名形式、名前/バージョンの不一致)
WH10CRITICAL名前空間の衝突 (stdlib モジュールのシャドウイング)
WH11HIGH-MEDIUM悪意のあるコードパターン (eval、exec、os.system、資格情報へのアクセス)
WH12MEDIUM-LOWデータファイルの問題 (.data/ 内のスクリプト、過大なファイル)
WH13HIGHCRC32 の操作 (CVE-2025-1889 バイパスパターン)
WH14HIGH拡張子の不一致 (.py/.txt に偽装した ELF/PE バイナリ)
WH15HIGH-MEDIUMシンボリックリンクと重複ファイル名

15 ルール、5 段階の深刻度

CRITICAL (20 ポイント): パストラバーサル、SUID ビット、埋め込まれたシークレット、コマンドシャドウイング、stdlib シャドウイング、RECORD ハッシュの改ざん

HIGH (12 ポイント): RECORD の欠落、疑わしい実行可能ファイル、zip 爆弾、CRC 操作、拡張子の不一致、シンボリックリンク、資格情報収集パターン

MEDIUM (6 ポイント): バックスラッシュパス、メタデータの欠落、PEP 427 の問題、subprocess/ネットワークパターン

LOW (2 ポイント): 隠しファイル、実行可能なデータファイル、大きなファイル

INFO (0 ポイント): 正当なネイティブ拡張、環境変数へのアクセス

出力例

クリーンな wheel (requests 2.32.5)

root@kitploit:~
============================================================
requests 2.32.5 — B (88/100)
============================================================

  [HIGH]
    WH11 疑わしいパターン: __import__() — 動的インポート (requests/packages.py)

  サマリー: high 1

悪意のある wheel

root@kitploit:~
============================================================
evil-pip 99.0.0 — F (0/100)
============================================================

  [CRITICAL]
    WH01 wheel アーカイブ内のパストラバーサル (../../../etc/crontab)
    WH04 エントリポイントがシステムコマンドをシャドウイング: 'pip'
    WH04 エントリポイントがシステムコマンドをシャドウイング: 'python'
    WH05 埋め込まれたシークレット: GitHub パーソナルアクセストークン (pip/__init__.py)

  [HIGH]
    WH02 RECORD に記載されていないファイル (../../../etc/crontab)
    WH03 疑わしいファイルタイプ: .exe (pip/payload.exe)
    WH11 疑わしいパターン: os.system() — シェルコマンド実行
    WH11 疑わしいパターン: eval() 呼び出し — 動的コード実行
    WH11 疑わしいパターン: SSH ディレクトリ参照

  サマリー: critical 4、high 5、medium 2、low 2

JSON 出力

root@kitploit:~
{
  "version": "0.1.0",
  "results": [
    {
      "path": "package-1.0.0-py3-none-any.whl",
      "score": 88,
      "grade": "B",
      "metadata": {
        "name": "package",
        "version": "1.0.0",
        "file_count": 15,
        "total_uncompressed_bytes": 45000
      },
      "findings": [
        {
          "rule": "WH11",
          "severity": "high",
          "message": "Suspicious pattern: __import__() — dynamic import",
          "file": "package/compat.py"
        }
      ],
      "summary": {
        "high": 1
      }
    }
  ]
}

CI 統合

GitHub Actions

root@kitploit:~
- name: Audit wheel
  run: |
    python3 wheelaudit.py dist/*.whl --check --min-score 80

インストール前のゲート

root@kitploit:~
pip download some-package --no-deps -d /tmp/wheels
python3 wheelaudit.py /tmp/wheels/*.whl --check
pip install /tmp/wheels/*.whl

仕組み

wheelaudit はすべての .whl ファイルを信頼できない zip アーカイブとして扱います。次のことを行います:

  1. zip メタデータを解析 (安全な検査のため展開しない)
  2. アーカイブ構造をチェック — パストラバーサル、シンボリックリンク、重複
  3. RECORD の整合性を検証 — ハッシュとファイルリスト
  4. ファイルタイプを検査 — 実行可能ファイル、バイナリ、隠しファイル
  5. テキストコンテンツをスキャン — シークレット、悪意のあるコードパターン
  6. PEP 427 準拠を検証 — ファイル名、メタデータ、構造
  7. 既知の攻撃パターンを検出 — CVE-2026-24049、CRC 操作、パーサー差分

ファイルはディスクに展開されません。すべての分析はメモリ内で行われます。

比較

機能wheelauditpip-auditsafetyGuardDog
依存関係ゼロ✅❌❌❌
wheel の内容をスキャン✅❌❌✅
パストラバーサル検出✅❌❌❌
RECORD の整合性✅❌❌❌
CVE データベース❌✅✅❌
オフライン動作✅❌❌❌
Python 3.9+✅✅✅✅

wheelaudit は pip-audit/safety を補完します — それらは既知の脆弱性をチェックし、wheelaudit は wheel 自体をチェックします。

ライセンス

MIT

ツールをダウンロード