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

规则

15 条规则,5 个严重级别

CRITICAL(20 分):路径遍历、SUID 位、嵌入的机密信息、命令遮蔽、标准库遮蔽、RECORD 哈希篡改

HIGH(12 分):缺失 RECORD、可疑可执行文件、zip 炸弹、CRC 篡改、扩展名不匹配、符号链接、凭据收集模式

MEDIUM(6 分):反斜杠路径、缺失元数据、PEP 427 问题、子进程/网络模式

LOW(2 分):隐藏文件、可执行数据文件、大文件

INFO(0 分):合法的原生扩展、环境变量访问

示例输出

干净的 wheel(requests 2.32.5)

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

  [HIGH]
    WH11 可疑模式:__import__() — 动态导入 (requests/packages.py)

  摘要:1 个 high

恶意的 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() — shell 命令执行
    WH11 可疑模式:eval() 调用 — 动态代码执行
    WH11 可疑模式:SSH 目录引用

  摘要:4 个 critical,5 个 high,2 个 medium,2 个 low

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 篡改、解析器差分

不会将任何文件解压到磁盘。所有分析都在内存中完成。

对比

wheelaudit 是对 pip-audit/safety 的补充 — 它们检查已知漏洞,wheelaudit 检查 wheel 本身。

许可证

MIT

下载工具
规则严重级别描述
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命名空间冲突(标准库模块遮蔽)
WH11HIGH-MEDIUM恶意代码模式(eval、exec、os.system、凭据访问)
WH12MEDIUM-LOW数据文件问题(.data/ 中的脚本、超大文件)
WH13HIGHCRC32 篡改(CVE-2025-1889 绕过模式)
WH14HIGH扩展名不匹配(伪装成 .py/.txt 的 ELF/PE 二进制)
WH15HIGH-MEDIUM符号链接和重复文件名
功能wheelauditpip-auditsafetyGuardDog
零依赖✅❌❌❌
扫描 wheel 内容✅❌❌✅
路径遍历检测✅❌❌❌
RECORD 完整性✅❌❌❌
CVE 数据库❌✅✅❌
离线运行✅❌❌❌
Python 3.9+✅✅✅✅