SOC Prime Bias: Crítico

12 Jun 2026 18:47 UTC

Solana FakeFix: 25 Pacotes Maliciosos do npm e PyPI se Passam por Builds Estáveis

Author Photo
SOC Prime Team linkedin icon Seguir
Solana FakeFix: 25 Pacotes Maliciosos do npm e PyPI se Passam por Builds Estáveis
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Uma campanha de pacotes maliciosos está mirando desenvolvedores Solana através de bibliotecas npm e PyPI com erros de digitação, promovidas como correções de build estável. O malware abusa da execução do ciclo de vida dos pacotes e dos hooks de tempo de importação para roubar segredos de carteiras, credenciais de nuvem e chaves SSH de ambientes infectados. Algumas amostras também expandem além do roubo atuando como backdoors completos através de comando e controle baseado no Telegram ou implantando carregadores focados no Windows construídos ao redor de Deno.

Investigação

Pesquisadores de Segurança da JFrog descobriram duas operações separadas, mas relacionadas. A primeira, rastreada como Solana FakeFix, usava pacotes falsos no estilo SDK para coletar segredos sensíveis de desenvolvedores e sistemas de build. A segunda usava pacotes npm com tema de CMS para carregar executáveis do Windows. Sua análise mostrou que o código malicioso era frequentemente anexado a bibliotecas aparentemente funcionais, ajudando os pacotes a parecerem legítimos enquanto recuperavam silenciosamente cargas de segundo estágio dinamicamente através do Deno.

Mitigação

As organizações devem remover todos os pacotes afetados das estações de trabalho dos desenvolvedores, pipelines CI/CD e caches internos de pacotes. Quaisquer credenciais potencialmente expostas devem ser rotacionadas imediatamente, incluindo chaves de carteira Solana, chaves SSH, credenciais AWS e tokens do GitHub. As equipes de segurança também devem auditar os hosts em busca de métodos de persistência, como chaves de Execução do Registro, tarefas agendadas e modificações no perfil de shell.

Resposta

Os defensores devem desinstalar os pacotes maliciosos identificados e revisar os arquivos de bloqueio de dependência em busca de bibliotecas não autorizadas ou inesperadas. Todos os segredos expostos devem ser rotacionados de uma vez, e qualquer criptomoeda armazenada em carteiras potencialmente comprometidas deve ser transferida para novos endereços confiáveis. Em seguida, os runners de CI e sistemas de desenvolvimento devem ser reconstruídos a partir de imagens limpas para garantir que nenhum backdoor oculto ou mecanismo de persistência permaneça.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Telemetria & Base deve ter passado.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.

  • Narrativa de Ataque e Comandos: O atacante obteve acesso inicial e pretende manter um ponto de apoio. Eles decidem usar uma carga útil baseada em Deno. Para ocultar a execução do terminal, usam o --headless flag para conhost.exe. Eles executam um comando que modifica a HKCUSoftwareMicrosoftWindowsCurrentVersionRun chave do registro, adicionando um valor chamado DenoUpdater que executa conhost.exe --headless deno.exe [malicious_script]. Isso garantirá que a carga útil seja executada silenciosamente em segundo plano ao entrar no sistema.

  • Script de Teste de Regressão:

    # Simulação de persistência baseada em Deno via Chave de Execução do Registro
    $RegistryPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $Name = "DenoUpdater"
    $Value = "C:WindowsSystem32conhost.exe --headless C:UsersPublicdeno.exe malicious_payload.js"
    
    Write-Host "[*] Simulando mecanismo de persistência..."
    New-ItemProperty -Path $RegistryPath -Name $Name -Value $Value -PropertyType String -Force
    Write-Host "[+] Chave do registro criada. Verifique o SIEM para alerta."
  • Comandos de Limpeza:

    # Limpe a persistência simulada
    $RegistryPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $Name = "DenoUpdater"
    
    if (Get-ItemProperty -Path $RegistryPath -Name $Name -ErrorAction SilentlyContinue) {
        Remove-ItemProperty -Path $RegistryPath -Name $Name -Force
        Write-Host "[+] Limpeza completa. Chave do registro removida."
    } else {
        Write-Host "[-] Limpeza falhou: Chave do registro não encontrada."
    }