Inyección de prompts a través de los metadatos de archivos subidos en pipelines RAG
Campos EXIF, propiedad «autor» de los PDF, metadatos de documentos Office: muchos pipelines RAG los ingieren junto al texto. Las instrucciones ocultas allí se siguen casi con la misma frecuencia. Un canal de inyección discreto.
¿Qué es esto?
La mayoría de los sistemas de generación aumentada por recuperación (RAG) permiten a los usuarios subir documentos —PDF, imágenes, archivos de ofimática— que luego se analizan, fragmentan, vectorizan y se devuelven a un modelo de lenguaje como contexto. El debate sobre la seguridad de este pipeline casi siempre se centra en el cuerpo de esos documentos. Pero un archivo transporta mucho más que su texto visible: las etiquetas EXIF de las imágenes, los campos «autor» y «título» de un PDF, las propiedades personalizadas de un archivo Word o Excel, los bloques XMP y otros metadatos estructurados viajan con él.
Un hallazgo registrado el 5 de junio de 2026 en el AI Model Vulnerability Tracker de Axis Intelligence Research (entrada AVI-2026-0091, actualizado el 4 de julio de 2026) informa de que, en cuatro de los seis frameworks RAG empresariales que probaron, estos metadatos se analizan y se concatenan junto al texto del cuerpo antes de llegar al modelo, y que una instrucción colocada en un campo de metadatos se sigue con una tasa de cumplimiento cercana a la de una instrucción escrita en el cuerpo del documento. Es un caso concreto, y fácil de pasar por alto, de la clase de inyección indirecta catalogada como LLM01 en el Top 10 de OWASP para aplicaciones LLM.
Cómo funciona
El mecanismo no es novedoso; lo es el canal de entrega. La inyección de prompts indirecta funciona porque un modelo no puede distinguir de forma fiable las instrucciones del desarrollador o del usuario de un texto que simplemente parece estar dentro de un contenido que se le pidió procesar. Los metadatos solo amplían la superficie: es texto que el modelo ingiere pero que un revisor humano casi nunca lee.
Subida → Extracción → Fragmentación → Vectorización → Recuperación → Ensamblaje del prompt
│
└── texto del cuerpo ✔ suele revisarse / sanearse
└── EXIF / XMP ✘ suele transmitirse tal cual
└── autor/título PDF ✘ suele transmitirse tal cual
└── propiedades doc ✘ suele transmitirse tal cual
Un atacante fija uno de estos campos a una instrucción —por ejemplo, una imagen cuya «descripción», o un PDF cuyo campo «autor», contiene [REDACTED: instrucción que ordena al modelo ignorar el contexto previo y ejecutar alguna acción]—. Cuando el extractor aplana el archivo a texto para indexarlo, esa cadena aterriza en el corpus recuperable sin ningún marcador que la distinga del contenido legítimo. Es una variante con sabor a cadena de suministro de la antigua inyección a través de la capa de anotaciones de los PDF (AVI-2026-0017 de Axis, presentada en abril de 2026), y encaja con el panorama empírico más amplio de Indirect Prompt Injection in the Wild (arXiv 2604.27202): las inyecciones se esconden cada vez más en los canales que los defensores inspeccionan menos.
Por qué importa
Cualquier organización que ejecute RAG sobre documentos aportados por usuarios o por terceros está expuesta, y la barrera de entrada es baja: editar un campo de metadatos no requiere ningún acceso especial y deja el documento visible intacto, por lo que la inyección sobrevive a una revisión humana somera y a muchos filtros de moderación que solo escanean el cuerpo renderizado. Como la carga útil viaja dentro de un archivo de apariencia inofensiva, puede permanecer latente en un índice y activarse solo cuando una consulta relevante la recupera. El impacto sigue a lo que el agente posterior sea capaz de hacer: manipulación de contenido, exfiltración de datos mediante llamadas a herramientas, o direccionamiento de la respuesta de un asistente.
Defensas
El principio central es tratar todos los metadatos extraídos como entradas no confiables, no como datos estructurados de confianza.
Elimine o normalice los metadatos antes de la indexación: salvo que un campo sea explícitamente necesario, descarte las etiquetas EXIF, XMP, los diccionarios «info» de los PDF y los bloques de propiedades documentales en la ingesta. Cuando deba conservar metadatos (para búsqueda o trazabilidad), guárdelos en un campo separado y claramente etiquetado que nunca se concatene al contexto de instrucciones del modelo. Aplique a los metadatos el mismo saneamiento de entrada y el mismo filtrado de resultados de herramientas que ya aplica al texto del cuerpo, y mantenga una separación cuarentena/privilegio para que el contenido recuperado no confiable no pueda impulsar directamente acciones privilegiadas. Por último, registre de qué documento y de qué campo proviene cada fragmento recuperado, de modo que una instrucción inyectada pueda rastrearse y el archivo de origen retirarse. Estas medidas se corresponden directamente con las defensas en capas recomendadas por el Top 10 de OWASP para LLM para LLM01.
Status
| Elemento | Detalle |
|---|---|
| Primer registro | 5 de junio de 2026 (Axis Intelligence Research, AVI-2026-0091) |
| Naturaleza | Inyección indirecta a nivel de framework vía campos de metadatos |
| Afectados | Frameworks RAG que analizan metadatos en el contexto del modelo (independiente del modelo) |
| Responsable del arreglo | Mantenedores de frameworks RAG + integradores (limpieza de metadatos en la ingesta) |
| Clase | OWASP LLM01 — Inyección de prompts (indirecta) |
Las fechas de observación reflejan las publicaciones citadas. Los resultados de una reproducción de laboratorio única deben validarse en su propio stack antes de sacar conclusiones sobre un modelo o framework concreto.