Gaslight: malware macOS norte-coreano usa prompt injection para enganar analistas que dependem de IA

Implante em Rust descoberto pela SentinelOne embute 38 mensagens falsas de sistema para induzir agentes de triagem com LLM a abortar a análise. Atribuído com alta confiança a grupos alinhados à Coreia do Norte.

gaslight-macos-malware

Pesquisadores da SentinelOne revelaram um implante macOS escrito em Rust, batizado de Gaslight, que carrega no próprio binário um payload de prompt injection projetado para sabotar a análise de malware feita com auxílio de modelos de linguagem. A peça, atribuída com alta confiança a atores alinhados à Coreia do Norte, usa um canal de comando e controle via Telegram Bot API, configura tudo em tempo de execução e ainda dispara um stealer escrito em Python instalado por um installer bash de apenas 2 KB.

O que aconteceu

O pesquisador Phil Stokes, da SentinelOne, publicou nesta semana o relatório técnico que documenta o primeiro malware macOS conhecido a atacar diretamente o pipeline de triagem assistido por IA. Em vez de tentar evadir uma sandbox tradicional, o Gaslight ataca aquilo que o analista vê, manipulando a percepção do agente de LLM que o ajuda a entender o artefato.

O implante chega como um binário Rust nativo e age em duas frentes: estabelece um canal de C2 baseado em polling contra a Telegram Bot API, transformando o operador em interlocutor de um shell remoto interativo, e descarrega um info stealer em Python através de um instalador bash codificado em Base64 com apenas 2 KB. O stealer baixa o interpretador cpython 3.10.18 do projeto astral-sh/python-build-standalone para rodar isoladamente do sistema, sem depender do Python da máquina-alvo.

O nome Gaslight foi escolhido justamente pelo comportamento manipulador da amostra. Em vez de criptografar, ofuscar ou empacotar o código, o desenvolvedor optou por enganar o leitor mais provável de inspecionar o arquivo: um modelo de linguagem agindo como copiloto do analista.

Como o ataque ao agente de IA funciona

O coração da técnica está em um bloco fenced em Markdown contendo 38 mensagens fabricadas que se passam por mensagens “system” do próprio LLM. O conteúdo simula avisos de expiração de token, falhas de sessão, limites de contexto excedidos e ordens administrativas para que o agente aborte, trunque ou recuse a análise. Quando um modelo encontra esse bloco dentro do código suspeito, pode interpretar as instruções como vindas do orquestrador legítimo e simplesmente desistir do trabalho.

“Sua característica mais notável é uma cascata embutida de mensagens fabricadas de falha de sistema, projetadas para fazer um agente de triagem assistido por LLM duvidar da própria sessão. O alvo é a percepção do agente, não a sandbox em que ele roda.”

Phil Stokes, SentinelOne

O resto do design reforça a operação clandestina. O token do bot do Telegram, o tg_room_id e o restante da configuração do operador não estão hard-coded: são fornecidos em runtime, o que dificulta a busca por IoCs estáticos em VirusTotal e similares. O implante ainda se auto-redaciona em logs, substituindo o próprio token de bot nas saídas de runtime para negar credenciais a quem captura artefatos de crash ou despejos.

O stealer em Python carrega outra pista interessante: o uso intenso de emojis nos comentários e os cabeçalhos verbosos sugerem fortemente que o código foi gerado por um LLM. Ou seja, o adversário usa IA generativa para escrever ferramentas que, por sua vez, atacam IAs defensivas.

Quem é afetado

  • Analistas de malware e times de threat intelligence que adotaram copilotos LLM (Claude, GPT-4o, Gemini ou modelos locais) em pipelines de triagem;
  • Plataformas de sandbox e análise estática que integraram agentes de IA para gerar relatórios automáticos;
  • Engenheiros de SOC que pedem ao LLM para resumir scripts e binários antes de tomar decisões de quarentena;
  • Usuários macOS, especialmente em organizações ligadas a criptoativos, defesa e tecnologia, alvos preferenciais de atores norte-coreanos.

Análise

Gaslight inaugura uma categoria que vinha sendo apenas teorizada em conferências: malware desenhado contra o blue team aumentado por IA. As campanhas norte-coreanas ligadas ao Lazarus e ao BlueNoroff já vinham mostrando rara sofisticação em macOS, com famílias como RustBucket, BeaverTail e KandyKorn. O salto qualitativo aqui é estratégico, não tático: em vez de melhorar a evasão técnica, o adversário ataca o processo cognitivo do defensor. A lógica é a mesma de campanhas que envenenam buscadores de SEO ou injetam comandos em e-mails consumidos por agentes corporativos: onde quer que um LLM leia conteúdo não confiável e tome decisões, ele pode ser sequestrado.

O timing reforça o ponto. Ao longo de 2026, ferramentas de análise como Binary Ninja, Ghidra e plataformas comerciais passaram a integrar copilotos de IA cada vez mais autônomos, e equipes de SOC começaram a delegar a esses agentes o resumo inicial de amostras. Cada uma dessas integrações vira agora superfície de ataque. Vale lembrar que o cenário paralelo das injeções via documentos do Office, PDFs e até arquivos de imagem (com instruções escondidas em comentários EXIF) já vinha mostrando que prompt injection deixou de ser curiosidade acadêmica há tempos.

Para o Brasil, o alerta vale duas vezes. Primeiro, porque dezenas de bancos, exchanges e órgãos públicos federais adotaram nos últimos meses ferramentas de triagem com IA sem revisão dos vetores adversariais correspondentes. Segundo, porque a comunidade brasileira de threat hunting vinha usando intensamente prompts genéricos de inspeção de código, expostos exatamente ao tipo de envenenamento que o Gaslight explora.

Recomendações práticas

  • Trate qualquer entrada para um LLM analista como input não confiável: separe conteúdo do artefato do prompt de sistema usando delimitadores explícitos e instrua o modelo a ignorar instruções dentro do payload;
  • Não dê ao agente de IA permissão para abortar análises por conta própria. O fluxo deve sempre devolver um veredito ao analista humano, mesmo quando o modelo “acreditar” que a sessão expirou;
  • Monitore tráfego saindo para api.telegram.org em endpoints macOS corporativos e bloqueie por default em redes que não usem o serviço para fins legítimos;
  • Inspecione conexões a github.com/astral-sh/python-build-standalone e downloads não esperados de interpretadores Python avulsos em hosts macOS;
  • Inclua em playbooks de DFIR a busca por blocos fenced em Markdown dentro de amostras, especialmente padrões “system:” repetidos, e trate-os como indicador de prompt injection;
  • Compartilhe internamente exemplos do bloco fabricado do Gaslight como exercício de tabletop para o time de triagem assistida por IA.

Fonte: The Hacker News

Social Media Auto Publish Powered By : XYZScripts.com