1,721 čtení
1,721 čtení

AI agenti nejsou připraveni na výrobu - a kontrola přístupu může být důvodem

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

Příliš dlouho; Číst

Agentury AI čelí kritickým bezpečnostním výzvám v důsledku dynamického přístupu k datům a nových vektorů útoku. Tento článek představuje rámec čtyř obvodů, který zajišťuje pracovní postupy AI prostřednictvím rychlého filtrování, ochrany dat RAG, kontroly externího přístupu a ověřování výstupů – s využitím kontroly přístupu s jemným zrnem (ABAC & ReBAC) ke zvýšení bezpečnosti AI.
featured image - AI agenti nejsou připraveni na výrobu - a kontrola přístupu může být důvodem
Permit.io HackerNoon profile picture
0-item

-Daniel Bass


Zlepšení výkonu aplikací prostřednictvím používání agentů umělé inteligence se stává velmi běžnou praxí - ať už kvůli průmyslovým hype nebo skutečným užitečným případům použití.


Tito agenti AI však často vyžadují přístup k vysoce citlivým datům, což představuje významná bezpečnostní rizika.Bez standardizovaných řešení pro kontrolu přístupu vývojové týmy často budují bezpečnostní opatření od začátku – což vede k případům, kdyAsistenti AI odhalují citlivé informace pacientůa několik agentů AI, které jsou ohroženy prostřednictvímSofistikované rychlé injekční útokya .


Ochrana agentů umělé inteligence v tomto kontextu se stává stejně důležitou jako schopnosti samotných agentů umělé inteligence - ne-li více.

Abychom tento problém řešili, jsmePovolení.czjiž delší dobu pracujeme na strukturovaném přístupu k bezpečnosti, který vám dnes chci představit:

The Four-Perimeter Frameworka .

Čtyřperimetrický rámec


Tato metoda poskytuje komplexní strategii pro ochranu agentů AI prostřednictvím implementaceFine grain přístupová kontrola, zajištění souladu a zmírnění potenciálních vektorů útoku.Než se dostanu do řešení, pojďme mluvit více o problémovém prostoru.

Problém: bezpečnostní rizika AI v citlivých doménách

Tradiční bezpečnostní opatření aplikací a mechanismy kontroly přístupu chybí, pokud jde o manipulaci s agenty umělé inteligence.Řízení přístupu založené na roli (Role-Based Access Control – RBAC)Na rozdíl od tradičních aplikací, kde jsou vstupy mapovány na předvídatelné výstupy a přístupové vzory jsou dobře definovány, AI generuje jedinečné odpovědi pro každou dotazu.


Způsob, jakým systémy AI přistupují k datům, také neodpovídá bezpečnostním standardům. Aby mohli poskytovat přesné a užitečné odpovědi, potřebují agenti AI široký přístup k různým zdrojům dat a databázím znalostí. Klasický RBAC se pro tuto potřebu ukázal jako příliš rigidní - nemůžete jednoduše přiřadit statická oprávnění, když se požadavky na data mění na základě kontextu.Atributy založenéJedná se o přístup, který umožňuje dynamické přístupové rozhodnutí.


Dalším problémem jsou nové vektory útoků, které systémy AI zavádějí.Konvenční bezpečnostní opatření nebyla navržena tak, aby řešila útoky rychlé injekce, pokusy o extrakci modelů nebo útoky na otravu dat. Tyto cílové zranitelnosti jsou jedinečné pro systémy AI, které vyžadují zcela nové metody ochrany.


Řešení přichází ve formě komplexního bezpečnostního rámce postaveného kolem čtyř základních obvodů -

Řešení: čtyřperimetrický rámec

Protože se aplikace AI liší od standardního softwaru tím, jak zpracovávají vstupy, získávají data, provádějí akce a vytvářejí výstupy, zavádějí také jedinečná bezpečnostní rizika.


TytoFour-Perimeter Frameworkje navržena tak, aby prosazovala identitní povědomí,autorizace v celém životním cyklu AIZavádí bezpečnostní hranice, které určují, jaké modely AI mají přístup k datům, jaké operace mohou provádět a jak jsou jejich odpovědi validovány.


Rámec se skládá ze čtyř částí:


    se
  1. Prompt filtrování – zajištění, že pouze validované, bezpečné vstupy dosáhnou modelů AI.
  2. se
  3. RAG Data Protection – ovládání přístupu AI k externím zdrojům znalostí.
  4. se
  5. Secure External Access – definování oprávnění AI agentů při interakci s externími nástroji.
  6. se
  7. Response Enforcement – aplikace kontrol shody a filtrování výstupů generovaných AI.
  8. se


Aplikovánímfine-grained access control (FGA)v těchto oblastech, agenti AI zůstávajísecure, auditable, and compliantBez ztráty flexibility a funkčnosti.

Kde se FGA nachází?

Jak již bylo zmíněno dříve, tradiční metody kontroly přístupu, jako je RBAC, se nedokáží vypořádat s dynamickým, kontextově závislým chováním umělé inteligence.


  • Modely AI zpracovávají nestrukturované vstupy, čímž je obtížné aplikovat tradiční bezpečnostní pravidla. ABAC to řeší extrahováním strukturovaných atributů z AI poptávek a jejich použitím v přístupových rozhodnutích založených na zásadách.
  • se


    se
  • ReBAC pro RAG Data Protection Retrieval-Augmented Generation (RAG) umožňuje modelům umělé inteligence čerpat informace z vektorových databází. ReBAC poskytuje přirozený způsob, jak v tomto nastavení prosazovat bezpečnost definováním vztahů mezi uživateli, zdroji dat a agenty umělé inteligence. Namísto přidělování statických oprávnění, ReBAC dynamicky uděluje nebo odmítá přístup na základě toho, jak se datové objekty vztahují k sobě navzájem – umožňující oprávnění pro vyhledávání v kontextu.
  • se


Kombinací ABAC a ReBAC získají aplikace AI flexibilní mechanismy řízení přístupu založené na zásadách, které se přizpůsobují různým pracovním postupům AI, aniž by vyžadovaly ruční zásah.

Jak vypadá implementace krok za krokem?

Pojďme procházet praktickou implementací, abychom viděliFour-Perimeter Framework in actionTento příklad zajišťuje agentovi AIvalidating prompts, enforcing data protection, restricting external access, and moderating responsesLevantováníPovolení.cz AI Access ControlIntegrace na každém kroku

Povolení.cz

1. Implement Prompt Filtering

První bezpečnostní obvod se zaměřuje na validování a sanitizaci vstupů umělé inteligence předtím, než dosáhnou modelu.Můžeme prosazovat strukturované zpracování vstupů a prosazovat přístupové politiky na výzvy předtím, než dosáhnou modelu umělé inteligence:


    se
  • Autorizační kontroly jsou začleněny do rychlého ověřovacího potrubí, což zabraňuje neoprávněným datům ovlivňovat výstupy AI.
  • se
  • Role, atributy a kontrola přístupu založená na vztazích jsou vynucovány, což zajišťuje, že pouze schválené parametry přecházejí na AI.
  • se
  • Jakékoli porušení zásad jsou zaznamenávány a blokovány v reálném čase, čímž se zachovává auditovatelná sled rozhodnutí o přístupu.
  • se


Zde jsou tři metody filtrování poptávek - od nejjednodušších po nejpokročilejší:


    se
  1. Validace tokenů - Efektivní metoda pro jednoduché kontroly, jako je délka poptávky nebo obecné povolení běžících vstupů v systému.
  2. se
  3. Vzorová shoda – v této metodě kontrola oprávnění zkoumá vzory v poptávkovém textu. Kontrola, například, zda vzor odpovídá SQL dotazu nebo kódu příkladu.
  4. se
  5. Klasifikace AI - nejpokročilejší metoda v tomto seznamu, klasifikace AI používá AI k analýze poptávky pomocí specializované systémové poptávky, klasifikace do strukturovaného vstupu, který může být přesně analyzován v kontrole oprávnění.
  6. se



Prompt Filtering with PydanticAI

Chcete-li nejlépe demonstrovat implementaci efektivního filtrování poptávek, zde je příklad použití nástrojů PydanticAI pro filtrování uživatelských vstupů do agentů AI. PydanticAI je agentový rámec, který využívá známé knihovny Python Pydantic a její statické možnosti psaní a přeměňuje jej na strukturovaný rámec AI, který se zabývá nestrukturovanými daty.


Následující úložiště GitHub obsahuje plnou implementaci rámce pro PydanticAI:github.com / povolení / povolení



@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 –

Následně zajistímeretrieval-augmented generation (RAG)zajištění, aby modely AI měly přístup pouzeauthorized knowledge sourcesToho lze dosáhnout jemným filtrováním dat agentů AI jménem uživatele v rámci pracovního postupu AI:


    se
  • Tato politika využívá pokročilé modely filtrování dat, jako je kontrola přístupu založená na vztahu, aby umožnila pokročilé filtrování dotazů do motoru politik.
  • se
  • The vector and graph sources connected to the AI agents have metadata that can help the engine manipulate the unstructured query, filtering it to include only allowed data.
  • se
  • Pokaždé, když agent získá data z databáze znalostí RAG, filtruje výsledky podle oprávnění uživatele.
  • se


Když aplikace agentů provádí filtraci RAG, používá jednu z následujících metod:


    se
  • FilterObjects – V této metodě aplikace grafu shromažďuje veškerá relevantní data z RAG a potom ji filtrová na uživatelská oprávnění.
  • se
  • GetUserPermissions - V této metodě agent poskytuje RAG nestrukturovaný dotaz. RAG pak zavolá funkci GetUserPermissions a připojí dotaz filtru k nestrukturovanému dotazům RAG.
  • se


RAG Data Protection with Langchain

Langchain, známý AI aplikační rámec, je známý (také) svými retrieverovými komponenty, které poskytují skvělou podporu v přizpůsobených retrieverech, které lze sestavit s jakýmkoliv typem zdroje dat, což usnadňuje implementaci zabezpečeného RAG.SelfQueryRetriever, můžete zabalit obvyklý RAG sGetUserPermissionsZde je příklad PermitSelfQueryRetriever, který dostane uživatele, akce a typ zdrojů RAG filtrovat výsledky pro 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,
)


Následující úložiště obsahuje plnou implementaci rámce pro Langchain:https://github.com/povolení/langchain-povolení

3. Secure External Access –

Agenty umělé inteligence často interagují s externími API, službami a nástroji pro automatizaci. Bez řádné kontroly přístupu riskují, že budou provádět neoprávněné akce.


    se
  • Použití modelů, jako je MCP, který definuje model server-klient, ve kterém agenti AI interagují s externími službami, je skvělým krokem k umožnění zabezpečení pro externí přístup AI (např. databáze, API, platební systémy).
  • se
  • Infrastruktura akce umělé inteligence může použít službu, jako je Permit.io, k provádění kontrol autorizace na úrovni akce, ověřování toho, kdo podává žádost a jaké akce chtějí provést.
  • se
  • Vývojáři jsou schopni přiřadit identity strojů agentům umělé inteligence a omezit jejich schopnosti pouze na předem schválené funkce.
  • se


Zatímco GPT a rozhraní přirozeného jazyka nejsou nové, umožnění jim provádět akce jménem uživatelů je poměrně novou výzvou, se kterou se mnozí inženýři potýkají.


    se
  1. Bezpečnost přímého přístupu - nejjednodušší úroveň. Uživatel požádá agenta AI o provedení operace, jako je HTTP hovor. Agent AI ví, zda je operace povolena, s přihlédnutím k aktuálnímu kontextu a uživateli.
  2. se
  3. Komunikace mezi agentem a agentem – na této další úrovni vyžadujeme kaskádový tok identit a oprávnění, které umožňují agentům provádět akce na základě principu nejmenšího privilegia.
  4. se
  5. Průtok požadavků na přístup - nejvíce vzrušující úroveň externího přístupu je, když agent AI chápe potřebu požádat o přístup přímo od lidského uživatele, když chce provést operaci.
  6. se


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

Model Context Protocol je nový protokol zavedený společností Anthropic, který řeší problém umožnění agentům AI provádět proaktivní akce a slouží jako největší facilitátor pro zajištění externího přístupu.


V následujícím příkladu ukazujeme server MCP, který ví, jak spravovat toky žádostí o přístup tím, že přivádí lidi do kruhu a používá API Permit.io k žádosti o oprávnění.


Celý příklad kódu pro server požadavků na přístup MCP naleznete zde: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 –

Konečný obvod zavádí moderování obsahu a dodržování na odpovědi generované umělou inteligencí.To lze provést vytvořením pracovního postupu, který používá filtrování založené na zásadách před dodáním výstupů umělé inteligence:


    se
  • Do aplikace agenta může být přidána kontrola oprávnění, která umožňuje prosazování zásad v každém kroku řetězce předtím, než uživatel skutečně obdrží odpověď.
  • se
  • Kombinované pracovní postupy validace dat a autorizace zajišťují, že pouze validovaná a povolená data mohou pokračovat.
  • se
  • Odpověď, která se vrací uživatelům, může být upravována na základě předdefinovaných omezení, což umožňuje maskování dat nebo upozornění uživatele na omezení použití.
  • se



Response Filtering with Langflow

V následujícím příkladu používáme Langflow, vizuální editor aplikací AI bez kódu, pro vytvoření kontroly oprávnění, která je umístěna před jakoukoli odpovědí na chatu uživatele.Tento repozitářObsahuje všechny komponenty kontroly přístupu potřebné pro zabezpečené aplikace Langflow.


Závěr

Systémy umělé inteligence se rychle integrují do aplikací napříč průmyslovými odvětvími, ale jejich bezpečnostní rámce zůstávají ve srovnání s tradičním softwarem nedostatečně rozvinuté.Bez řádné kontroly přístupu s vědomím identity mohou agenti umělé inteligence vystavit citlivým datům, provádět neoprávněné operace a generovat reakce, které nespadají do souladu s pokyny.


Rámec čtyř obvodů nabízí strukturovaný způsob, jak zabezpečit pracovní postupy v oblasti umělé inteligence v každé fázi – od validace poptávek a ochrany dat RAG až po řízení vnějších akcí řízených umělou inteligencí a prosazování souladu s reakcemi.Využíváním autorizace s jemným zrnem (FGA) s ABAC a ReBAC mohou vývojáři zajistit, aby agenti umělé inteligence zůstali funkční a bezpeční a dynamicky se přizpůsobovali bezpečnostním scénářům v reálném světě.


Spíše než budovat přístupovou kontrolu od začátku, integrace AI Access Control společnosti Permit.io s PydanticAI, LangChain, MCP a LangFlow umožňují týmům integrovat zabezpečení přímo do svých aplikací umělé inteligence – bez narušení vývojových pracovních postupů.Zkuste to sami zdea .


To znamená, že toto pole je stále relativně nové a osvědčené postupy pro zabezpečení agentů umělé inteligence se stále vyvíjejí. rámec čtyř obvodů je experimentálním přístupem a přestože poskytuje silný základ, uznávám, že nasazení v reálném světě vždy vyžadují další zdokonalování a přizpůsobení.


Rád bych slyšel vaši zpětnou vazbu, myšlenky a nápady na to, jak tento rámec zlepšit, aby byl ještě lepší pro systémy AI připravené k výrobě - komentujte zde, nebo mě narazíte v našemSlack komunitaa .

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks