Ataque com código em claude code assume controle oculto de máquinas de devs

7 минут чтения

Ataque com código em Claude assume controle de máquinas de desenvolvedores

Pesquisadores de segurança da 0din.ai demonstraram uma técnica de ataque inédita que explora agentes de programação baseados em inteligência artificial, como o Claude Code, para tomar o controle remoto de estações de trabalho de desenvolvedores. O golpe se apoia em um repositório aparentemente legítimo e sem qualquer código malicioso explícito, o que o torna extremamente difícil de detectar por práticas tradicionais de segurança.

O estudo de caso, divulgado em 25 de junho, mostra como um agente de IA encarregado de “fazer o projeto rodar” pode, sem perceber, executar um shell reverso e abrir uma porta para o invasor na máquina do desenvolvedor. Todo o processo ocorre sem que o payload malicioso esteja presente no repositório, o que frustra revisões de código, ferramentas de análise estática e até a própria inspeção automatizada da IA.

O ataque, criado por Andre Hall e Miller Engelbrecht, depende da combinação de três componentes que, isoladamente, parecem absolutamente inofensivos:
1. Um repositório com aparência convencional, contendo o código-fonte de um projeto típico.
2. Um pacote Python projetado para falhar de forma controlada quando não é inicializado corretamente.
3. Um script de configuração que, em vez de trazer comandos fixos, busca dinamicamente instruções em um registro DNS TXT sob controle do invasor.

Quando o agente de IA – por exemplo, o Claude Code – recebe a tarefa de configurar e executar o projeto, ele segue uma sequência de passos aparentemente lógica. Primeiro, lê os arquivos do repositório e identifica como a aplicação deve ser executada. Em seguida, tenta rodar o aplicativo. Nesse momento, encontra a falha intencional no pacote Python, que dispara uma mensagem de erro cuidadosamente construída.

Essa mensagem de erro já contém uma “sugestão de correção” ou instruções claras que levam o agente a executar o script de configuração fornecido pelo próprio projeto. Como os agentes de codificação são projetados para seguir instruções, corrigir erros e automatizar tarefas repetitivas, eles tendem a obedecer cegamente às orientações que pareçam resolver o problema encontrado.

O ponto crítico está justamente nesse script de configuração. Em vez de trazer uma lista estática de comandos, ele faz uma consulta a um registro DNS TXT controlado pelo atacante. Esse registro armazena um comando codificado em base64. Quando o script o obtém, decodifica e executa o conteúdo na máquina local do desenvolvedor. O comando, por sua vez, estabelece um shell reverso, permitindo que o invasor assuma controle remoto da estação.

Um dos aspectos mais alarmantes é que o código malicioso jamais reside diretamente no repositório. Não há backdoors, funções estranhas ou scripts óbvios para serem sinalizados em revisões manuais ou por scanners de segurança. Toda a malícia está “fora de banda”, no DNS, onde o comando é armazenado e de onde é recuperado em tempo de execução. Isso cria uma zona cega para as ferramentas tradicionais de verificação, que geralmente se concentram no conteúdo do código-fonte e em dependências conhecidas.

Segundo os pesquisadores, essa abordagem explora exatamente o ponto em que os agentes de IA são mais fortes – a automação de tarefas técnicas – para transformá-los em uma ferramenta involuntária do atacante. Ao conceder a esses agentes acesso a ferramentas do sistema, como execução de comandos, leitura e escrita de arquivos e gerenciamento de dependências, cria-se uma superfície de ataque ampla, em que qualquer conteúdo não confiável (um repositório público, por exemplo) pode introduzir instruções potencialmente perigosas.

O estudo destaca que a confiança excessiva nos agentes de IA é um fator de risco crescente. Muitos desenvolvedores já delegam atividades como configuração de ambientes, instalação de pacotes, correção de erros e ajustes de build a esses sistemas automatizados. Em um cenário em que o desenvolvedor apenas observa a IA trabalhando ou confia cegamente em suas ações, a chance de um comando malicioso passar despercebido aumenta significativamente.

Para mitigar o risco, a 0din.ai recomenda que as plataformas que integram agentes de codificação passem a expor com clareza o que exatamente será executado em cada comando de configuração. Isso inclui não só os scripts locais, mas também qualquer dado recuperado dinamicamente, como consultas DNS ou chamadas a serviços externos. Na prática, instruções vindas de projetos não confiáveis devem ser tratadas com o mesmo nível de cautela que um executável desconhecido baixado da internet.

Outra recomendação é reforçar a cultura de “não confie, verifique” no ciclo de desenvolvimento. Mesmo quando um agente de IA sugere um comando aparentemente inofensivo, é essencial que o desenvolvedor revise o que será executado, entenda o propósito de cada etapa e, sempre que possível, rode comandos em ambientes isolados (como containers ou máquinas virtuais) antes de aplicá-los na estação principal.

Esse tipo de ataque também coloca em evidência a necessidade de monitoramento mais avançado em máquinas de desenvolvimento. Tradicionalmente, os times de segurança focam esforços em servidores de produção, enquanto estações de devs recebem apenas controles básicos. No entanto, conforme o código malicioso passa a ser injetado no início da cadeia, os notebooks dos desenvolvedores se tornam um alvo altamente estratégico para os adversários.

Organizações que adotam agentes de IA em pipelines de CI/CD ou diretamente em IDEs precisam considerar controles adicionais, como:
– políticas de execução restritas, limitando quais comandos podem ser disparados automaticamente;
– logs detalhados das ações executadas pela IA, com trilhas de auditoria claras;
– validação manual obrigatória para determinados tipos de ação sensível, como abertura de portas de rede, alteração de arquivos de configuração críticos ou instalação de pacotes de fontes pouco conhecidas.

Também é importante revisar a forma como DNS é tratado em ambientes de desenvolvimento. Embora registros TXT sejam amplamente usados para configurações legítimas, eles se mostram um canal conveniente para comunicação e controle de malwares, justamente por escaparem de muitos filtros de conteúdo. Ferramentas de segurança corporativa podem ser calibradas para inspecionar e registrar consultas suspeitas ou padrões incomuns de uso de DNS em estações internas.

No nível de governança, equipes de segurança e times de desenvolvimento precisam alinhar políticas claras sobre o uso de agentes de IA com acesso a ferramentas do sistema. Isso envolve definir quais tarefas podem ser automatizadas, quais exigem supervisão humana obrigatória e quais tipos de projetos ou repositórios jamais devem ser manipulados automaticamente por esses agentes.

Outro ponto relevante é a capacitação dos próprios desenvolvedores. Em vez de enxergar a IA apenas como um “assistente infalível”, é fundamental que os profissionais compreendam que esses agentes podem ser manipulados por atacantes tão facilmente quanto qualquer usuário humano desatento. Treinamentos de segurança devem começar a incluir cenários específicos envolvendo automação por IA, engenharia social direcionada a agentes e uso malicioso de mensagens de erro ou scripts de build.

Há ainda implicações diretas para provedores de ferramentas de IA. Plataformas que oferecem agentes de codificação precisam reforçar mecanismos internos de detecção de comportamento anômalo, como tentativas recorrentes de estabelecer conexões reversas, execução de comandos obfuscados em base64 ou consultas DNS atípicas originadas a partir de tarefas de desenvolvimento. Mesmo que o comando em si venha “de fora”, o padrão de ação pode ser identificado e bloqueado.

O caso demonstrado pela 0din.ai funciona, portanto, como um alerta antecipado para uma nova classe de ameaças: ataques que não miram diretamente o código-fonte ou o repositório em si, mas o fluxo de trabalho automatizado promovido por agentes inteligentes. À medida que o uso de IA se torna onipresente no desenvolvimento de software, a fronteira entre “assistente” e “vetor de ataque” fica cada vez mais tênue.

Em síntese, a pesquisa mostra que:
– não é necessário inserir malware no repositório para comprometer uma máquina de desenvolvimento;
– agentes de codificação com acesso a ferramentas do sistema podem ser manipulados através de mensagens de erro e scripts de configuração;
– DNS, especialmente registros TXT, pode ser usado como canal discreto para entrega de comandos maliciosos;
– confiança automática em ações da IA é um risco real e imediato para equipes de desenvolvimento modernas.

O desafio agora é adaptar práticas de segurança, ferramentas e mentalidade para um cenário em que a automação inteligente é parte central do processo de criação de software – e, ao mesmo tempo, uma superfície de ataque que os adversários estão aprendendo rapidamente a explorar.