
Flow Integrity Deterministic Enforcement System. Mecanismos para proteger agentes de IA con control de flujo de información.
Este repositorio contiene un cuaderno de Jupyter que acompaña al artículo académico «Protegiendo agentes de IA con control de flujo de información». El cuaderno está estructurado como un tutorial para guiar a los lectores a través de los conceptos presentados en el artículo. Esto ilustra una implementación práctica de mecanismos para hacer cumplir de forma determinista políticas de seguridad en tareas agénticas y plasma los conceptos en código ejecutable con el que los lectores pueden experimentar.
El cuaderno se ha probado con GPT-4o y GPT-4.1 mediante la API de Azure OpenAI Chat Completions, pero podría adaptarse fácilmente para utilizar un endpoint de OpenAI en su lugar.
El código configura el endpoint del modelo en el cliente mediante un archivo de configuración .env que contiene las definiciones de AZURE_ENDPOINT, API_VERSION y AZURE_DEPLOYMENT.
Copie el archivo .env.example proporcionado a .env y edítelo según corresponda.
El cuaderno se autentica en el servicio Azure OpenAI mediante Microsoft Entra ID, pero podría adaptarse fácilmente para usar autenticación basada en claves si se prefiere.
Para mayor comodidad, proporcionamos un cuaderno completamente ejecutado para ilustrar la salida prevista, pero animamos a los lectores a configurar su propio endpoint para experimentar de primera mano y reproducir nuestros resultados.
Si desea citar este trabajo, cítelo de la siguiente manera
@misc{securing_ai_agents_with_ifc,
title = {Securing {AI} Agents with Information-Flow Control},
author = {Costa, Manuel and
K{\"o}pf, Boris and
Kolluri, Aashish and
Paverd, Andrew and
Russinovich, Mark and
Salem, Ahmed and
Tople, Shruti and
Wutschitz, Lukas and
Zanella-B{\'e}guelin, Santiago},
year = {2025},
eprint = {2505.23643},
archivePrefix = {arXiv},
primaryClass = {cs.CR},
doi = {10.48550/arXiv.2505.23643}
}
Este proyecto acepta contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Acuerdo de Licencia de Colaborador (CLA) que declare que tiene el derecho, y que efectivamente lo hace, de otorgarnos los derechos para usar su contribución. Para más detalles, visite Acuerdos de Licencia de Colaborador.
Cuando envíe una solicitud de extracción (pull request), un bot de CLA determinará automáticamente si necesita proporcionar un CLA y decorará la PR adecuadamente (por ejemplo, verificación de estado, comentario). Simplemente siga las instrucciones proporcionadas por el bot. Solo necesitará hacer esto una vez en todos los repositorios que utilizan nuestro CLA.
Este proyecto ha adoptado el Código de Conducta de Código Abierto de Microsoft. Para obtener más información, consulte las Preguntas Frecuentes sobre el Código de Conducta o póngase en contacto con [email protected] si tiene preguntas o comentarios adicionales.
Este proyecto puede contener marcas comerciales o logotipos de proyectos, productos o servicios. El uso autorizado de marcas comerciales o logotipos de Microsoft está sujeto y debe cumplir con las Directrices de marcas comerciales y de marca de Microsoft. El uso de marcas comerciales o logotipos de Microsoft en versiones modificadas de este proyecto no debe causar confusión ni implicar patrocinio de Microsoft. Cualquier uso de marcas comerciales o logotipos de terceros está sujeto a las políticas de dichos terceros.