Aikido

GitHub violado via uma extensão maliciosa do VS Code: por que os dispositivos dos desenvolvedores são o verdadeiro alvo

Escrito por
Shaun Brown

Em 19 de maio, o GitHub divulgou que estava investigando acesso não autorizado a repositórios internos. A TeamPCP afirma ter extraído dados de aproximadamente 4.000 repositórios privados. O vetor relatado: uma extensão maliciosa do VS Code instalada na estação de trabalho de um desenvolvedor.

No momento, não sabemos qual extensão ou qual máquina foi impactada. O que sabemos é que este é mais um caso de dispositivos de desenvolvedores sendo comprometidos por meio de ferramentas nas quais eles confiam implicitamente. E temos um exemplo recente claro de como isso funciona.

Apenas um dia antes, a extensão Nx Console VS Code, que possui 2,2 milhões de instalações e status de editor verificado, foi brevemente comprometida com um backdoor. A versão maliciosa coletava credenciais silenciosamente a partir do momento em que um desenvolvedor abria qualquer workspace. A comunidade, incluindo Aikido Intel, detectou-o rapidamente, com a versão sendo removida em 18 minutos no VS Code Marketplace e 36 minutos no Open VSX.

ATUALIZAÇÃO: O GitHub confirmou que a violação foi causada por uma vulnerabilidade na extensão Nx Console VS Code.  

Oficial não significa mais seguro para instalar imediatamente

Confiança, não sofisticação, é o que faz com que ataques como Nx Console, Durable Task Python SDK e a campanha Mini Shai-Hulud no ecossistema AntV funcionem. Estes não são pacotes e extensões duvidosos de editores desconhecidos. São ferramentas que os desenvolvedores usam sem pensar duas vezes, precisamente porque possuem a contagem de instalações, o selo de editor verificado e a legitimidade do marketplace que sinalizam segurança.

Esse sinal é agora o alvo. Alta contagem de instalações significa comprometimento de alto valor. Um editor verificado significa que os desenvolvedores não hesitam. Marketplace oficial significa que ninguém pensa em verificar.

A comunidade está melhorando na detecção desses ataques, no entanto, o modelo de ataque leva isso em consideração. Ele precisa apenas de minutos, não de dias.

Como a Aikido está resolvendo este problema

No início desta primavera, lançamos Device Protection, um agente on-device construído para proteger contra ameaças de pacotes, extensões e ferramentas de IA como servidores MCP. Ele combina 2 recursos críticos que impedem ataques como o Nx Console. 

Bloqueio de malware em tempo real: O Device Protection verifica cada instalação de pacote e extensão, incluindo atualizações, contra o feed de malware ao vivo da Aikido. Se uma extensão for sinalizada 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 padrão, qualquer pacote ou extensão publicado nas últimas 48 horas é bloqueado antes de poder ser instalado em um dispositivo. É importante ressaltar que a idade mínima se aplica a novas atualizações, não apenas a instalações novas. Os administradores podem estender ou encurtar o período com base em sua tolerância a riscos específica para cada ecossistema.  É importante ressaltar que o Aikido Device Protection reverte automaticamente para a versão segura publicada mais recentemente, para que sua equipe seja protegida, não bloqueada. 

A versão maliciosa do Nx Console ficou ativa por 18 minutos. Os pacotes do Durable Task SDK foram detectados em poucas horas após a publicação. Ambos estão bem dentro do período de retenção de 48 horas. Sob essa política, nenhum deles teria chegado a uma máquina de desenvolvedor, adicionando proteção além da detecção instantânea de malware ao bloquear a própria janela de ataque.

O Aikido Device Protection move a aplicação da política para o dispositivo, não para a borda da rede. Um desenvolvedor em uma conexão doméstica, Wi-Fi de hotel ou hotspot pessoal está completamente fora dos controles da rede corporativa. O agente da Aikido aplica a política na própria estação de trabalho, onde quer que ela esteja. 

EDR não vê essa superfície

O payload do Nx Console era de 2.777 bytes de JavaScript injetados em um arquivo minificado. O Durable Task SDK era um script Python de 28 KB. Nenhum dos dois parece malware para um scanner de binários, porque nenhum é um binário. O payload do Nx Console lia arquivos .env. Assim como todo desenvolvedor, dezenas de vezes ao dia. O EDR não tem assinatura para corresponder.

O EDR tradicional monitora executáveis compilados em busca de assinaturas conhecidas. Extensões do VS Code, pacotes npm e distribuições PyPI são artefatos interpretados de texto simples em uma camada completamente diferente. A Aikido monitora essa camada: npm, PyPI, VS Code Marketplace, JetBrains, Cursor, Windsurf. Ela cobre essa superfície especificamente porque o EDR não o faz. As duas ferramentas não são redundantes. Elas monitoram coisas diferentes.

A capacidade da comunidade de detectar e remover pacotes maliciosos é real. Para extensões com milhões de instalações, também é insuficiente. Ser detectado em 18 minutos e ter a exposição prevenida não são a mesma coisa. Idades mínimas para pacotes e extensões são a melhor maneira de proteger seus dispositivos contra ataques semelhantes hoje.

Você pode aprender mais sobre o Device Protection no site do Aikido ou experimentá-lo com uma conta de teste gratuita. 

Compartilhar:

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

Verificar por malware

Comece Gratuitamente
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.