Un asistente de correo electrónico basado en Azure OpenAI superó todas las evaluaciones realizadas por el equipo de Egiziago Cioffi, pero falló una prueba de seguridad sencilla: cuando una cuenta de bajos privilegios formuló las mismas preguntas que antes había planteado una cuenta con altos privilegios, el asistente devolvió contenido de SharePoint que la cuenta de bajos privilegios no podía abrir directamente. El incidente revela que el éxito de un agente al ofrecer respuestas precisas o completar tareas no significa necesariamente que aplique los límites de acceso correctos.
Cioffi, arquitecto de tecnología de la información y empresarial y director ejecutivo de SynSphere Italia, socio de Microsoft con sede en Milán, construyó personalmente el agente, escribió la tarea de indexación y configuró la ruta de recuperación en Azure OpenAI, conectándola con SharePoint. Según las respuestas escritas que Cioffi proporcionó a VentureBeat, el asistente procesaba automáticamente alrededor del 60% de los mensajes entrantes de los clientes. Sin embargo, las evaluaciones y las pruebas unitarias no preguntaban por la identidad con permisos utilizada al recuperar el contenido, que fue el punto que los registros de recuperación revelaron posteriormente.
El problema no está solo en la precisión de la respuesta
En las rutas RAG que utilizan una cuenta de servicio con amplios privilegios para la indexación, el agente puede ver un conjunto de datos mayor del que el usuario final puede consultar. Si no se comprueban los permisos del solicitante al ejecutar la consulta, los documentos restringidos pueden entrar en la ventana de contexto del modelo antes de que exista la oportunidad de impedirlo.
Azure AI Search ofrece un mecanismo nativo para reducir las listas de control de acceso a nivel de documento mediante tokens basados en Entra. Esta capacidad estaba disponible en vista previa desde mayo de 2025, seguida posteriormente por la sincronización de las listas de acceso de SharePoint en otra vista previa. La vista previa de SharePoint también permite introducir datos de grupos de sitios mediante el prefijo spg: en la interfaz de programación de aplicaciones 2026-05-01-preview. Sin embargo, la documentación señala que la aplicación de permisos en el momento de la consulta es fiable para las entidades compatibles mediante Entra, y que la ruta experimental no cubre todos los métodos de implementación de agentes.
El servicio Azure OpenAI On Your Data admite el acceso a nivel de documento mediante filtros de seguridad en Azure AI Search, pero la documentación de Microsoft establece que no asignar un campo de grupos permitidos desactiva el acceso a nivel de documento. En cuanto a las rutas RAG personalizadas que omiten Azure AI Search, esta comprobación no está disponible automáticamente a menos que el desarrollador la incorpore en la ruta de recuperación, que es lo que ocurrió en la implementación de Cioffi.
Indicadores independientes, pero no pruebas de una única causa
Otros datos respaldan la importancia del problema, aunque es necesario no confundir los distintos tipos de fallos. Straiker realizó más de 1700 intentos de explotación exitosos contra agentes en producción y señaló en el primer informe de STAR Labs, publicado en julio, que el 91% de los ataques exitosos contra agentes de productividad terminaron con una extracción silenciosa de datos sin ser detectados. Este porcentaje no demuestra que todos los casos fueran consecuencia de un fallo en la aplicación de los permisos de recuperación; el informe no distingue entre fallos de autorización, inyección de instrucciones, uso indebido de herramientas y otros factores.
De forma independiente, el Instituto de Seguridad de la Inteligencia Artificial del Reino Unido documentó 19 acciones no autorizadas durante una evaluación de seguridad realizada entre el 25 y el 28 de julio, y publicó el informe del incidente el 4 de agosto del mismo año. La prueba se realizó con los clasificadores de ciberseguridad desactivados y el acceso a Internet habilitado. Estos resultados representan un fallo en la contención del comportamiento del agente dentro del ámbito previsto, no un fallo idéntico al incidente de recuperación de SharePoint; el elemento común es la ausencia de una comprobación fiable del ámbito durante la ejecución.
¿Qué corrigió el candidato en la práctica?
Cioffi trasladó la decisión de autorización al momento de la consulta y añadió un filtro que comprueba los permisos del usuario de SharePoint antes de pasar cualquier parte del contenido al modelo. De este modo, el contenido que el usuario no puede abrir en SharePoint no entra en la ventana de contexto. Tras activar el filtro, el asistente siguió resolviendo automáticamente alrededor del 60% de los correos entrantes, pero Cioffi no proporcionó una cifra comparable de la tasa anterior a su aplicación.
Esta solución impone una contrapartida clara: puede excluir información que el agente utilizaba anteriormente para responder, lo que podría provocar respuestas incompletas o la ausencia de respuesta cuando los permisos impidan acceder a una parte que el modelo necesita. La conveniencia de esta contrapartida varía según la sensibilidad de los datos, la diferencia de permisos entre usuarios y la capacidad de la organización para tolerar consultas incompletas.
Una prueba práctica antes del lanzamiento
La lección editorial más importante es que la gobernanza de la identidad del agente y la comprobación de los permisos de recuperación abordan dos capas diferentes. La gobernanza de la identidad determina las cuentas de servicio, el alcance de su acceso y el ciclo de vida de sus tokens, pero no garantiza que el contenido que la cuenta recupera en nombre de un usuario con bajos privilegios coincida con lo que ese usuario puede consultar.
- Utilice dos cuentas: una con bajos privilegios y otra con altos privilegios.
- Formule la misma pregunta que utilizó la cuenta con altos privilegios.
- Compare el resultado del asistente con lo que la cuenta con bajos privilegios puede abrir directamente en el sistema de origen.
- En una implementación de Azure AI Search con un indexador de SharePoint y entidades compatibles mediante Entra, compruebe que la reducción de ACL en el momento de la consulta esté activada y que el grupo de usuarios no dependa de grupos de sitios de SharePoint no compatibles.
- En una ruta RAG personalizada, suponga que la comprobación de autorización no existe hasta demostrar lo contrario mediante pruebas y registros.
Según el artículo, la prueba con las dos cuentas tarda alrededor de 30 minutos, pero revela algo que la puntuación de evaluación de respuestas por sí sola no puede mostrar: ¿utiliza realmente el agente los permisos del solicitante o los permisos de la cuenta de servicio que creó el índice?