Un investigador de seguridad ha identificado una vulnerabilidad severa en Claude Code, la cual permitía la ejecución de comandos en el ordenador del usuario con solo abrir un enlace. La investigación sugiere que un atacante podría incrustar instrucciones maliciosas dentro de un prompt. Aunque Anthropic ha lanzado la versión 2.1.118 para solucionar el problema, los usuarios que no hayan actualizado aún permanecen expuestos.
El ingeniero de seguridad de GitLab, Joern ‘Joernchen’ Schneeweisz, compartió su descubrimiento en su blog personal. Según su análisis técnico, el problema radica en la forma en que Claude Code procesa ciertos parámetros de configuración durante su inicio.
La herramienta cuenta con un mecanismo que lee ajustes antes de que el programa se inicie completamente. El inconveniente es que Claude Code es excesivamente permisivo, buscando estos ajustes en cualquier parte del comando de arranque sin distinguir entre una instrucción legítima y texto que forma parte de otro parámetro.
Esta falta de validación es lo que abre la puerta a un ataque. Claude Code permite abrir proyectos mediante enlaces especiales con el prefijo claude-cli://, los cuales pueden incluir texto para precargar el prompt de la herramienta. Schneeweisz señala que un atacante podría insertar instrucciones de configuración maliciosas dentro de dicho texto, y Claude Code las interpretaría como comandos válidos sin cuestionarlos.
Esto hace posible configurar la herramienta para que ejecute cualquier comando en el ordenador del usuario en el momento en que se abre la sesión. El ejemplo proporcionado por el investigador como prueba de concepto demostró la capacidad de abrir la aplicación Calculadora en macOS y escribir un archivo en el disco con información del sistema, todo sin avisos ni confirmaciones, simplemente haciendo clic en un enlace.
El ataque también elude la advertencia de confianza de Claude Code
Una de las características más peligrosas de este fallo reside en una segunda vulnerabilidad encadenada. Normalmente, Claude Code presenta una advertencia cuando se intenta abrir un proyecto no reconocido, dando al usuario la opción de decidir si confía en él. Sin embargo, si el enlace malicioso incluye el nombre de un proyecto que el usuario ya tiene guardado y marcado como seguro en su ordenador, esta advertencia desaparece por completo.
Un atacante, al conocer los proyectos descargados por la víctima, puede crear un enlace específicamente diseñado para evadir esta protección y distribuirlo a través de cualquier canal, confiando en que el sistema no mostrará ninguna advertencia.
La raíz del problema es que Claude Code no diferenciaba correctamente entre una instrucción real y texto que se asemejaba a una instrucción. Aunque este error de diseño podría parecer menor en otro contexto, sus consecuencias son graves cuando se combina con la capacidad de ejecutar comandos en el sistema.
La buena noticia es que Anthropic ha corregido esta vulnerabilidad en la versión 2.1.118 de Claude Code. Si utilizas esta herramienta, puedes verificar tu versión ejecutando claude --version en la terminal. Si el número es inferior a 2.1.118, se recomienda actualizar de inmediato para evitar riesgos.
Más allá de Claude Code, este hallazgo tiene implicaciones para cualquier equipo que desarrolle herramientas similares. Si trabajas en desarrollo o gestionas software interno en tu empresa, es aconsejable revisar si alguna de tus herramientas comete el mismo error de confiar ciegamente en el texto recibido sin verificar su origen.
Traducción al portugués:
Falha Crítica Descoberta no Claude Code Expunha Computadores a Riscos
Um pesquisador de segurança identificou uma vulnerabilidade severa no Claude Code, que permitia a execução de comandos no computador do usuário apenas abrindo um link. A pesquisa sugere que um invasor poderia incorporar instruções maliciosas dentro de um prompt. Embora a Anthropic tenha lançado a versão 2.1.118 para corrigir o problema, usuários que ainda não atualizaram permanecem expostos.
Joern ‘Joernchen’ Schneeweisz, engenheiro de segurança do GitLab, compartilhou sua descoberta em seu blog pessoal. De acordo com sua análise técnica, o problema reside na forma como o Claude Code processa certos parâmetros de configuração durante sua inicialização.
A ferramenta possui um mecanismo que lê configurações antes que o programa seja completamente iniciado. A questão é que o Claude Code é excessivamente permissivo, buscando essas configurações em qualquer parte do comando de inicialização, sem distinguir entre uma instrução legítima e texto que faz parte de outro parâmetro.
Essa falta de validação é o que abre a porta para um ataque. O Claude Code permite abrir projetos por meio de links especiais com o prefixo claude-cli://, que podem incluir texto para pré-carregar o prompt da ferramenta. Schneeweisz aponta que um atacante poderia inserir instruções de configuração maliciosas dentro desse texto, e o Claude Code as interpretaria como comandos válidos sem questioná-los.
Isso torna possível configurar a ferramenta para que execute qualquer comando no computador do usuário no momento em que a sessão é aberta. O exemplo fornecido pelo pesquisador como prova de conceito demonstrou a capacidade de abrir o aplicativo Calculadora no macOS e escrever um arquivo no disco com informações do sistema, tudo sem avisos ou confirmações, bastando clicar em um link.
O ataque também contorna o aviso de confiança do Claude Code
Uma das características mais perigosas dessa falha reside em uma segunda vulnerabilidade encadeada. Normalmente, o Claude Code exibe um aviso quando se tenta abrir um projeto não reconhecido, dando ao usuário a opção de decidir se confia nele. No entanto, se o link malicioso incluir o nome de um projeto que o usuário já possui salvo e marcado como seguro em seu computador, este aviso desaparece completamente.
Um atacante, ao saber quais projetos a vítima baixou, pode criar um link especificamente projetado para contornar essa proteção e distribuí-lo por qualquer canal, confiando que o sistema não exibirá nenhum aviso.
A raiz do problema é que o Claude Code não distinguia corretamente entre uma instrução real e texto que se assemelhava a uma instrução. Embora esse erro de design possa parecer menor em outro contexto, suas consequências são graves quando combinado com a capacidade de executar comandos no sistema.
A boa notícia é que a Anthropic corrigiu essa vulnerabilidade na versão 2.1.118 do Claude Code. Se você usa essa ferramenta, pode verificar sua versão executando claude --version no terminal. Se o número for inferior a 2.1.118, é recomendado atualizar imediatamente para evitar riscos.
Além do Claude Code, essa descoberta tem implicações para qualquer equipe que desenvolva ferramentas semelhantes. Se você trabalha em desenvolvimento ou gerencia software interno em sua empresa, vale a pena revisar se alguma de suas ferramentas comete o mesmo erro de confiar cegamente no texto recebido sem verificar sua origem.
