Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/kriskimmerle/wheelaudit
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoAuditoria de ConfiguraçãoAnálise de MalwareDevSecOpsDetecção de SegredosSegurança da Cadeia de Suprimentos
GitHubkriskimmerle/wheelaudit

wheelaudit

# Scanner de Segurança para Arquivos Python Wheel — analisa arquivos .whl em busca de problemas de segurança antes da instalação. Detecta path traversal (CVE-2026-24049), adulteração de RECORD, shadowing de comandos, segredos e zip bombs. Zero dependências.

3há 6 mesesAinda não revisado
Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

wheelaudit

Scanner de Segurança para Arquivos Python Wheel — analise arquivos .whl em busca de problemas de segurança antes da instalação.

Motivado por CVEs recentes no tratamento de wheels em Python:

  • CVE-2026-24049: Path traversal na descompactação de wheels permite manipulação de permissões de arquivos do sistema
  • CVE-2026-1703: Path traversal quando o pip instala arquivos wheel
  • Google GHSA-w97x-xxj5-gpjx: Vulnerabilidade diferencial no parser zip em wheels Python

Zero dependências. Arquivo único. Python 3.9+.

Por quê?

O pip-audit verifica se seus pacotes possuem CVEs conhecidos. O wheelaudit verifica se um arquivo wheel em si é estruturalmente malicioso — path traversal, hashes RECORD adulterados, segredos embutidos, sombreamento de comandos, zip bombs e muito mais. É a diferença entre "este pacote é conhecidamente ruim?" e "este pacote parece ruim?"

Execute antes do pip install. Execute no CI. Execute em wheels baixados que você não confia.

Instalação

root@kitploit:~
# Apenas copie o arquivo curl -O https://raw.githubusercontent.com/kriskimmerle/wheelaudit/main/wheelaudit.py chmod +x wheelaudit.py # Ou clone o repositório git clone https://github.com/kriskimmerle/wheelaudit.git cd wheelaudit

Uso

root@kitploit:~
# Analisar um arquivo wheel
python3 wheelaudit.py package-1.0.0-py3-none-any.whl

# Analisar múltiplos wheels
python3 wheelaudit.py *.whl

# Analisar um diretório de wheels
python3 wheelaudit.py ./wheels/

# Modo CI: sair com código 1 se a pontuação estiver abaixo do limite
python3 wheelaudit.py package.whl --check --min-score 80

# Saída JSON para integração com ferramentas
python3 wheelaudit.py package.whl --json

# Modo verboso com detalhes
python3 wheelaudit.py package.whl -v

# Filtrar por severidade
python3 wheelaudit.py package.whl --severity high

# Ignorar regras específicas
python3 wheelaudit.py package.whl --ignore WH11

# Ler da entrada padrão
cat package.whl | python3 wheelaudit.py --stdin

Regras

RegraSeveridadeDescrição
WH01CRÍTICAPath traversal em nomes de arquivo (../, caminhos absolutos, bytes nulos)
WH02CRÍTICA-ALTAIntegridade do arquivo RECORD (ausente, hashes adulterados, arquivos não listados)
WH03ALTA-BAIXATipos de arquivo suspeitos (executáveis, pickle, arquivos compactados, arquivos ocultos)
WH04CRÍTICASombreamento de comandos de entry point (pip, python, sudo, etc.)
WH05CRÍTICASegredos embutidos (chaves de API, tokens, chaves privadas)
WH06CRÍTICA-BAIXAProblemas de permissão de arquivo (SUID/SGID, gravável por todos, dados executáveis)
WH07ALTA-MÉDIAConsistência de metadados (METADATA/WHEEL ausentes, problemas estruturais)
WH08ALTADetecção de zip bomb (taxas de compressão extremas, arquivos superdimensionados)
WH09ALTA-MÉDIAConformidade com PEP 427 (formato do nome do arquivo, incompatibilidade nome/versão)
WH10CRÍTICAColisão de namespace (sombreamento de módulos da stdlib)
WH11ALTA-MÉDIAPadrões de código malicioso (eval, exec, os.system, acesso a credenciais)
WH12MÉDIA-BAIXAProblemas com arquivos de dados (scripts em .data/, arquivos superdimensionados)
WH13ALTAManipulação de CRC32 (padrão de bypass CVE-2025-1889)
WH14ALTAIncompatibilidade de extensão (binário ELF/PE disfarçado de .py/.txt)
WH15ALTA-MÉDIASymlinks e nomes de arquivo duplicados

15 regras, 5 níveis de severidade

CRÍTICA (20 pontos): Path traversal, bits SUID, segredos embutidos, sombreamento de comandos, sombreamento da stdlib, adulteração de hash RECORD

ALTA (12 pontos): RECORD ausente, executáveis suspeitos, zip bombs, manipulação de CRC, incompatibilidade de extensão, symlinks, padrões de coleta de credenciais

MÉDIA (6 pontos): Caminhos com barra invertida, metadados ausentes, problemas de PEP 427, padrões de subprocess/rede

BAIXA (2 pontos): Arquivos ocultos, arquivos de dados executáveis, arquivos grandes

INFO (0 pontos): Extensões nativas legítimas, acesso a variáveis de ambiente

Exemplo de Saída

Wheel limpo (requests 2.32.5)

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

  [ALTA]
    WH11 Padrão suspeito: __import__() — importação dinâmica (requests/packages.py)

  Resumo: 1 alta

Wheel malicioso

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

  [CRÍTICA]
    WH01 Path traversal no arquivo wheel (../../../etc/crontab)
    WH04 Entry point sombreia comando do sistema: 'pip'
    WH04 Entry point sombreia comando do sistema: 'python'
    WH05 Segredo embutido: GitHub Personal Access Token (pip/__init__.py)

  [ALTA]
    WH02 Arquivo não listado no RECORD (../../../etc/crontab)
    WH03 Tipo de arquivo suspeito: .exe (pip/payload.exe)
    WH11 Padrão suspeito: os.system() — execução de comando shell
    WH11 Padrão suspeito: chamada eval() — execução dinâmica de código
    WH11 Padrão suspeito: referência ao diretório SSH

  Resumo: 4 críticas, 5 altas, 2 médias, 2 baixas

Saída 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
      }
    }
  ]
}

Integração com CI

GitHub Actions

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

Portão pré-instalação

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

Como Funciona

O wheelaudit trata cada arquivo .whl como um arquivo zip não confiável. Ele:

  1. Analisa os metadados do zip sem extrair (inspeção segura)
  2. Verifica a estrutura do arquivo quanto a path traversal, symlinks, duplicatas
  3. Valida a integridade do RECORD — hashes e listas de arquivos
  4. Inspeciona tipos de arquivo — executáveis, binários, arquivos ocultos
  5. Examina conteúdo de texto — segredos, padrões de código malicioso
  6. Valida conformidade com PEP 427 — nome do arquivo, metadados, estrutura
  7. Detecta padrões de ataque conhecidos — CVE-2026-24049, manipulação de CRC, diferenciais de parser

Nenhum arquivo é extraído para o disco. Toda a análise ocorre em memória.

Comparação

Recursowheelauditpip-auditsafetyGuardDog
Zero dependências✅❌❌❌
Analisa conteúdo do wheel✅❌❌✅
Detecção de path traversal✅❌❌❌
Integridade do RECORD✅❌❌❌
Banco de dados de CVEs❌✅✅❌
Operação offline✅❌❌❌
Python 3.9+✅✅✅✅

O wheelaudit complementa o pip-audit/safety — eles verificam vulnerabilidades conhecidas, o wheelaudit verifica o próprio wheel.

Licença

MIT

Baixar ferramenta