O Diário do Analista
Vol. 2  |  N. 5  |  Pp. 161–164  |  2026  |  ISSN xxxx-xxxx

Análise de Ameaça: Ataque de Supply Chain no Laravel Lang Abusa de Tags do GitHub para Distribuir Infostealer

Um ataque sofisticado de Supply Chain (cadeia de suprimentos) direcionado aos pacotes de localização do Laravel Lang expôs desenvolvedores a uma campanha severa de roubo de credenciais. A técnica utilizada destaca-se por não introduzir novas releases maliciosas, mas sim por explorar uma funcionalidade de versionamento do GitHub para injetar malware silenciosamente através de pacotes do Composer.

Pesquisadores de segurança da StepSecurity, Aikido Security e Socket emitiram alertas detalhando o comprometimento. Vale ressaltar que os pacotes do Laravel Lang são bibliotecas de terceiros para localização de idiomas e não fazem parte do core oficial do framework Laravel.


Vetor de Comprometimento: 

De acordo com as análises, o atacante comprometeu entre 233 (segundo a Aikido) e aproximadamente 700 (segundo a Socket) versões históricas do projeto. Os repositórios afetados incluem:

  • laravel-lang/lang (o principal pacote de tradução)

  • laravel-lang/http-statuses

  • laravel-lang/attributes

  • laravel-lang/actions (possivelmente impactado)

Obs: Informações sobre quais versões foram comprometidas estão presentes na referência [5].

Em vez de modificar o código-fonte principal ou publicar novas versões de pacotes, os operadores da ameaça abusaram de uma mecânica do GitHub que permite que tags apontem para commits hospedados em forks do mesmo repositório.

Utilizando o que se presume ser uma credencial comprometida com permissão de push em nível de organização (org-wide push access), o atacante reescreveu todas as tags Git existentes para apontar para novos commits maliciosos em um fork sob seu controle. Como os pacotes continham os metadados de release legítimos, quando os desenvolvedores executavam o Composer para instalar as dependências, a ferramenta baixava o código adulterado sem levantar suspeitas.


Kill Chain e Análise do Payload

A injeção inicial funcionou como um dropper. O commit malicioso adicionou um arquivo chamado src/helpers.php, cujo carregamento foi garantido pela adição de sua referência na seção autoload do arquivo composer.json.

Uma vez executado durante os processos do Composer, este dropper estabelecia comunicação com um servidor de Comando e Controle (C2) no domínio flipboxstudio[.]info para o download de um payload secundário (second-stage payload).

Infostealer PHP Multiplataforma

O payload secundário é um poderoso infostealer (coletor de informações) escrito em PHP, projetado para operar em ambientes Linux, macOS e Windows. O malware emprega diversas expressões regulares (Regex) para varrer de forma agressiva arquivos locais (como .env) e variáveis de ambiente em busca de secrets. Os alvos de exfiltração incluem:

  • Cloud e Infraestrutura: Credenciais da AWS, Segredos do Kubernetes, Tokens do HashiCorp Vault.

  • Desenvolvimento e DevOps: Credenciais do Git, Secrets de CI/CD, Chaves privadas SSH.

  • Serviços de Terceiros: Tokens de API do GitHub, Slack e JWTs; Chaves do Stripe e Credenciais de Banco de Dados.

  • Dados Locais: Dados de navegadores, configurações de VPN, gerenciadores de senhas e carteiras de criptomoedas (incluindo frases de recuperação/seed phrases).


Vetor de Escalonamento em Ambientes Windows

Quando executado em sistemas Windows, a ameaça possui uma rotina de execução adicional. O script PHP extrai um executável codificado em Base64 embutido em si mesmo. Este binário é salvo na pasta %TEMP% com um nome .exe aleatório e executado imediatamente.

Análises reversas deste binário (apelidado de DebugElevator) indicam que ele foi desenvolvido especificamente para extrair chaves de App-Bound Encryption utilizadas pelos navegadores baseados em Chromium (Chrome, Brave e Edge). O objetivo é quebrar a criptografia local do navegador para roubar senhas salvas.

Um artefato interessante encontrado dentro do executável é o seu caminho PDB (Program Database): C:\Users\Mero\OneDrive\Desktop\stuff\claude\Chromium-DebugElevator\x64\Release\DebugChromium.pdb

A presença do nome de usuário “Mero” e do diretório “claude” sugere fortemente que os autores da ameaça utilizaram assistentes de Inteligência Artificial Generativa (como o Claude da Anthropic) para auxiliar na codificação do componente de malware focado em Windows.


Indicadores de Comprometimento (IoCs)

Para auxiliar as equipes de Blue Team, SOC e engenharia na busca proativa de ameaças (threat hunting), a lista abaixo contém os principais indicadores técnicos associados a esta campanha:

Indicadores de Rede (Network)

  • Domínio de C2: flipboxstudio[.]info

  • Requisição do Dropper: flipboxstudio[.]info/payload

  • Endpoint de Exfiltração de Dados: flipboxstudio[.]info/exfil

Arquivos e Caminhos (Host)

  • Marcador de Infecção: <tmp>/.laravel_locale/<md5_hash>

  • Stealer Extraído: <tmp>/.laravel_locale/<12_caracteres_hex_aleatórios>.php

  • Launcher para Windows: <tmp>/.laravel_locale/<8_caracteres_hex_aleatórios>.vbs

Nota técnica: A tag <tmp> refere-se ao diretório temporário do sistema operacional onde o pacote foi executado (ex: /tmp em sistemas Unix-like ou %TEMP% em ambientes Windows).


Mitigação

A equipe do Packagist respondeu prontamente à notificação do incidente, removendo as versões com tags maliciosas e suspendendo temporariamente a listagem dos pacotes afetados no repositório para barrar novas infecções.

Ações recomendadas para desenvolvedores afetados:

  1. Verifique rigorosamente as versões dos pacotes do laravel-lang instaladas recentemente em seus projetos locais, servidores e ambientes de CI/CD.

  2. Analise os logs de rede e firewall em busca de conexões outbound (de saída) para o domínio malicioso, e faça varreduras de arquivos nos diretórios temporários indicados na seção de IoCs.

  3. Caso haja suspeita de execução do código malicioso, adote a premissa de comprometimento total (assume breach). Rotacione imediatamente todas as credenciais em nuvem, tokens de API, chaves SSH e secrets de ambientes que estavam acessíveis na máquina afetada.


Referências:

[1] BleepingComputer: Laravel Lang packages hijacked to deploy credential-stealing malware

[2] Aikido Security: Supply chain attack targets Laravel Lang packages with credential stealer

[3] Socket Dev: Laravel Lang Compromise Analysis

[4] StepSecurity: Deep Dive into the Laravel Lang Supply Chain Attack

[5] Socket Dev: Inspeção do arquivo composer.json comprometido (v15.29.4)

 

Tags: , , , , , , .

Categorias: Alerta, Ataques, Github, GitHub Actions, Malware, Microsoft, PackageKit, Patches, Supply Chain.