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

Agentes de código escrevem os próprios jogadores e vencem

Em vez de jogar turno a turno, o agente escreve um programa que joga sozinho.…

2 dias ago

Google troca raciocínio por difusão para acelerar busca com IA

Em vez de gastar centenas de tokens de raciocínio a cada consulta, o Google treina…

2 dias ago

Cisco Secure Email Gateway: falha 9.8 sob exploração ativa

Um e-mail comum, processado por um appliance desatualizado, basta para executar comandos como root. A…

2 dias ago

Infostealer AMOS mira credenciais de nuvem no macOS

Análise da Unit 42 mostra o AMOS instalado por páginas que prometem um kit para…

2 dias ago

ClickFix no navegador usa Google Sheets como C2 para roubar cripto

A Cisco Talos rastreou por meses uma operação que convence a própria vítima a injetar…

1 semana ago

Rootkit PoisonedRefresh injeta web shell na memória do BIG-IP

A Sophos X-Ops dissecou um implante Linux que altera como o Apache enxerga arquivos PHP…

1 semana ago