Aikido

Ataque à cadeia de abastecimento visa pacotes Laravel-Lang com um programa de roubo de credenciais

Escrito por
Ilyas Makari

Em 22 de maio de 2026, detetámos um ataque ativo à cadeia de abastecimento contra o Laravel-Lang. Enviámos imediatamente um relatório aos responsáveis pela manutenção. O atacante publicou tags de versão maliciosas em três repositórios amplamente utilizados, inserindo código destinado a roubar credenciais que é carregado automaticamente através da funcionalidade de carregamento automático do Composer.

O que torna isto particularmente dissimulado é o facto de o código malicioso nunca ter sido submetido aos repositórios oficiais. O GitHub permite que as etiquetas de versão apontem para submissões de um fork do mesmo repositório. O atacante aproveitou-se disso para criar etiquetas que apontavam para submissões num fork malicioso que controlava.

Atualmente, 233 versões estão comprometidas em:

  • laravel-lang/lang (7,8 mil estrelas)
  • laravel-lang/atributos
  • laravel-lang/códigos-de-estado-http

Também comunicámos o ataque à Packagist, que reagiu de imediato retirando as versões maliciosas e suspendendo temporariamente a disponibilização dos pacotes afetados, para impedir novas instalações.

Fase 1: O conta-gotas

O atacante introduziu um ficheiro chamado src/helpers.php nas tags de versão afetadas. À primeira vista, parece um auxiliar de localização de rotina do Laravel, que define duas funções inofensivas: laravel_lang_locale() e laravel_lang_fallback(). Abaixo dessas funções, começa o verdadeiro trabalho.

Um bloco de código autoexecutável é executado uma única vez em cada máquina que infeta. Ele identifica o anfitrião utilizando um hash do caminho do ficheiro, do nome do anfitrião e do inode, e depois grava um ficheiro marcador no diretório temporário do sistema para que seja executado apenas uma vez. O domínio C2 está oculto dentro de uma matriz de inteiros descodificada em tempo de execução para escapar aos scanners estáticos. Ele resolve para flipboxstudio[.]info.

O dropper vai então buscar uma carga útil a partir de flipboxstudio[.]info/payload utilizando o `file_get_contents` com um mecanismo alternativo `curl`, ambos com a verificação SSL desativada. No Windows, cria um executável .vbs e executa a carga útil silenciosamente através do `cscript`. No Linux e no macOS, executa a carga útil em segundo plano através de exec().

Fase 2: O ladrão

A carga útil obtida é um programa de roubo de credenciais em PHP com cerca de 5 900 linhas, organizado em quinze módulos coletores especializados. Depois de recolher tudo o que consegue encontrar, encripta os resultados com AES-256 e envia-os para flipboxstudio[.]info/exfil. Em seguida, apaga-se do disco para limitar as provas forenses.

O que ele rouba

Cloud

  • Chaves de acesso, chaves secretas e tokens de sessão da AWS (da variável de ambiente, ~/.aws/credentials e metadados de instâncias EC2 ativas)
  • Credenciais predefinidas da aplicação GCP, bases de dados de tokens de acesso e todas as configurações da CLI especificadas
  • Tokens de acesso do Azure, cache MSAL e perfis de entidade de serviço
  • Tokens de autenticação da DigitalOcean, Heroku, Vercel, Netlify, Railway e Fly.io

secrets da infraestrutura

  • Todos os ficheiros kubeconfig, incluindo /etc/kubernetes/admin.conf
  • Tokens do HashiCorp Vault
  • Configurações do repositório Helm
  • Docker config.json

Credenciais do programador

  • Chaves privadas SSH
  • Todos .git-credentials e .gitconfig files
  • .netrc, .npmrc, .yarnrc, .pypirc, .gem/credentials, .composer/auth.json
  • Tokens de autenticação do GitHub CLI, GitLab CLI e Hub CLI
  • Ficheiros de histórico do shell (bash, zsh, psql, mysql, python, node)
  • Todos .env ficheiros e ficheiros de configuração encontrados através de uma análise recursiva do diretório de trabalho (wp-config.php, settings.py, docker-compose.yml, secrets.yaml e outros)

Navegadores e gestores de palavras-passe

  • Senhas guardadas de 17 navegadores baseados no Chromium: Chrome, Edge, Brave, Opera, Opera GX, Vivaldi, Chromium, Yandex e outros. No Windows, um utilitário incluído .exe é executado para descodificar a base de dados de inícios de sessão do Chrome protegida por DPAPI
  • Firefox e Thunderbird logins.json e key4.db em todos os perfis
  • KeePass .kdbx e .kdb ficheiros de base de dados
  • Ficheiros de cofre local 1Password do Bitwarden

Carteiras de criptomoedas

  • Ficheiros de carteiras de Bitcoin, Ethereum, Monero, Litecoin, Dash, Dogecoin e Zcash
  • Carteiras Electrum, Exodus, Atomic, Ledger Live, Trezor, Wasabi e Sparrow
  • Carteiras de extensão para navegador, por ID de extensão: MetaMask, Phantom, Trust Wallet, Ronin, Keplr, Solflare e Rabby

Específico do Windows

  • Entradas do Gestor de Credenciais e do Cofre do Windows
  • Sessões guardadas no PuTTY e no WinSCP (as palavras-passe do WinSCP são descodificadas em tempo real)
  • .rdp ficheiros da Área de Trabalho, Documentos e Transferências
  • Perfis do Registo do Outlook, inventário de ficheiros OST/PST e entradas do Gestor de Credenciais para serviços da Microsoft

Plataformas de comunicação

  • Tokens do Slack
  • Tokens de bots do Discord 
  • Tokens de bots do Telegram

Configurações de VPN

  • Ficheiros de configuração e credenciais extraídas para NordVPN, ExpressVPN, ProtonVPN, CyberGhost, Private Internet Access, Windscribe, Mullvad, Surfshark, WireGuard e OpenVPN

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.

Indicadores de comprometimento

Rede

  • flipboxstudio.info (domínio C2)
  • flipboxstudio.info/payload (busca do conta-gotas)
  • flipboxstudio.info/exfil (terminal de exfiltração)

Ficheiros e caminhos

  • <tmp>/.laravel_locale/<md5_hash> (marcador de infeção)
  • <tmp>/.laravel_locale/<12 random hex chars>.php (ladrão fugitivo)
  • <tmp>/.laravel_locale/<8 random hex chars>.vbs (Aplicativo de inicialização do Windows)
Compartilhar:

https://www.aikido.dev/blog/supply-chain-attack-targets-laravel-lang-packages-with-credential-stealer

Assine para receber notícias

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.