Aikido

O GitHub foi alvo de uma violação através de uma extensão maliciosa do VS Code: por que razão os dispositivos dos programadores são o verdadeiro alvo

Escrito por
Shaun Brown

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. 

Compartilhar:

https://www.aikido.dev/blog/github-breached-vs-code-extension

Assine para receber notícias

4.7/5
Cansado de falsos positivos?

Experimente Aikido como 100 mil outros.
Começar Agora
Obtenha um tour personalizado

Confiado por mais de 100 mil equipes

Agende Agora
Escaneie seu aplicativo em busca de IDORs e caminhos de ataque reais

Confiado por mais de 100 mil equipes

Iniciar Escaneamento
Veja como o pentest de IA testa seu aplicativo

Confiado por mais de 100 mil equipes

Iniciar Testes

Fique seguro agora

Proteja seu código, Cloud e runtime em um único sistema centralizado.
Encontre e corrija vulnerabilidades rapidamente de forma automática.

Não é necessário cartão de crédito | Resultados da varredura em 32 segundos.