A 19 de maio, o GitHub revelou que estava a investigar um acesso não autorizado a repositórios internos. A TeamPCP afirma ter extraído dados de cerca de 4 000 repositórios privados. O vetor de ataque identificado: uma extensão maliciosa do VS Code instalada na estação de trabalho de um programador.
Neste momento, não sabemos qual foi a extensão nem qual o computador afetado. O que sabemos é que este é mais um caso de dispositivos de programadores a serem comprometidos através de ferramentas nas quais os programadores confiam cegamente. E temos um exemplo recente e claro de como isso funciona exatamente.
Apenas um dia antes, a extensão Nx Console para o VS Code, que conta com 2,2 milhões de instalações e possui o estatuto de editor verificado, foi alvo de um ataque de backdoor durante um breve período. A versão maliciosa recolhia credenciais de forma silenciosa a partir do momento em que um programador abria qualquer espaço de trabalho. A comunidade, incluindo Aikido , detetou o problema rapidamente, tendo a versão sido retirada em 18 minutos do VS Code Marketplace e em 36 minutos do Open VSX.
«Oficial» já não significa que seja seguro instalar imediatamente
É a confiança, e não a sofisticação, que faz com que ataques como o Nx Console, o Durable Task Python SDK e a campanha Mini Shai-Hulud funcionem em todo o ecossistema AntV. Não se trata de pacotes e extensões duvidosos de editores desconhecidos. São ferramentas que os programadores utilizam sem hesitar, precisamente porque apresentam um número elevado de instalações, o selo de editor verificado e a legitimidade da loja de aplicações, que são sinais de segurança.
Esse sinal é agora o alvo. Um elevado número de instalações significa um risco de grande impacto. Um editor verificado faz com que os programadores não hesitem. Uma loja oficial faz com que ninguém pense em verificar.
A comunidade está a tornar-se mais eficaz na deteção destes ataques; no entanto, o modelo de ataque já tem isso em conta. Basta apenas alguns minutos, e não dias.
Como Aikido a resolver este problema
No início desta primavera, lançámos o Device Protection, um agente integrado no dispositivo concebido para proteger contra ameaças provenientes de pacotes, extensões e ferramentas de IA, como servidores MCP. Este agente combina duas funcionalidades essenciais que bloqueiam ataques como o Nx Console.
Bloqueio de malware em tempo real: o Device Protection verifica cada instalação de pacotes e extensões, incluindo atualizações, comparando-as com a base de dados de malware em tempo real Aikido. Se uma extensão for identificada como malware, a instalação é bloqueada, sem exceções.
Bloqueio por idade mínima: O Device Protection inclui uma idade mínima configurável para pacotes e extensões publicados recentemente. Por predefinição, qualquer pacote ou extensão publicado nas últimas 48 horas é bloqueado antes de poder ser instalado num dispositivo. É importante referir que a idade mínima se aplica a novas atualizações, e não apenas a novas instalações. Os administradores podem alargar ou reduzir este intervalo de tempo com base na sua tolerância específica ao risco para cada ecossistema. É importante referir que a Proteção Aikido recorre automaticamente à versão segura publicada mais recentemente, para que a sua equipa fique protegida, e não bloqueada.
A versão maliciosa do Nx Console esteve ativa durante 18 minutos. Os pacotes do Durable Task SDK foram detetados poucas horas após a sua publicação. Ambos se enquadram perfeitamente no prazo de retenção de 48 horas. Ao abrigo dessa política, nenhum deles teria chegado ao computador de um programador, proporcionando uma proteção adicional à deteção instantânea de malware, ao bloquear a própria janela de ataque.
A Proteção Aikido transfere a aplicação das políticas para o dispositivo, e não para a periferia da rede. Um programador que utilize uma ligação doméstica, o Wi-Fi de um hotel ou um ponto de acesso pessoal encontra-se totalmente fora do controlo da rede corporativa. O agente Aikido aplica a política diretamente na própria estação de trabalho, independentemente da sua localização.
O EDR não deteta esta superfície
A carga útil do Nx Console consistia em 2 777 bytes de JavaScript injetados num ficheiro minimizado. O Durable Task SDK era um script Python de 28 KB. Nenhum deles parece ser malware para um scanner de ficheiros binários, uma vez que nenhum é um ficheiro binário. A carga útil do Nx Console lia ficheiros .env. O mesmo acontece com todos os programadores, dezenas de vezes por dia. O EDR não dispõe de nenhuma assinatura para comparar.
Os sistemas EDR tradicionais monitorizam executáveis com base em assinaturas conhecidas. As extensões do VS Code, os pacotes npm e as distribuições PyPI são artefactos interpretados em texto simples, situados numa camada totalmente diferente. Aikido essa camada: npm, PyPI, VS Code Marketplace, JetBrains, Cursor, Windsurf. Abrange especificamente essa área porque o EDR não o faz. As duas ferramentas não são redundantes. Monitorizam aspetos diferentes.
A capacidade da comunidade para detetar e remover pacotes maliciosos é real. No entanto, no caso de extensões com milhões de instalações, essa capacidade é insuficiente. Detetar um problema em 18 minutos e impedir a exposição não são a mesma coisa. Atualmente, estabelecer idades mínimas para pacotes e extensões é a melhor forma de proteger os seus dispositivos contra ataques semelhantes.
Pode saber mais sobre a Proteção de Dispositivos no Aikido ou experimentá-la através de uma conta de avaliação gratuita.

