Pre podniky Pre podniky Riešenia Aplikácie Ceny Vývojári Blog Dokumentácia Spustiť pracovný priestor
Blog / AI agenti pre operácie

Ako bezpečne poskytnúť AI agentovi prístup k obchodným údajom

Pre technických zakladateľov a vedúcich financií, ktorí ich schvaľujú. Architektúra, ktorá zabezpečuje bezpečný prístup agentov, päť kontrol a kde sa každá nachádza, čo protokol a hlavní dodávatelia agentov vyžadujú, a kontrolný zoznam na overenie akéhokoľvek systému.

8 minút čítaniaAktualizované 4. septembra 2026Inžiniering Sois, tím, ktorý buduje platformu

Malá serverová miestnosť viditeľná cez sklenené dvere: jeden regál s uprataným káblovaním, trezor na kľúče na stene, klip na háku, chladné modré svetlo
Krátka odpoveď

Bezpečný spôsob, ako poskytnúť AI agentovi prístup k obchodným údajom, je urobiť z agenta klienta obchodného systému, nie používateľa s heslom. Agent sa pripája ako menovaná osoba cez štandardné prihlásenie, dostáva len nástroje, ktoré jeho rola povoľuje, každé volanie je znova skontrolované systémom pri jeho vykonaní, je obmedzený v tom, čo môže minúť, a zanecháva záznam o každej akcii priradenej tejto osobe. Keď niektoré z týchto kontrol nie je možné vykonať, prístup je zamietnutý, nie predpokladaný.

Žiadna z toho nie je v príkaze. Pokyny pre model sú užitočné pre správanie a zbytočné pre bezpečnosť, pretože model môže byť z nich vyvodený dokumentom, ktorý číta. Kontroly musia byť vynucované systémom, ktorý drží údaje, pri každom volaní, bez ohľadu na to, čo agent verí, že mu bolo povedané.

Architektúra: agent je klient, systém je autorita

Začnite tvarom, pretože väčšina chýb sú chyby tvaru. Osoba požiada svojho agenta o niečo. Agent rozhodne, ktoré nástroje zavolať. Každé volanie prechádza vrstvou oprávnení, ktorá patrí obchodnému systému, nie agentovi, a až potom dosiahne modul ako financie alebo CRM. Agent sa nikdy nedotkne databázy, nikdy nedrží poverenie databázy a nikdy nevidí nástroj, ktorý by jeho osoba nemohla použiť.

Vy
Váš agent
vrstva povolení Sois
FinancieCRMĽudské zdrojeDokumenty

Žiadosť prechádza od osoby k jej agentovi, potom cez vrstvu oprávnení, predtým ako dosiahne akýkoľvek modul. Vrstva filtruje, čo je agentovi ponúknuté, a kontroluje, čo volá. Agent môže používať len nástroje, ktoré jeho osoba môže používať, na záznamoch, ktoré jeho osoba môže vidieť.

Princíp pod obrázkom je jedna veta: agent koná s autoritou osoby, ktorú zastupuje, a nikdy viac. Všetko ostatné v tomto článku je spôsob, ako urobiť túto vetu pravdivou pod tlakom, keď je model nesprávny, keď dokument, ktorý číta, obsahuje pokyny, alebo keď unikne token.

OWASP Top 10 pre aplikácie LLM pomenúva zlyhanie, ktorému táto architektúra zabraňuje: nadmerná agentúra, ktorú rozdeľuje na nadmernú funkčnosť (nástroje nad rámec toho, čo práca potrebuje), nadmerné oprávnenia (viac prístupu po toku, než je potrebné) a nadmernú autonómiu (žiadna nezávislá kontrola pred akciou s vysokým dopadom). Jeho zmiernenia vyzerajú ako špecifikácia pre vrstvu oprávnení: vykonávať v kontexte používateľa, minimalizovať nástroje a ich oprávnenia, vynucovať autorizáciu v dolnom systéme namiesto spoliehania sa na model a vyžadovať schválenie osoby pre akcie s vysokým dopadom.

Päť kontrol a kde sa každá nachádza

Kontroly nie sú nové; sú to kontroly, ktoré už uplatňujete na osobu s prístupom do systému, aplikované na klienta, ktorý koná za túto osobu. Tabuľka hovorí, čo každé odpovedá, kde je vynucované a ako vyzerá zlyhanie, keď chýba. Stĺpec umiestnenia je dôležitý. Kontrola vynucovaná v príkaze je návrh.

KontrolaČo to určujeVynucované kdeZlyhanie pri chýbajúcom
IdentitaPre koho agent konáPrihlásenie cez OAuth; token vydaný pre tento systém a viazaný na konkrétneho používateľaZdieľané servisné účty; akcie bez vlastníka; uniknutý kľúč, ktorý funguje pre každého
RozsahČo je povolené robiťNástroje filtrované podľa úlohy osoby pred ich ponukou a znovu kontrolované pri každom volaníAgent, ktorý môže čítať mzdy, pretože jeho osoba raz potrebovala telefónne číslo kontaktu
RozpočetKoľko môže spotrebovaťStrop výdavkov na integráciu s vlastnou AI systému; obmedzenia rýchlosti na volania nástrojovZle formulovaná úloha, ktorá beží celú noc; neobmedzený účet
ZáznamyČo to urobilo, s čím a čo sa staloKaždý hovor zaznamenaný s vstupmi a výsledkom, priradený osobeNie je možné preskúmať, zvrátiť alebo vysvetliť akciu po skutočnosti
Zatvorené zlyhanieČo sa stane, keď nie je možné vykonať kontroluOdmietnuť, s chybou, ktorú môže agent nahlásiťNejasnosti vyriešené v prospech agenta; model rozhoduje o svojej vlastnej autorite
Potvrdenie pri zápisochČi to osoba vidí predtým, ako sa to staneKlient sa pýta pred rozhodujúcimi akciami; systém označuje, ktoré nástroje sú rozhodujúcePeniaze odoslané, záznamy vymazané alebo správy zverejnené na základe nesprávne prečítanej inštrukcie

Šesť riadkov pre päť kontrol plus jeden, ktorý poskytujú samotní klienti agentov. Päť zo šiestich je vynútených obchodným systémom alebo klientom, a žiadna modelom.

Identita: pripojte sa ako osoba, cez OAuth, nikdy so zdieľaným kľúčom

Špecifikácia autorizácie Model Context Protocol je v tomto presná. Vzdialený server funguje ako OAuth 2.1 server zdrojov; klient získa token prostredníctvom štandardného autorizácie toku s PKCE; klient musí uviesť, pre ktorý server je token určený pomocou parametra resource; a server musí overiť, že každý token bol vydaný špeciálne pre neho, a odmietnuť všetko ostatné. Špecifikácia výslovne zakazuje prechod tokenu, kde server akceptuje token, ktorý nevydal, a posiela ho ďalej, pretože to ničí auditnú stopu aj hranicu dôvery.

In practice this is what "sign in once, no token to paste" means. The person adds the workspace address to their agent, is sent to a normal sign-in page, approves the connection, and the agent receives a token that names them and works only against that workspace. Anthropic's guidance for custom connectors in Claude is to review the scopes a server requests, limit them where possible, and connect only to servers you trust. A vendor that instead asks you to paste a company-wide API key into an agent configuration has skipped the first control and made the other four much harder.

Rozsah: filtrovať pred ponukou, skontrolovať znova pri spustení

Agent zistí, čo môže robiť, keď sa opýta servera na zoznam nástrojov. Správny dizajn odpovedá na túto otázku pre každú osobu: zoznam, ktorý dostane agent účtovníka, sa líši od zoznamu, ktorý dostane agent riaditeľa, a ani jeden nezahŕňa nástroje pre moduly, ktoré ich rola nemôže vidieť. Toto je rada OWASP na minimalizáciu funkčnosti, ktorá sa stáva konkrétnou, a má to druhý prínos: model, ktorý nikdy nevidel nástroj, nemôže byť presvedčený, aby ho nazval.

Filtrovanie zoznamu samo o sebe nestačí, pretože sa menia úlohy, relácie pretrvávajú a klienti ukladajú do cache. Rovnaká kontrola sa musí vykonať znova pri každom príchode požiadavky, voči oprávneniam osoby v danom momente. Nižšie je zoznam nástrojov v tvare, ktorý protokol definuje, pre úlohu, ktorá môže čítať faktúry, ale nemôže zaznamenávať platby. Chýbajúci nástroj je podstatou.

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      { "name": "searchInvoices",
        "description": "Search invoices by number, reference, contact, amount, status, date range.",
        "inputSchema": { "type": "object", "properties": { "query": { "type": "string" }, "outstanding_only": { "type": "boolean" } } },
        "annotations": { "readOnlyHint": true } },
      { "name": "getInvoice",
        "description": "Read one invoice in full: status, totals, dates, contact and lines.",
        "inputSchema": { "type": "object", "properties": { "invoice_id": { "type": "string" } }, "required": ["invoice_id"] },
        "annotations": { "readOnlyHint": true } }
    ]
  }
}

// recordPayment, sendInvoiceReminders and deleteInvoice exist in the system.
// They are not in this list because this person's role cannot use them.
// If the agent calls one anyway, the server answers with a permission error.

Odpoveď na zoznam nástrojov v tvare, ktorý definuje špecifikácia MCP, s názvami nástrojov z účtovného modulu Sois. Špecifikácia tiež uvádza, že klienti musia považovať anotácie ako readOnlyHint za nedôveryhodné, pokiaľ nie je server dôveryhodný, čo je ďalší dôvod, prečo musí byť server, nie anotácia, tým, kto vynucuje pravidlo.

Vstupný injektor: údaje môžu odpovedať

Hrozba špecifická pre agentov spočíva v tom, že údaje, ktoré čítajú, môžu obsahovať pokyny. E-mail od zákazníka, ktorý končí vetou, ktorá hovorí agentovi, aby poslal zoznam dodávateľov na vonkajšiu adresu; dokument, ktorý mu hovorí, aby označil každú faktúru ako zaplatenú. Model môže alebo nemusí vyhovieť, a žiadny príkaz nemôže zaručiť, že tak neurobí, čo je dôvod, prečo je injekcia príkazov na prvom mieste v zozname OWASP a prečo obidve spoločnosti Anthropic a OpenAI varujú pred tým vo svojich pokynoch pre konektory.

The defence is the architecture, not the model. An agent that is only offered the tools its person can use cannot forward what its person cannot see. A call to mark invoices paid is checked by the system against the person's permissions, not against the model's belief that it was asked to. Consequential tools are marked so that the client asks a person first: ChatGPT currently requires manual confirmation in a conversation before write actions, and OpenAI's guidance is to keep approval on for tools that modify data; Claude asks for approval per tool and advises reserving "allow always" for trusted servers. And the log records the attempt, so an injection that was blocked is visible afterwards rather than silent.

Rozpočet a záznamy: spravte prácu agenta rovnako prehľadnou ako prácu človeka.

Rozpočet je dôležitý z dvoch dôvodov. Prvý je zrejmý: náklady. Agent, ktorý dostane nejasný výsledok, bude neustále volať nástroje, kým niečo nezastaví, a OWASP uvádza neobmedzenú spotrebu ako riziko sama o sebe. Druhý, subtílnejší dôvod je rozsah výbuchu: limit na integráciu obmedzuje, koľko môže kompromitovaný alebo zmätený agent urobiť, kým si to osoba nevšimne. Ak dôvodenie vykonáva vlastný agent osoby, náklady na AI sú na nich; ak to robí agent systému, limit by mal byť nastavený na integráciu a viditeľný na akciu.

Záznamy premenia všetko toto z prísľubu na niečo, čo môžete audítovať. Každý hovor by mal zaznamenať, pre koho agent konal, ktorý nástroj, vstupy, výsledok a čas, na rovnakom mieste, kde systém zaznamenáva, čo ľudia robili. Testom je, či môže vedúci financí zistiť, čo agent urobil s účtom zákazníka minulý mesiac rovnako jednoducho, ako to môže urobiť pre kolegu. Špecifikácia MCP žiada klientov, aby zaznamenávali používanie nástrojov na audít; obchodný systém by sa na to nemal spoliehať na klienta, pretože klient nie je systémom záznamu.

Kontrolný zoznam, ktorý môžete spustiť proti akémukoľvek systému.

Zoberte si to k akémukoľvek predajcovi, vrátane nás. Každé je áno alebo nie a každé má test namiesto otázky, ktorú sa treba opýtať.

  1. Agent sa pripája ako menovaná osoba cez OAuth bez firemného kľúča na vloženie. Test: pripojte sa z externého klienta MCP a pozrite sa, čo stránka na prihlásenie požaduje.
  2. Zoznam nástrojov sa líši podľa rolí. Test: pripojte sa ako obmedzený používateľ a ako administrátor a porovnajte, čo agent ponúka.
  3. Kontrola sa opakuje, keď sa nástroj spustí. Test: odstráňte oprávnenie pripojenému používateľovi počas relácie a skúste akciu znova.
  4. Prístup zlyhá a je uzavretý. Test: zavolajte nástroj, ktorý by rola nemala mať, a potvrďte, že dostanete odmietnutie, nie výsledok.
  5. Výdavky môžu byť obmedzené na integráciu a viditeľné na akciu. Test: nastavte malé obmedzenie a sledujte, ako sa viaže.
  6. Každá akcia je zaznamenaná na osobu , s vstupmi a výsledkom, kde systém zaznamenáva všetko ostatné. Test: prečítajte si protokol za beh, ktorý ste práve vykonali.
  7. Následné nástroje sú označené na potvrdenie takže klient sa pýta osoby. Test: požiadajte agenta, aby poslal peniaze alebo vymazal záznam a potvrďte, že sa najprv pýtate.

Sois je jeden systém navrhnutý na prechod tohto zoznamu a tvar na vrchu článku je jeho tvar. Pracovný priestor je server MCP; akýkoľvek klient MCP sa pripojí pridaním adresy pracovného priestoru a prihlásením sa raz cez OAuth; nástroje sú filtrované podľa úlohy predtým, ako sú ponúknuté, a kontrolované znova, keď bežia; prístup zlyháva uzavretý; výdavky môžu byť obmedzené na integráciu; každá akcia je zaznamenaná; a siete vytvorené na platforme majú svoju vlastnú databázu, úložisko, domény a kľúče. Napriek tomu spustite kontrolný zoznam. Hodnota kontrolného zoznamu spočíva v tom, že nikto sa naňho nespolieha.

Otázky, ktoré sa ľudia pýtajú.

Je bezpečné pripojiť Claude alebo ChatGPT k mojim účtovným údajom?

Je to bezpečné, keď systém, ktorý uchováva údaje, vynucuje kontroly: agent sa prihlasuje ako vy cez OAuth, ponúka sa mu iba nástroje, ktoré vaša úloha povoľuje, kontroluje sa znova pri každom volaní a každá akcia je zaznamenaná. Obaja dodávatelia tiež žiadajú o potvrdenie pred následnými akciami. Ak systém ponúka iba zdieľaný API kľúč, odpoveď je nie.

Môže systémový príkaz zastaviť agenta pred únikom údajov?

Nie. Príkaz formuje správanie; nevynucuje nič. Údaje, ktoré agent číta, môžu obsahovať pokyny, ktoré ho prekonajú. Akcia musí byť taká, ktorú by systém odmietol bez ohľadu na to, čo model verí, že bolo požadované.

Aký je rozdiel medzi filtrovaním nástrojov a kontrolou oprávnení?

Filtrovanie rozhoduje, čo sa agentovi zobrazuje, keď sa pýta na zoznam nástrojov. Kontrola rozhoduje, či je konkrétne volanie povolené v momente, keď dorazí. Potrebujete oboje: filtrovanie znižuje to, do čoho môže byť model presvedčený, kontrola zachytáva všetko, čo filtrovanie premeškalo.

Kto platí za AI, keď môj vlastný agent vykonáva uvažovanie?

Vy, prostredníctvom predplatného agenta. Systém postavený týmto spôsobom nevykonáva žiadnu AI vo vašom mene v tomto prípade a nemal by za to účtovať nič. Obmedzenia výdavkov sa vzťahujú na vlastného agenta systému, keď používate ten namiesto toho.

Zdroje
  1. špecifikácia Model Context Protocol: autorizácia OAuth 2.1, PKCE, parameter zdroja, overenie publika tokenu a zákaz prechodu tokenu
  2. OWASP Top 10 pre aplikácie LLM: LLM06 Nadmerná agentúra nadmerná funkčnosť, oprávnenia a autonómia, a opatrenia, ktoré implementuje vrstva oprávnení
  3. Anthropic: začnite s vlastnými konektormi pomocou vzdialeného MCP OAuth prihlásenie, obmedzenie požadovaných rozsahov, schválenie pre každé nástroje, pripojenie iba k dôveryhodným serverom, varovanie pred injekciou príkazov
  4. Sois: bezpečnosť a vrstva oprávnení päť kontrol, ako ich platforma implementuje: filtrovanie rolí, kontroly v reálnom čase, zlyhanie uzavreté, limity výdavkov, protokolovanie, izolácia nájomníkov

Tento článok sa prehodnocuje, keď sa zmenia produkty, ktoré popisuje. Ďalšie naplánované prehodnotenie: 4. decembra 2026.

Začať

Pripojte svojho agenta k Sois.

Vaša pracovná plocha je server MCP. Nasmerujte Claude, ChatGPT, Cursor alebo akéhokoľvek klienta MCP naň a pracujte v rámci svojich oprávnení.

  • Začnite zadarmo
  • Priveďte si vlastného agenta
  • Žiadne viazanie na dodávateľa