Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
wheelaudit — # Escáner de Seguridad para Archivos Python Wheel — analiza archivos .whl en busca de problemas de seguridad antes de la instalación. Detecta path traversal (CVE-2026-24049), manipulación de RECORD, sombreado de comandos, secretos y bombas zip. Sin dependencias. | Kitploit
Herramientas/GitHubGitHub/kriskimmerle/wheelaudit
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoAuditoría de ConfiguraciónAnálisis de MalwareDevSecOpsDetección de SecretosSeguridad de Cadena de Suministro
GitHubkriskimmerle/wheelaudit

wheelaudit

# Escáner de Seguridad para Archivos Python Wheel — analiza archivos .whl en busca de problemas de seguridad antes de la instalación. Detecta path traversal (CVE-2026-24049), manipulación de RECORD, sombreado de comandos, secretos y bombas zip. Sin dependencias.

3hace 6 mesesAún no revisado
Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

wheelaudit

Escáner de seguridad para archivos Python Wheel — analiza archivos .whl en busca de problemas de seguridad antes de la instalación.

Motivado por CVEs recientes en el manejo de wheels de Python:

  • CVE-2026-24049: Path traversal en el desempaquetado de wheels permite la manipulación de permisos de archivos del sistema
  • CVE-2026-1703: Path traversal cuando pip instala archivos wheel
  • Google GHSA-w97x-xxj5-gpjx: Vulnerabilidad diferencial del analizador zip en wheels de Python

Cero dependencias. Un solo archivo. Python 3.9+.

¿Por qué?

pip-audit verifica si tus paquetes tienen CVEs conocidos. wheelaudit verifica si un archivo wheel en sí mismo es estructuralmente malicioso — path traversal, hashes RECORD manipulados, secretos incrustados, sombreado de comandos, zip bombs y más. Es la diferencia entre "¿se sabe que este paquete es malo?" y "¿este paquete parece malo?"

Ejecútalo antes de pip install. Ejecútalo en CI. Ejecútalo en wheels descargados en los que no confías.

Instalación

root@kitploit:~
# Simplemente copia el archivo
curl -O https://raw.githubusercontent.com/kriskimmerle/wheelaudit/main/wheelaudit.py
chmod +x wheelaudit.py

# O clona el repositorio
git clone https://github.com/kriskimmerle/wheelaudit.git
cd wheelaudit

Uso

root@kitploit:~
# Analiza un archivo wheel
python3 wheelaudit.py package-1.0.0-py3-none-any.whl

# Analiza múltiples wheels
python3 wheelaudit.py *.whl

# Analiza un directorio de wheels
python3 wheelaudit.py ./wheels/

# Modo CI: sale con código 1 si la puntuación está por debajo del umbral
python3 wheelaudit.py package.whl --check --min-score 80

# Salida JSON para integración con herramientas
python3 wheelaudit.py package.whl --json

# Modo verboso con detalles
python3 wheelaudit.py package.whl -v

# Filtra por severidad
python3 wheelaudit.py package.whl --severity high

# Ignora reglas específicas
python3 wheelaudit.py package.whl --ignore WH11

# Lee desde stdin
cat package.whl | python3 wheelaudit.py --stdin

Reglas

ReglaSeveridadDescripción
WH01CRÍTICAPath traversal en nombres de archivo (../, rutas absolutas, bytes nulos)
WH02CRÍTICA-ALTAIntegridad del archivo RECORD (faltante, hashes manipulados, archivos no listados)
WH03ALTA-BAJATipos de archivo sospechosos (ejecutables, pickle, archivos comprimidos, archivos ocultos)
WH04CRÍTICASombreado de comandos de punto de entrada (pip, python, sudo, etc.)
WH05CRÍTICASecretos incrustados (claves API, tokens, claves privadas)
WH06CRÍTICA-BAJAProblemas de permisos de archivo (SUID/SGID, escribible por todos, datos ejecutables)
WH07ALTA-MEDIAConsistencia de metadatos (METADATA/WHEEL faltantes, problemas estructurales)
WH08ALTADetección de zip bomb (ratios de compresión extremos, archivos sobredimensionados)
WH09ALTA-MEDIACumplimiento de PEP 427 (formato de nombre de archivo, discrepancia nombre/versión)
WH10CRÍTICAColisión de espacios de nombres (sombreado de módulos de la stdlib)
WH11ALTA-MEDIAPatrones de código malicioso (eval, exec, os.system, acceso a credenciales)
WH12MEDIA-BAJAProblemas de archivos de datos (scripts en .data/, archivos sobredimensionados)
WH13ALTAManipulación de CRC32 (patrón de evasión CVE-2025-1889)
WH14ALTADiscrepancia de extensión (binario ELF/PE disfrazado como .py/.txt)
WH15ALTA-MEDIAEnlaces simbólicos y nombres de archivo duplicados

15 reglas, 5 niveles de severidad

CRÍTICA (20 puntos): Path traversal, bits SUID, secretos incrustados, sombreado de comandos, sombreado de stdlib, manipulación de hashes RECORD

ALTA (12 puntos): RECORD faltante, ejecutables sospechosos, zip bombs, manipulación de CRC, discrepancia de extensión, enlaces simbólicos, patrones de recolección de credenciales

MEDIA (6 puntos): Rutas con barras invertidas, metadatos faltantes, problemas de PEP 427, patrones de subprocesos/red

BAJA (2 puntos): Archivos ocultos, archivos de datos ejecutables, archivos grandes

INFO (0 puntos): Extensiones nativas legítimas, acceso a variables de entorno

Ejemplo de salida

Wheel limpio (requests 2.32.5)

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

  [ALTA]
    WH11 Patrón sospechoso: __import__() — importación dinámica (requests/packages.py)

  Resumen: 1 alta

Wheel malicioso

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

  [CRÍTICA]
    WH01 Path traversal en archivo wheel (../../../etc/crontab)
    WH04 El punto de entrada sombrea un comando del sistema: 'pip'
    WH04 El punto de entrada sombrea un comando del sistema: 'python'
    WH05 Secreto incrustado: GitHub Personal Access Token (pip/__init__.py)

  [ALTA]
    WH02 Archivo no listado en RECORD (../../../etc/crontab)
    WH03 Tipo de archivo sospechoso: .exe (pip/payload.exe)
    WH11 Patrón sospechoso: os.system() — ejecución de comandos de shell
    WH11 Patrón sospechoso: llamada a eval() — ejecución dinámica de código
    WH11 Patrón sospechoso: referencia al directorio SSH

  Resumen: 4 críticas, 5 altas, 2 medias, 2 bajas

Salida 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
      }
    }
  ]
}

Integración con CI

GitHub Actions

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

Puerta de pre-instalación

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

Cómo funciona

wheelaudit trata cada archivo .whl como un archivo zip no confiable. Este:

  1. Analiza los metadatos del zip sin extraer (inspección segura)
  2. Verifica la estructura del archivo en busca de path traversal, enlaces simbólicos, duplicados
  3. Valida la integridad del RECORD — hashes y listas de archivos
  4. Inspecciona los tipos de archivo — ejecutables, binarios, archivos ocultos
  5. Escanea el contenido de texto — secretos, patrones de código malicioso
  6. Valida el cumplimiento de PEP 427 — nombre de archivo, metadatos, estructura
  7. Detecta patrones de ataque conocidos — CVE-2026-24049, manipulación de CRC, diferenciales de analizadores

No se extraen archivos al disco. Todo el análisis ocurre en memoria.

Comparación

Característicawheelauditpip-auditsafetyGuardDog
Cero dependencias✅❌❌❌
Analiza el contenido del wheel✅❌❌✅
Detección de path traversal✅❌❌❌
Integridad del RECORD✅❌❌❌
Base de datos de CVEs❌✅✅❌
Operación sin conexión✅❌❌❌
Python 3.9+✅✅✅✅

wheelaudit complementa a pip-audit/safety — ellos verifican vulnerabilidades conocidas, wheelaudit verifica el wheel en sí mismo.

Licencia

MIT

Descargar herramienta