1,721 lecturas
1,721 lecturas

Los agentes de IA no están listos para la producción - y el control de acceso podría ser la razón

por Permit.io12m2025/04/16
Read on Terminal Reader

Demasiado Largo; Para Leer

Los agentes de IA se enfrentan a desafíos críticos de seguridad debido al acceso a datos dinámicos y nuevos vectores de ataque. Este artículo presenta el Marco de Cuatro Perímetros, que asegura los flujos de trabajo de IA a través de la filtración rápida, la protección de datos RAG, el control de acceso externo y la validación de salida, utilizando control de acceso de grano fino (ABAC y ReBAC) para mejorar la seguridad de la IA.
featured image - Los agentes de IA no están listos para la producción - y el control de acceso podría ser la razón
Permit.io HackerNoon profile picture
0-item

-Daniel Bass


Mejorar el rendimiento de las aplicaciones a través del uso de los agentes de IA se está convirtiendo en una práctica muy común, ya sea debido a la expansión de la industria o a casos de uso útiles reales.


Estos agentes de IA, sin embargo, a menudo requieren acceso a datos altamente sensibles, lo que introduce riesgos de seguridad significativos.Los asistentes de IA exponen información sensible del pacientey varios agentes AI comprometidos a través deAtaques de inyección rápida sofisticados. el


La protección de los agentes de IA en este contexto se está volviendo tan importante como las capacidades de los propios agentes de IA, si no más.

Para abordar este problema, hemosPermiso.ioHe estado trabajando durante un tiempo en un enfoque de seguridad estructurada que quiero presentarte hoy:

The Four-Perimeter Framework. el

El marco de los cuatro perímetros


Este método proporciona una estrategia integral para proteger a los agentes de IA mediante la implementación deControl de acceso de granos finos, garantizando el cumplimiento, y mitigando posibles vectores de ataque. Antes de entrar en la solución, hablemos más sobre el espacio del problema.

El problema: los riesgos de seguridad de la IA en dominios sensibles

Las medidas de seguridad de aplicaciones tradicionales y los mecanismos de control de acceso caen en falta cuando se trata de manejar a los agentes de IA.Control de acceso basado en roles (RBAC)Excel en la gestión de permisos estáticos, luchan con la naturaleza dinámica de las respuestas de IA. A diferencia de las aplicaciones tradicionales donde los mapas de entrada a las salidas previsibles y los patrones de acceso están bien definidos, la IA genera respuestas únicas para cada consulta.


La forma en que los sistemas de IA acceden a los datos también no se ajusta a los estándares de seguridad.Para proporcionar respuestas precisas y útiles, los agentes de IA necesitan un acceso amplio a diversas fuentes de datos y bases de conocimiento.El RBAC clásico resulta demasiado rígido para esta necesidad: no puedes simplemente asignar permisos estáticos cuando los requisitos de datos cambian en función del contexto.Atribución basadaque permiten tomar decisiones de acceso dinámico.


Otra preocupación son los nuevos vectores de ataque que introducen los sistemas de IA. Las medidas de seguridad convencionales no estaban diseñadas para manejar ataques de inyección rápida, intentos de extracción de modelos o ataques de envenenamiento de datos.


La solución viene en forma de un marco de seguridad integral construido en torno a cuatro perímetros esenciales.

La solución: el marco de cuatro perímetros

Dado que las aplicaciones de IA difieren del software estándar en la forma en que procesan las entradas, recuperan datos, ejecutan acciones y generan salidas, también introducen riesgos de seguridad únicos.Para abordar estos desafíos, necesitamos un enfoque de seguridad estructurado que aplique control de acceso en cada etapa de la interacción de IA. Y eso es exactamente lo que quiero mostrar aquí:


ElFour-Perimeter Frameworkestá diseñado para imponer la conciencia de la identidad,Autorización de granos finos a lo largo del ciclo de vida de la IAIntroduce límites de seguridad que rigen a qué datos pueden acceder los modelos de IA, qué operaciones pueden realizar y cómo se validan sus respuestas.


El marco consta de cuatro partes:


    y
  1. Filtración prompt: garantiza que solo las entradas seguras validadas lleguen a los modelos de IA.
  2. y
  3. Protección de datos RAG – Controlar el acceso de la IA a fuentes de conocimiento externas.
  4. y
  5. Acceso externo seguro: Define los permisos de los agentes de IA cuando interactúa con herramientas externas.
  6. y
  7. Implementación de la respuesta: Aplicación de controles de cumplimiento y filtración de salidas generadas por IA.
  8. y


mediante la aplicaciónfine-grained access control (FGA)en estos perímetros, los agentes de la IA se mantienensecure, auditable, and compliantsin sacrificar su flexibilidad y funcionalidad.

¿Dónde entra el FGA?

Como se mencionó anteriormente, los métodos tradicionales de control de acceso como el RBAC no manejan el comportamiento dinámico y contextual de la IA. Aquí es donde entra en juego la autorización de grano fino (FGA), específicamente a través del control de acceso basado en atributos (ABAC) y el control de acceso basado en relaciones (ReBAC):


    y
  • ABAC para el filtro de prompt de modelos de IA procesan entradas no estructuradas, lo que dificulta la aplicación de reglas de seguridad tradicionales. ABAC resuelve esto extrayendo atributos estructurados de las prompt de IA y utilizándolos en decisiones de acceso basadas en políticas.
  • y


    y
  • ReBAC for RAG Data Protection Retrieval-Augmented Generation (RAG) permite a los modelos de IA extraer información de bases de datos vectoriales. ReBAC proporciona una forma natural de fortalecer la seguridad en esta configuración mediante la definición de relaciones entre usuarios, fuentes de datos y agentes de IA. En lugar de asignar permisos estáticos, ReBAC otorga o niega el acceso dinámicamente en función de cómo los objetos de datos se relacionan entre sí, permitiendo permisos de recuperación conscientes del contexto.
  • y


Al combinar ABAC y ReBAC, las aplicaciones de IA obtienen mecanismos flexibles de control de acceso orientados a políticas que se adaptan a diferentes flujos de trabajo de IA sin requerir una intervención manual.

¿Cómo es una implementación paso a paso?

Pasemos por una implementación práctica para ver laFour-Perimeter Framework in actionEste ejemplo asegura a un agente devalidating prompts, enforcing data protection, restricting external access, and moderating responsesLevantamientoPermiso.io AI Access ControlIntegración en cada paso.

Permiso.io

1. Implement Prompt Filtering

El primer perímetro de seguridad se centra en la validación y sanitización de las entradas de IA antes de que lleguen al modelo.


    y
  • Los controles de autorización se integran en el tubo de validación instantánea, evitando que los datos no autorizados influyan en las salidas de IA.
  • y
  • Se aplican controles de acceso basados en roles, atributos y relaciones, asegurando que solo los parámetros aprobados pasen a la IA.
  • y
  • Cualquier violación de las políticas se registra y bloquea en tiempo real, preservando un rastro audible de decisiones de acceso.
  • y


Aquí están los tres métodos para filtrar las promesas - de las más fáciles a las más avanzadas:


    y
  1. Validación de token - Un método eficiente para comprobaciones simples como la longitud de la prompt o la tolerancia general de las entradas en ejecución en el sistema.
  2. y
  3. Pattern Matching: en este método, la verificación de permisos examina los patrones en el texto prompt. Verificando, por ejemplo, si el patrón coincide con una consulta SQL o ejemplo de código.
  4. y
  5. Clasificación de la IA: el método más avanzado en esta lista, la clasificación de la IA utiliza la IA para analizar el prompt usando un prompt del sistema dedicado, clasificándolo en una entrada estructurada que puede ser analizada con precisión en la verificación de permisos.
  6. y



Prompt Filtering with PydanticAI

Para demostrar mejor la implementación de la filtración de prompt eficiente, aquí está un ejemplo de usar las herramientas PydanticAI para filtrar las entradas de los usuarios a los agentes de IA. PydanticAI es un marco de agentes que aprovecha la famosa biblioteca Pydantic de Python y sus capacidades de escritura estática y la convierte en un marco de IA estructurado que maneja datos no estructurados.


El siguiente repositorio de GitHub contiene una implementación completa del marco para PydanticAI:github.com/permitio/permit-pydanticai



@financial_agent.tool
async def validate_financial_query(
    ctx: RunContext[PermitDeps],
    query: FinancialQuery,
) -> bool:
    """Key checks:
    - User has explicitly opted in to AI financial advice
    - Consent is properly recorded and verified
    - Classifies if the prompt is requesting advice

    Args:
        ctx: Context containing Permit client and user ID
        query: The financial query to validate

    Returns:
        bool: True if user has consented to AI advice, False otherwise
    """
    try:
        # Classify if the prompt is requesting advice
        is_seeking_advice = classify_prompt_for_advice(query.question)

        permitted = await ctx.deps.permit.check(
            # The user object with their attributes
            {
                "key": ctx.deps.user_id,
            },
            # The action being performed
            "receive",
            # The resource being accessed
            {
                "type": "financial_advice",
                "attributes": {"is_ai_generated": is_seeking_advice},
            },
        )

        if not permitted:
            if is_seeking_advice:
                return "User has not opted in to receive AI-generated financial advice"
            else:
                return "User does not have permission to access this information"

        return True

    except PermitApiError as e:
        raise SecurityError(f"Permission check failed: {str(e)}")

2. Enforce Data Protection –

A continuación, aseguramosretrieval-augmented generation (RAG)las consultas mediante la garantía de que los modelos de IA solo pueden acceder aauthorized knowledge sourcesEsto se puede lograr mediante la filtración finamente granulada de los datos del agente de IA en nombre del usuario dentro del flujo de trabajo de IA:


    y
  • La política de grano fino utiliza modelos avanzados de filtración de datos, como el control de acceso basado en relaciones, para permitir la filtración avanzada de consultas al motor de políticas.
  • y
  • Las fuentes vectoriales y gráficas conectadas a los agentes de IA tienen metadatos que pueden ayudar al motor a manipular la consulta no estructurada, filtrándola para incluir sólo datos permitidos.
  • y
  • Cada vez que el agente extrae datos de la base de conocimientos RAG, filtra los resultados por permiso del usuario.
  • y


Cuando la aplicación de agentes realiza la filtración RAG, utiliza uno de los siguientes métodos:


    y
  • FilterObjects – En este método, la aplicación gráfica recoge todos los datos relevantes del RAG y luego los filtra por permisos de usuario.
  • y
  • GetUserPermissions - En este método, el agente proporciona a la RAG una consulta no estructurada. La RAG entonces llama la función GetUserPermissions, añadiendo una consulta de filtro a la consulta RAG no estructurada. Esto permite que la consulta se filtre a los recursos únicamente a los que el usuario puede acceder.
  • y


RAG Data Protection with Langchain

Langchain, el famoso marco de aplicaciones de IA, es conocido (también) por sus componentes de retriever que proporcionan un gran soporte en los retrievers personalizados que se pueden montar con cualquier tipo de fuente de datos, lo que facilita la implementación de RAG seguro.SelfQueryRetriever, puede envolver el RAG habitual con unGetUserPermissionsAquí está un ejemplo del PermitSelfQueryRetriever que obtiene el usuario, la acción y el tipo de los recursos RAG para filtrar los resultados para el LLM:


# 1. Build a small in-memory vector store
  embeddings = OpenAIEmbeddings()
  vectorstore = FAISS.from_documents(docs, embedding=embeddings)

# 2. Initialize the PermitSelfQueryRetriever
retriever = PermitSelfQueryRetriever(
    api_key=os.getenv("PERMIT_API_KEY", ""),
    pdp_url=os.getenv("PERMIT_PDP_URL"),
    user=USER,
    resource_type=RESOURCE_TYPE,
    action=ACTION,
    llm=embeddings,
    vectorstore=vectorstore,
    enable_limit=False,
)


El siguiente repositorio contiene la implementación completa del marco para Langchain:HTTPS://github.com/permitio/langchain-permit

3. Secure External Access –

Los agentes de IA a menudo interactúan con APIs, servicios y herramientas de automatización externas. Sin un control de acceso adecuado, corren el riesgo de ejecutar acciones no autorizadas.


    y
  • El uso de modelos como el MCP, que define un modelo servidor-cliente donde los agentes de IA interactúan con servicios externos, es un gran paso para permitir la seguridad para el acceso externo de IA (por ejemplo, bases de datos, APIs, sistemas de pago).
  • y
  • La infraestructura de acción de IA puede usar un servicio como Permit.io para realizar comprobaciones de autorización en el nivel de acción, comprobar quién está haciendo una solicitud y qué acción quieren realizar.
  • y
  • Los desarrolladores son capaces de asignar identidades de máquina a los agentes de IA, limitando sus capacidades a solo funciones pre-aprobadas.
  • y


Si bien los GPT y las interfaces de lenguaje natural no son nuevos, permitir que realicen acciones en nombre de los usuarios es un reto bastante nuevo con el que luchan muchos ingenieros.


    y
  1. Un usuario pide a un agente de IA que realice una operación, como una llamada HTTP. El agente de IA sabe comprobar si la operación está permitida, teniendo en cuenta el contexto actual y el usuario.
  2. y
  3. Comunicación de agente a agente - en este siguiente nivel, necesitamos un flujo en cascada de identidades y permisos que permitan a los agentes realizar acciones por sí mismos basándose en el principio del mínimo privilegio.
  4. y
  5. Flujos de solicitudes de acceso: el nivel más emocionante de acceso externo es cuando el agente de IA entiende la necesidad de solicitar acceso directamente a un usuario humano cuando quiere realizar una operación.
  6. y


MCP, Human-in-the-Loop, and External Access

Model Context Protocol es un nuevo protocolo introducido por Anthropic, que resuelve el problema de permitir que los agentes de IA realicen acciones proactivas y sirve como el mayor facilitador para asegurar el acceso externo.


En el siguiente ejemplo, mostramos un servidor MCP que sabe cómo gestionar los flujos de solicitudes de acceso al introducir a los humanos en el ciclo y utiliza las APIs de Permit.io para solicitar permisos.


Puede ver el ejemplo de código completo para el servidor de solicitudes de acceso de MCP aquí:https://github.com/permitio/permit-mcp


@mcp.tool()
async def request_access(username: str, resource: str, resource_name: str) -> dict:
  """
  Initiate access request call to a specific resource in the system

  Args:
    username: The username of the person requesting access
    resource: The resource type the user is request access for
    resource_name: The name of the restaurant to request access for

  """
  
  login = await permit.elements.login_as({ "userId": slugify(username), "tenant": "default"})
  print(login)
  
  url = f"https://api.permit.io/v2/facts/{PROJECT_ID}/{ENV_ID}/access_requests/{ELEMENTS_CONFIG_ID}/user/{slugify(username)}/tenant/default"
  payload = {
      "access_request_details": {
          "tenant": "default",
          "resource": resource,
          "resource_instance": resource_name['id'],
          "role": "viewer",
      },
      "reason": f"User {username} requests role 'viewer' for {resource_name}"
  }
  headers = {
      "authorization": "Bearer YOUR_API_SECRET_KEY",
      "Content-Type": "application/json",
  }
  async with httpx.AsyncClient() as client:
      await client.post(url, json=payload, headers=headers)
      return "Your request has been sent. Please check back later."

4. Validate AI Responses –

El perímetro final aplica la moderación del contenido y la conformidad a las respuestas generadas por la IA. Esto se puede hacer creando un flujo de trabajo que aplica la filtración basada en políticas antes de entregar las puertas de IA:


    y
  • Se puede añadir una verificación de permisos a la aplicación de agente, lo que permite la aplicación de políticas en cada paso de la cadena antes de que el usuario reciba una respuesta.
  • y
  • Los flujos de trabajo combinados de validación de datos y autorización aseguran que sólo los datos validados y permitidos pueden avanzar.
  • y
  • La respuesta que devuelve a los usuarios puede ser editada basándose en limitaciones predefinidas, permitiendo así el enmascaramiento de datos o la notificación al usuario de limitaciones de uso.
  • y



Response Filtering with Langflow

En el siguiente ejemplo, usamos Langflow, un editor visual de aplicaciones de IA sin código, para crear un componente de verificación de permisos que está posicionado antes de cualquier respuesta de chat al usuario.Este repositorio contains all the access control components required for secured Langflow applications.


Conclusión

Los sistemas de IA se están integrando rápidamente en aplicaciones de toda la industria, pero sus marcos de seguridad siguen siendo subdesarrollados en comparación con el software tradicional.Sin un control de acceso consciente de la identidad adecuado, los agentes de IA corren el riesgo de exponer datos sensibles, ejecutar operaciones no autorizadas y generar respuestas que se encuentren fuera de las directrices de cumplimiento.


El Marco de Cuatro Perímetros ofrece una forma estructurada de proteger los flujos de trabajo de IA en todas las etapas, desde la validación de prompts y la protección de datos de generación aumentada por recuperación (RAG) hasta el control de acciones externas impulsadas por IA y la aplicación de la conformidad de la respuesta.Al aprovechar la autorización de grano fino (FGA) con ABAC y ReBAC, los desarrolladores pueden asegurarse de que los agentes de IA permanezcan funcionales y seguros, adaptándose dinámicamente a los escenarios de seguridad del mundo real.


En lugar de construir control de acceso desde cero, las integraciones de control de acceso de IA de Permit.io con PydanticAI, LangChain, MCP y LangFlow permiten a los equipos incorporar la seguridad directamente en sus aplicaciones de IA sin interrumpir los flujos de trabajo de desarrollo.Pruebe usted mismo aquí. el


Dicho esto, este campo sigue siendo relativamente nuevo, y las mejores prácticas para asegurar a los agentes de IA siguen evolucionando.El Marco de Cuatro Perímetros es un enfoque experimental, y aunque proporciona una base sólida, reconozco que las implementaciones en el mundo real siempre requieren más refinamiento y adaptación.


Me encantaría escuchar sus comentarios, pensamientos e ideas sobre cómo mejorar este marco para que sea aún mejor para los sistemas de IA listos para la producción - comente aquí, o me golpee en nuestro artículo.Comunidad Slack. el

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks