Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
wheelaudit — # Analyseur de sécurité des fichiers Wheel Python — analyse les fichiers .whl pour détecter les problèmes de sécurité avant l'installation. Détecte le traversement de chemin (CVE-2026-24049), la falsification de RECORD, l'ombrage de commandes, les secrets, les bombes zip. Zéro dépendance. | Kitploit
Outils/GitHubGitHub/kriskimmerle/wheelaudit
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeAudit de ConfigurationAnalyse de MalwareDevSecOpsDétection de SecretsSécurité de la Chaîne Logistique
GitHubkriskimmerle/wheelaudit

wheelaudit

Voir le dépôt
3il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

# Analyseur de sécurité des fichiers Wheel Python — analyse les fichiers .whl pour détecter les problèmes de sécurité avant l'installation. Détecte le traversement de chemin (CVE-2026-24049), la falsification de RECORD, l'ombrage de commandes, les secrets, les bombes zip. Zéro dépendance.

Partager

wheelaudit

Scanner de sécurité pour fichiers Python Wheel — analysez les fichiers .whl pour détecter des problèmes de sécurité avant l'installation.

Motivé par des CVE récentes dans la gestion des wheels Python :

  • CVE-2026-24049 : Traversée de chemin lors du dépaquetage de wheel permettant la manipulation des permissions de fichiers système
  • CVE-2026-1703 : Traversée de chemin lors de l'installation d'archives wheel par pip
  • Google GHSA-w97x-xxj5-gpjx : Vulnérabilité de différentiel de parseur zip dans les wheels Python

Zéro dépendance. Fichier unique. Python 3.9+.

Pourquoi ?

pip-audit vérifie si vos paquets ont des CVE connues. wheelaudit vérifie si un fichier wheel est lui-même structurellement malveillant — traversée de chemin, hachages RECORD falsifiés, secrets intégrés, masquage de commandes, bombes zip, et plus encore. C'est la différence entre « ce paquet est-il connu comme dangereux ? » et « ce paquet a-t-il l'air dangereux ? »

Exécutez-le avant pip install. Exécutez-le en CI. Exécutez-le sur des wheels téléchargées auxquelles vous ne faites pas confiance.

Installation

root@kitploit:~
# Copiez simplement le fichier
curl -O https://raw.githubusercontent.com/kriskimmerle/wheelaudit/main/wheelaudit.py
chmod +x wheelaudit.py

# Ou clonez le dépôt
git clone https://github.com/kriskimmerle/wheelaudit.git
cd wheelaudit

Utilisation

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

# Analyser plusieurs wheels
python3 wheelaudit.py *.whl

# Analyser un répertoire de wheels
python3 wheelaudit.py ./wheels/

# Mode CI : sortie 1 si le score est inférieur au seuil
python3 wheelaudit.py package.whl --check --min-score 80

# Sortie JSON pour l'intégration d'outils
python3 wheelaudit.py package.whl --json

# Mode verbeux avec détails
python3 wheelaudit.py package.whl -v

# Filtrer par sévérité
python3 wheelaudit.py package.whl --severity high

# Ignorer des règles spécifiques
python3 wheelaudit.py package.whl --ignore WH11

# Lire depuis stdin
cat package.whl | python3 wheelaudit.py --stdin

Règles

RègleSévéritéDescription
WH01CRITIQUETraversée de chemin dans les noms de fichiers (../, chemins absolus, octets nuls)
WH02CRITIQUE-ÉLEVÉEIntégrité du fichier RECORD (manquant, hachages falsifiés, fichiers non répertoriés)
WH03ÉLEVÉE-FAIBLETypes de fichiers suspects (exécutables, pickle, archives, fichiers cachés)
WH04CRITIQUEMasquage de commandes de point d'entrée (pip, python, sudo, etc.)
WH05CRITIQUESecrets intégrés (clés API, jetons, clés privées)
WH06CRITIQUE-FAIBLEProblèmes de permissions de fichiers (SUID/SGID, écriture mondiale, données exécutables)
WH07ÉLEVÉE-MOYENNECohérence des métadonnées (METADATA/WHEEL manquants, problèmes structurels)
WH08ÉLEVÉEDétection de bombes zip (taux de compression extrêmes, archives surdimensionnées)
WH09ÉLEVÉE-MOYENNEConformité PEP 427 (format du nom de fichier, incohérence nom/version)
WH10CRITIQUECollision d'espace de noms (masquage de modules stdlib)
WH11ÉLEVÉE-MOYENNEModèles de code malveillants (eval, exec, os.system, accès aux identifiants)
WH12MOYENNE-FAIBLEProblèmes de fichiers de données (scripts dans .data/, fichiers surdimensionnés)
WH13ÉLEVÉEManipulation CRC32 (modèle de contournement CVE-2025-1889)
WH14ÉLEVÉEIncohérence d'extension (binaire ELF/PE déguisé en .py/.txt)
WH15ÉLEVÉE-MOYENNELiens symboliques et noms de fichiers en double

15 règles, 5 niveaux de sévérité

CRITIQUE (20 points) : Traversée de chemin, bits SUID, secrets intégrés, masquage de commandes, masquage stdlib, falsification de hachages RECORD

ÉLEVÉE (12 points) : RECORD manquant, exécutables suspects, bombes zip, manipulation CRC, incohérence d'extension, liens symboliques, modèles de collecte d'identifiants

MOYENNE (6 points) : Chemins avec barres obliques inversées, métadonnées manquantes, problèmes PEP 427, modèles subprocess/réseau

FAIBLE (2 points) : Fichiers cachés, fichiers de données exécutables, fichiers volumineux

INFO (0 points) : Extensions natives légitimes, accès aux variables d'environnement

Exemple de sortie

Wheel propre (requests 2.32.5)

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

  [ÉLEVÉE]
    WH11 Modèle suspect : __import__() — import dynamique (requests/packages.py)

  Résumé : 1 élevée

Wheel malveillante

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

  [CRITIQUE]
    WH01 Traversée de chemin dans l'archive wheel (../../../etc/crontab)
    WH04 Le point d'entrée masque une commande système : 'pip'
    WH04 Le point d'entrée masque une commande système : 'python'
    WH05 Secret intégré : jeton d'accès personnel GitHub (pip/__init__.py)

  [ÉLEVÉE]
    WH02 Fichier non répertorié dans RECORD (../../../etc/crontab)
    WH03 Type de fichier suspect : .exe (pip/payload.exe)
    WH11 Modèle suspect : os.system() — exécution de commande shell
    WH11 Modèle suspect : appel eval() — exécution de code dynamique
    WH11 Référence au répertoire SSH

  Résumé : 4 critiques, 5 élevées, 2 moyennes, 2 faibles

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

Intégration CI

GitHub Actions

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

Barrière pré-installation

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

Comment ça fonctionne

wheelaudit traite chaque fichier .whl comme une archive zip non fiable. Il :

  1. Analyse les métadonnées zip sans extraction (inspection sûre)
  2. Vérifie la structure de l'archive pour la traversée de chemin, les liens symboliques, les doublons
  3. Vérifie l'intégrité du RECORD — hachages et listes de fichiers
  4. Inspecte les types de fichiers — exécutables, binaires, fichiers cachés
  5. Analyse le contenu texte — secrets, modèles de code malveillants
  6. Valide la conformité PEP 427 — nom de fichier, métadonnées, structure
  7. Détecte les modèles d'attaque connus — CVE-2026-24049, manipulation CRC, différentiels de parseur

Aucun fichier n'est extrait sur le disque. Toute l'analyse se fait en mémoire.

Comparaison

Fonctionnalitéwheelauditpip-auditsafetyGuardDog
Zéro dépendance✅❌❌❌
Analyse le contenu des wheels✅❌❌✅
Détection de traversée de chemin✅❌❌❌
Intégrité du RECORD✅❌❌❌
Base de données CVE❌✅✅❌
Fonctionnement hors ligne✅❌❌❌
Python 3.9+✅✅✅✅

wheelaudit complète pip-audit/safety — ils vérifient les vulnérabilités connues, wheelaudit vérifie la wheel elle-même.

Licence

MIT

Télécharger l’outil