Lo que un agente puede filtrar sin que se lo pidas
Una inyección de prompt indirecta esconde una instrucción en un contenido que el agente lee en vez de en lo que tú escribiste, un archivo generado no tiene un autor que se responsabilice de su contenido, y una regla de configuración que apunta a una ruta de archivo se acepta sin error a la vez que no bloquea nada para la herramienta que ejecuta comandos directos, mientras que una regla que apunta al nombre de esa herramienta sí bloquea de verdad.
Una instrucción oculta en un contenido que Claude lee, una página web recuperada por una herramienta, un archivo adjunto, una línea de comentario en un repositorio, puede hacerle ejecutar algo distinto de lo que tú escribiste. Es la misma inyección de prompt que la lección anterior describe a propósito de una skill de terceros, pero en su forma indirecta: la fuente ya no es un paquete instalado, es cualquier contenido recuperado durante la conversación.
Las protecciones documentadas, y su límite anunciado
La documentación oficial de Claude Code nombra varias protecciones activas contra este riesgo: un sistema de permisos, un análisis contextual, el aislamiento de la ventana de contexto para la herramienta que recupera una página web, y una verificación de confianza en el primer lanzamiento de un repositorio. La misma página plantea ella misma su límite: estas protecciones reducen significativamente el riesgo, sin que ningún sistema quede completamente inmunizado contra todo ataque.
Una regla que se lee como una protección y no lo es
Un parámetro del archivo de configuración personal permite denegar el acceso a rutas precisas para las herramientas que leen o escriben un archivo. Una confusión documentada públicamente muestra por qué este parámetro por sí solo no basta: la herramienta que ejecuta comandos directos solo verifica, en las reglas de permiso, la presencia del nombre de esa herramienta, no las rutas realmente contenidas en el comando escrito.
{
"deniedPaths": ["/Users/exemple/documents-prives/**"]
}
Este archivo se guarda sin error de sintaxis. Bloquea efectivamente una lectura o una escritura de archivo que pase por las herramientas dedicadas a eso. No bloquea nada en absoluto cuando el mismo dato se alcanza mediante un comando directo, porque la regla apunta a una ruta y no al nombre de la herramienta. Esta constatación, hecha pública, sigue clasificada como un límite de diseño más que como una falla por corregir.
Lo que un archivo generado nunca firma
Un archivo producido automáticamente por una herramienta, un resumen, un grafo de conocimiento, un informe ensamblado a partir de varias fuentes, no tiene un autor en el sentido de una persona que se responsabilice de su contenido. Nadie se siente responsable de verificar lo que republica, incluida una frase sensible que una herramienta recorrió sin distinguir su nivel de confidencialidad del resto. Este riesgo no es propio de un producto concreto: es el defecto general de toda herramienta que ensambla contenido sin indicar su procedencia línea por línea.
Una regla por ruta de archivo, una regla por nombre de herramienta
Regla: deniedPaths contiene la carpeta privada. Comando escrito: cat documents-prives/contrat.txt Resultado: el contenido del archivo se muestra.
Regla: se deniega el nombre de la herramienta que ejecuta comandos. Comando escrito: cat documents-prives/contrat.txt Resultado: comando denegado, ninguna salida.
Un responsable añade, en el archivo de configuración de su espacio Claude, una regla que apunta a la ruta de su carpeta de documentos privados. El archivo se guarda y Claude reinicia con esta configuración. Al día siguiente, le pide a Claude que liste el contenido de esa carpeta mediante un comando directo dirigido a la herramienta que ejecuta comandos.
Escribe en una frase lo que esta situación establece, y en una frase lo que no establece.
Lo que esto establece: La situación establece que la regla que apunta a una ruta de archivo fue aceptada por el archivo de configuración, sin mensaje de error de sintaxis.
Lo que esto no establece: No establece que el comando pedido al día siguiente haya sido bloqueado, ya que una regla que apunta a una ruta en vez de a un nombre de herramienta puede aceptarse al guardarse sin impedir que la herramienta que ejecuta comandos acceda a ella.
Los tres calibrados falsos más frecuentes
- Demasiado amplio La regla protege ahora la carpeta de documentos privados contra cualquier comando, pase por la herramienta de lectura o por la herramienta que ejecuta comandos.
- Demasiado estrecho Este resultado no demuestra nada en absoluto, ya que guardar un archivo de configuración nunca tiene nada que ver con la seguridad de una carpeta.
- Fuera de lugar Esta situación muestra que el responsable adquirió la costumbre de proteger sus carpetas sensibles antes de adoptar una nueva herramienta.
- Una instrucción oculta en un contenido recuperado durante la conversación, página web, archivo adjunto, comentario de repositorio, actúa como una consigna que Claude no distingue automáticamente de una petición escrita directamente.
- La documentación oficial anuncia ella misma que sus protecciones reducen el riesgo de inyección de prompt sin eliminarlo.
- Una regla de configuración que apunta a una ruta de archivo se acepta sin error de sintaxis y sin embargo no bloquea nada para la herramienta que ejecuta comandos directos, solo una regla que apunta al nombre de esa herramienta bloquea de verdad.
- Este fallo de la regla por ruta sigue clasificado como un límite de diseño conocido más que como una falla corregida, lo que lo vuelve válido para cualquier configuración actual y no solo para una versión antigua.
- Un archivo ensamblado automáticamente por una herramienta no tiene un autor que se responsabilice de su contenido, lo que explica por qué nadie se siente responsable de verificar lo que republica antes de compartirlo más allá.
Abre tu archivo de configuración personal, añade una ruta sensible a la lista de rutas denegadas, y luego pide a Claude que acceda a esa misma ruta mediante un comando directo en vez de mediante la herramienta de lectura. Anota si el comando pasa o si queda bloqueado: ese es el único testigo que cuenta, nunca la sola aceptación del archivo sin error.
Estos puntos dependen de una interfaz o de una regla que puede haber cambiado desde la redacción. Verifícalos en tu propia pantalla antes de fiarte de ellos.
- El estado cerrado y sin planificación del aviso de GitHub citado en esta lección puede evolucionar: verifica en la página de la issue si desde entonces se ha anunciado una corrección antes de confiar en una regla que apunte a una ruta en vez de a un nombre de herramienta.
Cada afirmación datable de esta lección remite aquí al texto público que la respalda. Una fuente que no se abre no prueba nada.
- Seguridad, documentación oficial de Claude Code, code.claude.com consultée le 2026-09-02
- Issue de GitHub anthropics/claude-code #45992 consultée le 2026-09-02