Aikido

Apresentamos o Endpoint Protection: Segurança para dispositivos de programadores

Escrito por
Madeline Lawrence

→ Resumo: Os dispositivos dos programadores são o novo calcanhar de Aquiles da cadeia de abastecimento de software. Aikido Protection protege os dispositivos contra ataques de instalação através de registos de pacotes, extensões de IDE, plug-ins de navegador e mercados de competências. Desenvolva sem receios.

As coisas têm estado uma loucura ultimamente, não é?

Só em março, o TeamPCP utilizou credenciais roubadas em quatro grandes projetos de código aberto em menos de dez dias: Trivy, Checkmarx , LiteLLM e Telnyx. Dias depois, o Axios, o cliente HTTP em JavaScript com mais de 100 milhões de downloads semanais, foi comprometido através de uma conta de mantenedor que foi sequestrada. Esta semana, a Vercel revelou que um atacante acedeu a sistemas internos e a variáveis de ambiente após ter provavelmente comprometido uma extensão do Chrome utilizada por um dos seus funcionários.

Ultimamente, acompanhar as novidades em matéria de segurança parece uma semana interminável

E se te sentires excluído, não te preocupes. 

Em doze meses, passámos de vulnerabilidades em pacotes individuais a worms auto-replicantes e, por fim, a sequestros completos de pipelines de CI/CD que se propagam por vários registos. Os atacantes estão a aprender mais depressa do que nós conseguimos lançar correções.

«Escrever um ataque à cadeia de abastecimento costumava exigir verdadeira competência. Era preciso compreender registos de pacotes, pipelines de CI/CD, técnicas de ofuscação e saber como escrever cargas úteis que escapassem à deteção. Agora basta uma subscrição do ChatGPT de 8 dólares. Nem sequer é preciso saber o que é o npm para escrever malware que se propaga através dele.

Peça a um modelo para escrever um gancho pós-instalação que extraia variáveis de ambiente, e ele fá-lo-á. Peça-lhe para ofuscar a carga útil, e ele fá-lo-á. O ataque democratizou-se. A defesa melhorou, mas não ao mesmo ritmo.”

Por outro lado, os agentes de programação de IA estão a descarregar pacotes, a invocar ferramentas e a adicionar funcionalidades de forma autónoma, com pouca ou nenhuma supervisão humana sobre o que é instalado. Para onde é que tudo isto vai levar?

O novo terminal: dispositivos para programadores

Todos estes ataques têm o mesmo alvo: o próprio dispositivo do programador. Porquê?

Os dispositivos dos programadores são ambientes de confiança que guardam as chaves do castelo: credenciais da nuvem, chaves SSH, tokens de publicação do npm, configurações do Kubernetes, acesso direto ao código-fonte e ao ambiente de produção. Basta comprometer um deles para que o impacto seja enorme. Uma única credencial comprometida já foi suficiente para publicar versões maliciosas de pacotes legítimos, provocando violações em milhares de organizações. 

Então, os dispositivos dos programadores não estão protegidos pelas ferramentas existentes? Não. É precisamente essa a questão. As ferramentas de segurança em que a maioria das empresas confia — a proteção tradicional de terminais (EDR) para detetar ameaças no sistema operativo e a gestão de dispositivos móveis (MDM) para controlar o que é instalado — foram concebidas para um mundo de binários assinados e ataques ao sistema operativo. E, sem dúvida, não foram concebidas para os programadores de hoje.

O software que está a ser instalado atualmente nos computadores dos programadores consiste em pacotes de código, extensões de IDE, extensões de navegador, ferramentas de IA e servidores MCP. Trata-se de software em texto simples, ainda não compilado. O EDR não deteta o comando «npm install». O MDM não sabe o que uma extensão MCP faz. 

Os dispositivos de desenvolvimento são o novo calcanhar de Aquiles da cadeia de abastecimento de software.

Créditos a James Berthoty

O status quo não funciona

Sem ferramentas que abranjam o ponto final do programador, a maioria das empresas acaba por se encontrar numa de duas situações desfavoráveis.

  1. Bloqueiam tudo. Não é possível instalar nada. Registos privados, barreiras intransponíveis entre os programadores e a Internet aberta. Pode funcionar para empresas altamente regulamentadas, como os bancos, mas prejudica a velocidade em todos os outros casos. É tão restritivo que os programadores lutam por isenções alargadas ou procuram soluções alternativas, como utilizar um segundo computador portátil ou desativar as VPN, o que agrava ainda mais o problema.
  2. Eles permitem e rezam. Não existe um método eficaz para controlar o que os programadores instalam, por isso esperam que nada corra mal, confiando na rotação secrets em políticas de acesso mínimo. É assim que a maioria das empresas funciona.

Ou então combinam as duas abordagens, com uma análise manual caso a caso. Isso não é escalável (obviamente). Nenhuma destas soluções funciona. 

«No mundo dos negócios, a produtividade dos programadores supera todas as outras preocupações e, normalmente, estas máquinas beneficiam de amplas isenções em relação aos controlos habituais, criando enormes pontos cegos nas organizações… ou simplesmente não vale a pena o esforço para prevenir potenciais explorações, especialmente sabendo da reação negativa dos programadores que inevitavelmente se seguiria.» (James Berthoty)

As empresas não podem dar-se ao luxo de abrandar o ritmo de desenvolvimento, nem podem continuar a deixá-lo desprotegido. Por isso, criámos Aikido Protection.

Apresentamos Aikido Protection

Aikido Protection é a camada de segurança instalada no dispositivo do programador, proporcionando-lhe visibilidade, controlo e proteção sobre o que está instalado nas estações de trabalho dos seus engenheiros.

Com o Aikido Protection, as equipas podem:

  • Obtenha uma visibilidade completa da sua cadeia de abastecimento de software: veja todas as extensões de navegador, bibliotecas de código, plug-ins de IDE e dependências de compilação instaladas nos dispositivos da sua equipa.
  • Impedir a instalação de malware: Aikido identificaAikido pacotes e instalações maliciosas, bloqueando-os antes que cheguem ao dispositivo
  • Aplicar a idade mínima dos pacotes: defina os seus próprios requisitos de maturidade dos pacotes antes da utilização, minimize as janelas de risco
  • Bloquear ecossistemas específicos: bloqueie todas as instalações provenientes de qualquer ecossistema e loja de aplicações quando a sua equipa não precisar delas.
  • Exigir aprovação para novo software: permita que os membros da equipa solicitem instalações, mantendo os administradores no controlo do que é aprovado, e defina políticas da equipa, exceções e fluxos de trabalho.

Na prática, isto traduz-se em:

Um programador instala uma extensão do VS Code que parece legítima, funciona conforme anunciado e, silenciosamente, instala um trojan de acesso remoto ao ser iniciada. O endpoint compara-a com o feed de ameaças Aikido e bloqueia-a antes que se ative. Encontrámos exatamente isto em janeiro com uma extensão falsa do Clawdbot.

Um programador executa o comando «npm i axios», que tenta descarregar a versão mais recente. Essa versão foi publicada há uma hora. O Endpoint recorre à versão mais recente que cumpre a política de idade mínima de 48 horas. No ataque ao Axios, a dependência maliciosa do dropper foi pré-instalada menos de 24 horas antes de as versões comprometidas a terem descarregado. A verificação da idade, por si só, teria bloqueado a infeção.

Em todos os nossos produtos, mantemos uma lealdade incondicional ao objetivo de permitir que os programadores voltem a dedicar-se à programação. Para os programadores, Aikido Protection foi concebido para passar despercebido. Programe com liberdade. As instalações seguras decorrem sem interrupções. Se algo for malicioso, é bloqueado antes de chegar ao computador. Se se esquecer que está a funcionar, é precisamente esse o objetivo. [...Insira aqui uma metáfora clichê sobre como fica feliz por usar um capacete no dia em que sofre um acidente]

Para as equipas de segurança, a proteção Aikido foi concebida para proporcionar visibilidade e controlo, sem atrasar o desenvolvimento. Defina as políticas da sua equipa, crie listas de ferramentas aprovadas, implemente fluxos de trabalho de solicitação e aprovação, obtenha um registo de auditoria completo e visibilidade sobre todos os dispositivos dos programadores da organização. Implemente facilmente através do seu MDM existente. 

Construído com base em princípios abertos

No ano passado, lançámos o Safe Chain, um servidor proxy de código aberto que envolve a CLI, bloqueando pacotes maliciosos antes da instalação e impondo um período mínimo de 48 horas para a idade dos pacotes. Com mais de 200 000 downloads semanais, o Safe Chain oferece proteção tanto a programadores individuais como a equipas empresariais. Se estivesse a utilizar o Safe Chain, os ataques Shai-Hulud, TeamPCP e Axios teriam sido bloqueados. 

O Safe Chain é o pacote inicial. Continuaremos a investir no projeto. Este continuará a ser de código aberto. O Endpoint é a sua evolução, com recursos alargados, facilidade de implementação, controlos de governação e um painel de controlo central. 

Tanto o Safe Chain como o Endpoint funcionam com Aikido , Threat Intelligence nosso Threat Intelligence baseado em LLM. Aikido monitoriza a Internet aberta, identificando malware e vulnerabilidades pré-CVE nos ecossistemas de código aberto à medida que são detetadas. No que diz respeito especificamente ao malware, Aikido analisa agora mais de 100 000 projetos suspeitos por dia, contra os 20 000 registados nesta mesma altura do ano passado, identificando malware poucos minutos após a sua publicação. 

Aikido conta com o apoio de uma equipa dedicada de investigadores de segurança e engenheiros de IA. Divulgamos automaticamente todas as descobertas sobre ameaças, tornando Aikido o seu primeiro alerta para ameaças à cadeia de abastecimento. Gratuito. Aberto. → https://intel.aikido.dev/

Comece já (sim, existe um plano gratuito)

Aikido Protection está disponível em todos os planos. A proteção para npm e PyPI está incluída gratuitamente. 

Para políticas personalizadas, fluxos de trabalho de aprovação, monitorização de extensões do VS Code, monitorização de plug-ins de navegador e ecossistemas adicionais, aplica-se uma subscrição adicional por dispositivo.

Para saber como o Endpoint pode proteger os seus programadores, marque uma demonstração, comece gratuitamente ou participe na nossa demonstração ao vivo esta quinta-feira, às 9h00 (hora do Pacífico).

Construa sem medo

Este ano tem sido difícil, ou, como Charlie diz de forma poética (embora sombria): «Neste momento, as nossas cadeias de abastecimento não são cadeias de todo. São fios soltos, e estão a desfiar-se.»

O Endpoint ajuda a resolver essas questões pendentes. Descubra os seus riscos. Prevenha ataques. E, acima de tudo, permita que os programadores desenvolvam sem interrupções… e sem receios.

- Madeline, Aikido

P.S. Embora «construir sem medo» se aproxime perigosamente daquela almofada de sofá bordada com «viver, rir, amar» que eu queimaria assim que a visse… funciona. É cativante.

Tenho livre arbítrio e poder de decisão. Hoje, vou usar ambos. Slogan = decidido.

Compartilhar:

https://www.aikido.dev/blog/endpoint-security-for-developer-devices

Comece hoje, gratuitamente.

Comece Gratuitamente
Não é necessário cc

Assine para receber notícias sobre ameaças.

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.