Aikido

O código está a ser escrito em todo o lado, e o dispositivo é a única constante

Escrito por
Nicholas Thomson

Este post baseia-se em conversa da Mackenzie conversa com James Hawkins no podcast The Secure Disclosure. Ouça o episódio completo ou veja abaixo.

A equipa de engenharia da PostHog está a integrar aproximadamente o mesmo número de pull requests através do Slack que através do seu editor de código. Como explica James Hawkins, cofundador e co-CEO da PostHog, no podcast, a transição para interfaces de programação dispersas está em curso. «Porque é que os editores de código são, neste momento, todos aplicações para computador? Isso é uma relíquia do passado. Antigamente, quando escrever o código era o gargalo, precisávamos de um ecrã grande com oito ficheiros abertos. Esse problema já praticamente desapareceu.»

O Slack é apenas um exemplo. Os programadores estão a escrever código através de agentes de IA, interfaces de chat e servidores MCP interligados de formas que as suas equipas de segurança nunca viram, muito menos aprovaram. A interface está a fragmentar-se mais rapidamente do que qualquer ferramenta de segurança foi concebida para gerir. O seu EDR não consegue detetar o trabalho que foi transferido para um bot do Slack, um servidor MCP ou um agente a funcionar em segundo plano. Hawkins acredita que a voz será o próximo passo. «Será que hoje em dia ainda precisamos de um ecrã? Podemos estar a programar no Slack, no WhatsApp ou, literalmente, a fazer uma chamada.»

Meme do Drake que rejeita IDEs e aceita o Slack, o WhatsApp e a IA de voz

A superfície de ataque é maior do que muitas equipas imaginam, e continua a crescer

O dispositivo do programador já constitui uma superfície de ataque pouco protegida, e os atacantes sabem disso. Só em março, o TeamPCP utilizou credenciais roubadas em quatro grandes projetos de código aberto em menos de dez dias. A conta do mantenedor do Axios foi sequestrada e utilizada para distribuir um RAT através de um pacote que ninguém tinha instalado ou revisto explicitamente. O ataque Glassworm comprometeu extensões do VS Code e plugins de navegador para instalar backdoors silenciosamente nas máquinas dos programadores, expondo 3.800 repositórios internos do GitHub em menos de 18 minutos. Nenhum destes ataques exigiu a descoberta de uma vulnerabilidade no código de ninguém. O dispositivo do programador era a vulnerabilidade

Hawkins também está a pensar nas implicações em termos de segurança. «Provavelmente estamos a gastar muito mais em segurança do que gastaríamos se não tivesse havido a explosão da IA. A IA traz consigo a capacidade de escrever código centenas de vezes mais rápido do que alguma vez foi possível, o que poupa imenso dinheiro. Mas, por outro lado, é preciso gastar mais em segurança.»

A superfície de ataque não para de aumentar, e a PostHog está a viver esta transição em tempo real. A sua integração com o Slack para trabalhos de programação ganhou força internamente porque as tarefas de engenharia menos criativas — como resolver um problema de experiência do utilizador ou corrigir um teste com falha — são exatamente o tipo de tarefa que um agente de programação baseado em IA consegue realizar sem que um programador precise de abrir um editor. Como diz Hawkins: «O tipo de coisa que, como o modelo está a ficar mais forte, nos permite ver pessoas a programar através do Slack.» Os servidores MCP levam isto ainda mais longe, apresentando os mesmos riscos da cadeia de abastecimento que qualquer outra dependência. O primeiro servidor MCP malicioso confirmado surgiu no npm em setembro de 2025, copiando silenciosamente em cópia oculta todos os e-mails enviados para um endereço controlado pelo atacante ao longo de quinze versões limpas, antes de a porta traseira aparecer na décima sexta. Hawkins vê a interface a continuar a evoluir muito além de tudo isto. «Consigo ver a aplicação para computador a começar a parecer-se bastante com o Slack. O GitHub torna-se como o back-end. É quase como o S3. Isto destina-se apenas a armazenar código.»

É a mesma imagem viral que mostra o GitHub e o S3

O dispositivo é a única constante à medida que as interfaces evoluem

Os dispositivos dos programadores detêm as chaves do castelo. Trata-se de credenciais na nuvem, chaves SSH, tokens de publicação do npm, configurações do Kubernetes e acesso direto ao código-fonte e ao ambiente de produção. Se um deles for comprometido, o alcance dos danos é enorme. É isso que torna os dispositivos dos programadores o alvo número um dos atacantes da cadeia de abastecimento e é isso que torna o problema da fragmentação da interface tão perigoso. Seja qual for a ferramenta que um engenheiro utilize, ela passa primeiro por esse dispositivo.

Por exemplo, imagine que um programador recebe uma mensagem no Slack do bot de programação com IA da sua equipa, a sinalizar um teste com falha e a sugerir uma correção preliminar. A comparação parece razoável, por isso ele clica em «aprovar» no telemóvel enquanto se desloca para o trabalho. O agente mescla o PR, puxa uma nova dependência, executa o gancho pós-instalação e acede às credenciais de produção, tudo isso antes de o programador voltar a sentar-se. O pacote foi publicado há duas horas e ninguém o revisou. Do ponto de vista do MDM, nada aconteceu. Do ponto de vista do EDR, foi executado um processo que parecia uma atividade normal de desenvolvimento. Quando algo anómalo aparece num registo, as credenciais já desapareceram. Uma mensagem aprovada no Slack concedeu acesso total ao dispositivo.

O MDM não deteta o que é obtido a partir de um registo de pacotes ou instalado através do marketplace do VS Code. O EDR só deteta um gancho malicioso pós-instalação depois de este já ter sido executado. Nessa altura, as credenciais já foram roubadas.

Aikido Protection monitoriza todas estas interfaces ao nível do dispositivo

Aikido Protection é instalado diretamente no dispositivo do programador, proporcionando às equipas de segurança visibilidade e controlo centralizados sobre tudo o que é instalado nas máquinas dos programadores, incluindo pacotes npm, extensões de IDE, plug-ins de navegador e ferramentas de IA. Verifica cada instalação em relação ao feed de ameaçasAikido , que analisa mais de 100 000 projetos suspeitos por dia e identifica malware poucos minutos após a sua publicação. As instalações maliciosas são bloqueadas antes de chegarem ao dispositivo. As instalações seguras são concluídas sem interrupção, mantendo os programadores seguros sem perturbar o seu dia-a-dia. 

{{cta}}

Compartilhar:

https://www.aikido.dev/blog/code-is-written-everywhere

<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@graph": [
   {
     "@type": "WebPage",
     "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#webpage",
     "url": "https://www.aikido.dev/blog/code-is-written-everywhere",
     "name": "Code Is Written Everywhere — and the Device Is the Only Constant | Aikido Security",
     "description": "Developers are coding through Slack, AI agents, and MCP servers — but your EDR can't see any of it. Learn why the developer device is the #1 supply chain attack target and how Aikido Device Protection keeps it secure.",
     "inLanguage": "en",
     "isPartOf": {
       "@id": "https://www.aikido.dev/#website"
     },
     "primaryImageOfPage": {
       "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#primaryimage"
     },
     "breadcrumb": {
       "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#breadcrumb"
     },
     "speakable": {
       "@type": "SpeakableSpecification",
       "cssSelector": ["h1", "h2", ".article-summary"]
     }
   },
   {
     "@type": "NewsArticle",
     "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#article",
     "mainEntityOfPage": {
       "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#webpage"
     },
     "headline": "Code Is Written Everywhere — and the Device Is the Only Constant",
     "description": "Developers are coding through Slack, AI agents, and MCP servers — but your EDR can't see any of it. Learn why the developer device is the #1 supply chain attack target and how Aikido Device Protection keeps it secure.",
     "datePublished": "2026-06-10T00:00:00+00:00",
     "dateModified": "2026-06-10T00:00:00+00:00",
     "inLanguage": "en",
     "url": "https://www.aikido.dev/blog/code-is-written-everywhere",
     "image": {
       "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#primaryimage"
     },
     "author": {
       "@id": "https://www.aikido.dev/authors/nicholas-thomson#person"
     },
     "publisher": {
       "@id": "https://www.aikido.dev/#organization"
     },
     "isPartOf": {
       "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#webpage"
     },
     "articleSection": "Security",
     "keywords": [
       "developer device security",
       "supply chain attack",
       "MCP server security",
       "AI coding agents",
       "EDR limitations",
       "npm malware",
       "VS Code extension security",
       "Aikido Device Protection",
       "developer security",
       "software supply chain",
       "postinstall hook attack",
       "Glassworm",
       "TeamPCP",
       "malicious npm package",
       "developer endpoint security"
     ],
     "timeRequired": "PT5M",
     "about": [
       {
         "@type": "Thing",
         "name": "Software Supply Chain Security",
         "sameAs": "https://en.wikipedia.org/wiki/Supply_chain_attack"
       },
       {
         "@type": "Thing",
         "name": "Developer Device Security"
       },
       {
         "@type": "Thing",
         "name": "AI Coding Agents"
       }
     ],
     "mentions": [
       {
         "@type": "SoftwareApplication",
         "name": "Aikido Device Protection",
         "url": "https://www.aikido.dev"
       },
       {
         "@type": "SoftwareApplication",
         "name": "PostHog",
         "url": "https://posthog.com"
       },
       {
         "@type": "SoftwareApplication",
         "name": "Visual Studio Code",
         "sameAs": "https://code.visualstudio.com"
       },
       {
         "@type": "Thing",
         "name": "Model Context Protocol (MCP)"
       },
       {
         "@type": "Event",
         "name": "Glassworm Attack",
         "description": "A supply chain attack that compromised VS Code extensions and browser plugins to backdoor developer machines, exposing 3,800 GitHub internal repositories."
       },
       {
         "@type": "Event",
         "name": "TeamPCP Supply Chain Attack",
         "description": "A March 2026 attack that chained stolen credentials across four major open source projects in under ten days."
       },
       {
         "@type": "Event",
         "name": "First Confirmed Malicious MCP Server",
         "description": "A malicious MCP server on npm that silently blind-copied outgoing emails to an attacker-controlled address across sixteen package versions."
       },
       {
         "@type": "Person",
         "name": "James Hawkins",
         "jobTitle": "Co-founder and Co-CEO",
         "worksFor": {
           "@type": "Organization",
           "name": "PostHog",
           "url": "https://posthog.com"
         }
       }
     ]
   },
   {
     "@type": "ImageObject",
     "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#primaryimage",
     "url": "https://www.aikido.dev/images/blog/code-is-written-everywhere-feature.png",
     "contentUrl": "https://www.aikido.dev/images/blog/code-is-written-everywhere-feature.png",
     "width": 1456,
     "height": 816,
     "caption": "An open box emitting cascading binary code, representing the expanding and fragmented developer attack surface."
   },
   {
     "@type": "BreadcrumbList",
     "@id": "https://www.aikido.dev/blog/code-is-written-everywhere#breadcrumb",
     "itemListElement": [
       {
         "@type": "ListItem",
         "position": 1,
         "name": "Home",
         "item": "https://www.aikido.dev"
       },
       {
         "@type": "ListItem",
         "position": 2,
         "name": "Blog",
         "item": "https://www.aikido.dev/blog"
       },
       {
         "@type": "ListItem",
         "position": 3,
         "name": "Code Is Written Everywhere — and the Device Is the Only Constant",
         "item": "https://www.aikido.dev/blog/code-is-written-everywhere"
       }
     ]
   },
   {
     "@type": "Organization",
     "@id": "https://www.aikido.dev/#organization",
     "name": "Aikido Security",
     "url": "https://www.aikido.dev",
     "logo": {
       "@type": "ImageObject",
       "url": "https://www.aikido.dev/logo.png"
     },
     "sameAs": [
       "https://www.linkedin.com/company/aikido-security",
       "https://x.com/aikidosecurity",
       "https://github.com/AikidoSec"
     ]
   },
   {
     "@type": "Person",
     "@id": "https://www.aikido.dev/authors/nicholas-thomson#person",
     "name": "Nicholas Thomson",
     "jobTitle": "Senior SEO & Growth Lead",
     "url": "https://www.aikido.dev/authors/nicholas-thomson",
     "worksFor": {
       "@id": "https://www.aikido.dev/#organization"
     },
     "sameAs": [
       "https://www.linkedin.com/",
       "https://x.com/"
     ]
   }
 ]
}
</script>

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
Impede as ameaças antes que elas atinjam o teu computador

Confiado por mais de 100 mil equipes

Começar Agora

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.