
Atacantes adotaram projetos órfãos no Arch User Repository, alteraram scripts de build e usaram pacotes npm maliciosos para executar um coletor de credenciais de desenvolvedores, com persistência via systemd e ocultação eBPF quando há privilégios de root
| Componente | Pacotes do Arch User Repository (AUR), scripts PKGBUILD e.install, pacotes npm atomic-lockfile@1.4.2 e js-digest, binário ELF deps em Rust |
| Vetor | Adoção de pacotes abandonados no AUR, edição de receitas de build para invocar npm install atomic-lockfile ou bun install js-digest, com hook preinstall que executa o payload durante a compilação local |
| Impacto | Roubo de sessões de aplicativos Electron, tokens de GitHub/npm/Vault/OpenAI e outros segredos de desenvolvedor; persistência via systemd; ocultação opcional de processos e sockets por rootkit eBPF quando o binário já roda como root |
| Prioridade | Confrontar pacotes AUR instalados ou atualizados a partir de 11 de junho de 2026 com listas comunitárias, caçar hooks maliciosos e serviços systemd desconhecidos, rotacionar credenciais expostas e reinstalar hosts que executaram o payload com root |
| Versões | Campanha rastreada como Sonatype-2026-003775 (CVSS 8,7); sem CVE atribuído; exemplos confirmados incluem alvr e premake-git |
| Artefatos | Binário principal SHA-256 6144d433f8a0316869877b5f834c801251bbb936e5f1577c5680878c7443c948b; mapas eBPF hidden_pids, hidden_names e hidden_inodes; possível segundo artefato ligado a monero-wallet-gui |
| IoCs | Referências de build a atomic-lockfile e js-digest, caminho src/hooks/deps, uploads HTTP para serviço de hospedagem temporária, C2 via serviço onion Tor por proxy local em loopback |
| Mitigação | Reverter commits maliciosos, banir contas abusivas, inspecionar PKGBUILD antes de compilar, validar metadados de commit e adoções recentes, e tratar execução confirmada como comprometimento de credenciais |
Operadores comprometeram mais de quatrocentos pacotes no Arch User Repository durante a semana em curso, alterando instruções de build para implantar um infostealer escrito em Rust em qualquer estáção que compilasse ou atualizasse os pacotes afetados. O repositório comunitário AUR permanece separado dos repositórios oficiais do Arch Linux, que não foram impactados por essa onda. A campanha, identificada como Atomic Arch, explora o modelo de confiança do ecossistema: nomes, histórico e reputação dos pacotes foram preservados, enquanto apenas receitas de compilação e hooks de instalação passaram a carregar código malicioso.
A intrusão não depende de exploit de zero-day nem de violação dos sistemas centrais do Arch. Os invasores adotaram projetos órfãos cujos mantenedores originais haviam abandonado o pacote, editaram PKGBUILD ou scripts .install e induziram administradores locais a executar o payload durante o fluxo normal de build. Metadados de commit git foram falsificados para simular continuidade de um mantenedor legítimo, embora a conta citada tenha sido posteriormente confirmada como não comprometida por um Trusted User do Arch.
O binário principal coleta segredos típicos de estáções de desenvolvimento e pipelines locais, envia artefatos por HTTP para um serviço de upload temporário e mantém canal de comando e controle por serviço onion Tor através de proxy local. Quando obtém execução com privilégios elevados e capacidades adequadas, pode carregar um rootkit eBPF opcional que oculta processos, nomes e inodes de socket de ferramentas convencionais. A remoção do pacote AUR comprometido não garante limpeza após a execução do payload, especialmente se o rootkit tiver sido ativado.
Após assumir a manutenção de um pacote abandonado, o atacante insere na receita de build a instalação do pacote npm atomic-lockfile@1.4.2. Esse módulo inclui um hook preinstall que dispara um ELF Linux empacotado chamado deps durante a compilação do pacote AUR. O fluxo malicioso ocorre no momento em que o usuário executa o build local: o gerenciador npm puxa dependências legítimas junto ao pacote malicioso, preservando aparência de normalidade. Exemplos reportados à lista de discussão do Arch incluem os pacotes alvr e premake-git.
Uma segunda onda reutilizou contas distintas ligadas ao mesmo publicador npm, introduzindo bun install js-digest em outro conjunto de receitas. Esse caminho entrega um ELF diferente, também sinalizado como malicioso pela comunidade, ampliando a superfície além do primeiro binário. No registro npm, atomic-lockfile registrou apenas cento e trinta e quatro downloads semanais antes da remoção, indicando que a exposição real concentra-se no caminho de build AUR, não em instalações diretas via npm.
A análise independente do payload deps descreve um infostealer orientado a credenciais de desenvolvedor. Ele exfiltra dados por HTTP para um serviço de hospedagem temporária e estabelece persistência instalando unidade systemd com política de reinício contínuo. Com privilégios de root, copia artefatos para diretório sob /var/lib/ e registra serviço em /etc/systemd/system/; sem root, utiliza diretório home e unidade em ~/.config/systemd/user/. O componente eBPF não eleva privilégios: só entra em ação quando o processo já possui root e capacidade compatível, ocultando o malware de inspeções padrão e tentando impedir anexação de depurador por meio de mapas BPF fixados.
Relatos iniciais superestimaram o papel do rootkit eBPF, que permanece opcional e secundário em relação ao roubo de credenciais. A análise também aponta um segundo arquivo relacionado a monero-wallet-gui, tratado como possível minerador ainda não totalmente analisado. A combinação de exfiltração rápida de segredos com ocultação no núcleo torna a resposta de incidente mais exigente do que em casos típicos de supply chain limitados ao artefato do pacote.
A superfície principal são estáções Arch Linux e ambientes de build que compilaram ou atualizaram pacotes AUR a partir de 11 de junho de 2026. Usuários que confiaram apenas no nome histórico do pacote, sem revisar adoções recentes ou alterações súbitas em hooks, ficaram expostos ao payload durante a compilação local. Repositórios oficiais do Arch Linux e pacotes que não passaram por esse fluxo de build comprometido permanecem fora do escopo direto descrito nos relatos.
Organizações com desenvolvedores que utilizam AUR para ferramentas de realidade virtual, build systems, integração com npm ou Bun, e automações locais de empacotamento devem correlacionar inventário de pacotes estrangeiros com listas comunitárias em expansão. Contagens evoluíram de algumas dezenas no primeiro levantamento comercial para cerca de quatrocentos oitenta entradas em buscas no espelho git do AUR, com consolidações ainda crescentes e lista mestre incompleta.
- Pacotes AUR adotados recentemente após longo período de inatividade, especialmente projetos órfãos sem mantenedor ativo
- Estáções de desenvolvimento com sessões de Slack, Discord e Microsoft Teams baseadas em Electron
- Tokens de GitHub, npm, HashiCorp Vault, credenciais Docker/Podman e material bearer de contas OpenAI/ChatGPT
- Hosts onde builds AUR executaram hooks referenciando
atomic-lockfileoujs-digest - Sistemas que compilaram pacotes afetados com privilégios de root, cenário em que o rootkit eBPF pode ter sido carregado
A detecção deve combinar inventário de pacotes AUR, revisão de histórico git local ou espelhado, e caça a artefatos pós-execução. Scripts comunitários comparam pacotes estrangeiros instalados contra conjuntos conhecidos de nomes comprometidos, mas equipes internas devem também vasculhar caches e logs de build por referências aos pacotes npm maliciosos e ao caminho src/hooks/deps. Qualquer build recente que tenha puxado atomic-lockfile ou js-digest merece prioridade de triagem forense.
Após suspeita de execução, a telemetria de persistência e ocultação torna-se crítica. Serviços systemd desconhecidos, arquivos novos sob /var/lib/ e mapas BPF em /sys/fs/bpf/ com nomes hidden_pids, hidden_names e hidden_inodes indicam ativação do componente de evasão. Conexões de saída associadas a Tor, tráfego HTTP para serviços de upload temporário e atividade anômala ligada a artefatos de carteira Monero complementam a visão defensiva.
- Hash SHA-256 do payload principal:
6144d433f8a0316869877b5f834c801251bbb936e5f1577c5680878c7443c948bpara correlação em EDR, backup de build e repositórios de artefatos - Ocorrências em receitas ou logs de build de
npm install atomic-lockfile,bun install js-digeste presença de hook preinstall executando ELF empacotado - Unidades systemd com
Restart=alwaysfora do padrão operacional, tanto em/etc/systemd/system/quanto em~/.config/systemd/user/ - Mapas eBPF fixados com nomes de ocultação e tentativas de bloqueio de depuração observadas em hosts Linux com execução privilegiada do binário
- Metadados git inconsistentes em pacotes recém-adotados, incluindo commits aparentando autoria antiga sem correspondência com o mantenedor atual
A resposta imediata exige confrontar todo pacote AUR instalado ou atualizado a partir de 11 de junho de 2026 com listas comunitárias e scripts de comparação, reconhecendo que o inventário ainda cresce. Antes de confiar novamente na estáção, equipes devem inspecionar PKGBUILD e hooks .install, desconfiando de adoções recentes e de pacotes que voltaram a receber commits após longa dormência. A leitura manual da receita de build deve ser tratada como controle obrigatório, não como formalidade, porque o ataque se esconde exatamente nessa camada.
Se o payload chegou a executar, o host deve ser tratado como comprometido em credenciais, não apenas como instalação de software indesejado. Rotacionar sessões de navegadores e aplicativos Electron afetados, chaves SSH, tokens GitHub e npm, segredos Vault, credenciais de contêineres e quaisquer chaves de nuvem acessíveis ao usuário de build. Quando a compilação ocorreu com root e há indícios de mapas eBPF ou serviços ocultos, a reinstalação a partir de mídia confiável torna-se a única base recuperável; remover o pacote AUR deixa resíduos fora do alcance do gerenciador.
Maintainers do Arch estão revertendo commits maliciosos, banindo contas abusivas e solicitando relatos contínuos na thread aur-general. A campanha ecoa uma tática já observada em 2018 sobre pacote de visualizador PDF abandonado, agora ampliada em escala dentro de uma sequência mais ampla de ataques à cadeia de suprimentos que herdam confiança em vez de depender de typosquatting. Enquanto não houver CVE, o identificador Sonatype-2026-003775 e o CVSS 8,7 orientam priorização em processos de gestão de risco que já incorporam advisories de fornecedores.
- Validar pacotes AUR recentes contra listas comunitárias e abortar builds cujos hooks invoquem pacotes npm ou Bun não reconhecidos
- Rotacionar integralmente credenciais de desenvolvimento, CI local, Vault, registros de contêiner e sessões de colaboração se a execução do payload for confirmada
- Caçar persistência systemd, artefatos em
/var/lib/e mapas eBPF antes de declarar limpeza; com execução root confirmada, preferir rebuild completo - Monitorar segunda onda associada a
js-digest, não apenasatomic-lockfile, e correlacionar contas npm compartilhadas entre ondas - Estabelecer revisão periódica de adoções AUR e alertas para pacotes órfãos reassumidos, tratando mudanças em scripts de build como evento de segurança
0 Comentários