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
CVE-2026-22807_Range — # Simulador Educacional em Python para CVE-2026-22807 Simulador educacional em Python para a faixa de alvos da CVE-2026-22807, uma RCE na cadeia de suprimentos de IA via TOCTOU no carregamento de modelos. Inclui biblioteca vulnerável, script de PoC e geração dinâmica de payloads para pesquisa e ensino em segurança. | Kitploit
Ferramentas/GitHubGitHub/otakuliu/cve-2026-22807_range
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoSegurança da Cadeia de SuprimentosAprendizado e EducaçãoSegurança de IA
GitHubotakuliu/cve-2026-22807_range

CVE-2026-22807_Range

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 →
há 6 mesesAinda não revisado

Sobre

# Simulador Educacional em Python para CVE-2026-22807 Simulador educacional em Python para a faixa de alvos da CVE-2026-22807, uma RCE na cadeia de suprimentos de IA via TOCTOU no carregamento de modelos. Inclui biblioteca vulnerável, script de PoC e geração dinâmica de payloads para pesquisa e ensino em segurança.

Compartilhar

🛡️ Simulação CVE-2026-22807: Ambiente de Teste RCE na Cadeia de Suprimentos de IA

⚠️ Aviso Legal / Disclaimer

Este projeto destina-se exclusivamente a fins de pesquisa e ensino em segurança, com o objetivo de demonstrar o princípio de ataque à cadeia de suprimentos durante o carregamento de modelos de IA (Remote Code Execution). Não utilize os modelos maliciosos gerados em ambientes de produção e é estritamente proibido usar este projeto para qualquer atividade de ataque ilegal. Os desenvolvedores não se responsabilizam por quaisquer consequências legais decorrentes do uso inadequado.

📖 Introdução ao Projeto (Introduction)

Este é um ambiente de teste leve em Python, usado para simular e reproduzir a CVE-2026-22807 (uma lógica típica de vulnerabilidade na cadeia de suprimentos de IA).

Este ambiente demonstra o problema de condição de corrida (TOCTOU) quando frameworks de inferência de IA (como vLLM, Transformers, etc.) carregam modelos: se o carregador, antes de verificar trust_remote_code=False, importa prematuramente o código Python fornecido pelo usuário para resolver a arquitetura do modelo (AutoConfig/AutoModel), um atacante pode contornar a verificação de segurança e obter execução remota de código (RCE).

Principais Características

  • ❌ : reproduz o design incorreto de "primeiro analisa o código, depois verifica a permissão".
Simulação de lógica vulnerável
  • 💣 Geração dinâmica de Payload: suporta injeção de comandos personalizados do sistema via argumentos de linha de comando.
  • 🚀 Zero dependências: não requer instalação de PyTorch ou vLLM, apenas a biblioteca padrão do Python é suficiente para executar a validação.
  • 📂 Estrutura de Arquivos (Files)

    Nome do ArquivoPapelDescrição
    vulnerable_lib.py🎯 Alvo (Victim)Simula a biblioteca carregadora de modelos de IA vulnerável (MiniLLM). Contém a ordem lógica incorreta.
    poc_dynamic.py🔫 Atacante (Attacker)Script de ataque automatizado. Responsável por gerar o diretório do modelo malicioso e acionar o processo de carregamento.
    dynamic_evil_model/📦 Payload maliciosoDiretório gerado automaticamente após a execução do script, contendo config.json e malicious.py com código injetado.

    🛠️ Início Rápido (Quick Start)

    1. Preparação do Ambiente

    Certifique-se de ter Python 3.x instalado. Este ambiente não possui dependências de bibliotecas de terceiros.

    2. Validação Básica

    Execute diretamente o script de ataque; por padrão, ele executa o comando whoami.

    root@kitploit:~
    python poc_dynamic.py
    

    Saída esperada: Você verá o console imprimir a palavra PWNED e o nome de usuário atual do sistema; em seguida, o programa lançará a exceção "Remote code not allowed". Isso prova que a defesa foi contornada.

    3. Exploração Avançada (Comandos Personalizados)

    Você pode passar qualquer comando do sistema como argumento para o script, gerando uma "bomba" específica.

    Exemplo no Windows (abrir calculadora):

    root@kitploit:~
    python poc_dynamic.py calc
    

    Exemplo no Linux/Mac (visualizar arquivo):

    root@kitploit:~
    python poc_dynamic.py cat /etc/passwd
    

    🔍 Análise Técnica da Vulnerabilidade (Technical Analysis)

    Fluxo Lógico da Vulnerabilidade

    Este ambiente reproduz o seguinte fluxo perigoso:

    1. Carregar configuração: o carregador lê o config.json.
    2. Resolver arquitetura (Vulnerabilidade): o carregador encontra o campo auto_map e, para confirmar a classe do modelo, executa diretamente o importlib para importar o arquivo Python alvo.
    3. Execução de código (Exploit): devido ao mecanismo de import do Python, o os.system() no nível superior do arquivo malicioso é executado imediatamente.
    4. Verificação de segurança (Bypass): somente após a execução do código o carregador verifica trust_remote_code. Embora a execução seja interrompida e um erro seja lançado neste ponto, o ataque já foi concluído.

    Comparação do Código Principal

    ❌ Código vulnerável (vulnerable_lib.py):

    root@kitploit:~
    # 1. Primeiro aciona o carregamento do código (RCE ocorre aqui)
    self._resolve_model_class() 
    
    # 2. Depois realiza a verificação de segurança (tarde demais)
    if not self.trust_remote_code:
        raise RuntimeError("Aborted!")
    

    ✅ Solução Corrigida:

    root@kitploit:~
    # 1. Primeiro realiza a verificação de segurança
    if not self.trust_remote_code and self._needs_remote_code():
        raise RuntimeError("Aborted!")
    
    # 2. Somente após a verificação ser aprovada, carrega o código
    self._resolve_model_class()
    
    Baixar ferramenta