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

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

TheNinja

Recent Posts

WhatsApp passa a exibir tela de aviso antes de conversas com números desconhecidos

Nova proteção do Meta mostra país de origem do contato, status na agenda e grupos…

2 horas ago

Microsoft e Europol derrubam infraestrutura de StealC, Amadey e SocGholish em operação que tirou 326 servidores do ar

Operação coordenada por duas semanas desmantelou 142 domínios, recuperou 27 milhões de credenciais roubadas e…

2 horas ago

Vazamento na KDDI atinge 14,22 milhões de credenciais e seis ISPs do Japão após exploração de software de terceiros

Operadora japonesa confirma que invasão a sistema de e-mail compartilhado expôs até 14,22 milhões de…

1 dia ago

Phishing direcionado contra Xsolis expõe dados médicos e Social Security de 1,4 milhão de pessoas nos EUA

Vazamento na fornecedora de IA para hospitais Xsolis atinge 1.396.519 indivíduos e inclui Social Security,…

1 dia ago

Falha ‘Cordyceps’ em pipelines CI/CD do GitHub expõe mais de 300 repositórios a ataques de supply chain

Pesquisadores da Novee Security mapearam mais de 300 repositórios de alto impacto, em organizações como…

1 dia ago