Blog

Når din AI-agent ved for meget: rækkesikkerhed i agent-æraen

Når AI-agenter kalder løn- og HR-API'er, er endpoint-tilladelser ikke nok. Sådan reducerer DataAccessPolicy på rækkeniveau eksponering i integrationslaget—med ærlige begrænsninger.

Problemet, næsten ingen taler om ved enterprise-AI-agenter

Din CFO spørger en AI-agent: “Hvad brugte vi på løn sidste kvartal?”

Agenten kalder jeres løn-API. API’et returnerer hver medarbejders løn, bonus og personnummer. Agenten opsummerer det til et klart totalbeløb.

Indtil videre fint — CFO’en må se dataene.

Nu stiller en praktikant samme spørgsmål til samme agent. Agenten kalder samme API. API’et returnerer samme payload. Agenten svarer.

Det er den stille fejltilstand i næsten enhver produktions-”enterprise AI agent” i dag.

Professionel ved computer, der illustrerer styret adgang til virksomhedsdata.


Hvorfor RBAC på endpoint-niveau ikke er nok

De fleste integrationsplatforme — inklusive vores, indtil for nylig — sikrer API-adgang på endpoint-niveau. Enten må du kalde GET /payroll/employees eller også ikke. Den model fungerede, da mennesker byggede UI’er der filtrerede på klienten, og de eneste kaldere var betroede backend-tjenester.

Agenter bryder modellen på to måder:

  1. Agenter er generelle kaldere. De ved ikke, hvilke felter der skal skjules. De opsummerer alt, de modtager.
  2. Agenter handler på vegne af mange brugere. Én agentprofil kan betjene CEO og lagerarbejder. Endpoint-RBAC kan ikke skelne, når anmodningen først er autoriseret.

Resultatet: agenter bliver et confused-deputy-problem i industriel skala. En bruger uden direkte databaseadgang kan udtrække alle data, agenten kan nå — ved at stille det rigtige spørgsmål.


Hvor kilde-systemets RBAC kommer til kort

Standardsvaret er “lad kildesystemet håndtere det”. Send brugerens identitet til lønsystemet. Lad det filtrere.

Det virker — når kildesystemet understøtter det. I praksis:

  • Legacy-systemer har ofte én servicekonto med fuld adgang. Ingen per-bruger-delegering.
  • Tredjeparts SaaS-API’er mangler ofte række-niveau-tilladelser. Enten admin-scope eller intet.
  • Egne interne API’er blev bygget før AI-agenter. Ingen tilføjede filter_by_user.
  • Aggregationer lækker. Selv med rækkefiltrering beregnes summer og gennemsnit ofte på hele datasættet.

For en CISO betyder det, at jeres dataeksponeringsflade nu defineres af den svageste connector i agentens værktøjskasse.


Forsvar i dybden: policy-drevet svarsfiltrering

Vi har tilføjet et nyt lag til Copyls integrationsplatform: DataAccessPolicy. Det sidder mellem kildesystemets svar og agenten og anvender deklarative regler på returnerede data.

Modellen har tre kerneidéer:

1. Politikker knyttes til integrationshandlinger, ikke agenter.

Et løn-endpoint har én politik. Hver agent — hver bruger — der rører endpointet, gennemløber samme evaluator. En fejlkonfigureret agent kan ikke omgå reglen.

2. Regler matcher emnekontekst, ikke endpoint.

Evaluatoren ser hele emnet: brugeridentitet, roller, claims, agentprofil, enterprise. En regel kan sige “hvis brugerrolle indeholder CEO, tillad alle rækker” eller “hvis bruger er Employee, returner kun rækker hvor employeeId matcher deres ID.”

3. Push-down når muligt, post-filter som fallback.

Understøtter kilde-API filtrering, omskriver politikken anmodningen — ?employeeId=42 — så følsomme data ikke forlader kildesystemet. Uden push-down filtreres serverside før agenten ser det.

Det sidste punkt betyder noget for compliance. Filtrering ved forespørgselstid er reelt mere sikkert end bagefter. Post-filter er forsvar i dybden, ikke erstatning for kildesystemets kontroller.


Sådan ser det ud for Sec/Compliance

Tre egenskaber gør det styrbart:

Revisionssikkert. Hver evaluering skriver en revisionspost: hvilken politik kørte, hvilken regel matchede, rækker ind/ud, maskerede felter. I kan svare på “hvem så løndata tirsdag, og hvad blev filtreret?” med SQL.

Versionsstyret. Udkast → publiceret → arkiveret. Hver ændring er ny version. Diff, gendannelse og bevis for aktiv politik på en dato.

Testbart før publicering. Dry-run — filter evalueres og logges, svar ændres ikke. Valider mod reel trafik i uger. Publicering kræver bestået test eller eksplicit override.

For regulerede brancher (finans, sundhed, offentlig sektor under NIS2/DORA i Europa) bliver “stol på agenten” til “bevis agenten”.


Hvad det ikke løser

Ærlige begrænsninger:

  • Delegering i kildesystemet er stadig bedre når tilgængelig. Brug det først. Policyfiltrering er til når I ikke kan.
  • Aggregationer er tricky. Rækkefilter plus felt total: 4.200.000 over alle medarbejdere lækker. Vores model opdager aggregate-felter og fejler, fjerner dem eller kræver eksplicit opt-in — endpoint-for-endpoint tankegang kræves.
  • Feltdmaskering er ikke kryptering. Hashede personnumre er stadig PII. Maskering reducerer skade; den fjerner ikke forpligtelser.
  • Politikker er kun så gode som deres regler. Forkert emnematch giver for meget eller for lidt. Derfor testkørsler og revisionssynlighed.

Hvad det betyder i praksis

Kører I AI-agenter mod systemer uden række-RBAC — de fleste legacy-ERP’er, løn, egne API’er før 2024 — har I en eksponering endpoint-kontrol ikke lukker.

Løsningen er strukturel, ikke prompt-tricks. “Vis kun brugerens egne data” kun i systemprompten holder til næste jailbreak. Gennemtving i integrationslaget med versioneret, revisionssikker politik er noget en CISO kan skrive under på.

Vi ruller DataAccessPolicy ud i Copyls marketplace-agenter, startende med løn, HR og finans. Opererer I i regulerede miljøer og vil gennemgå, hvor eksponeringen sidder i jeres stack, så kontakt os.


Copyl er en platform til at bygge, udrulle og styre enterprise-AI-agenter. Vores Integration Platform (CIP) forbinder agenter til forretningssystemer med policy fra ende til ende, audit-logning og versionskontrol.

Kontakt os

Book en demo, sig til support eller udforsk partnermuligheder. Vi hjælper dig med at bygge, integrere og automatisere hurtigere.

Send os en besked

Udfyld formularen nedenfor, så vender vi tilbage inden for 24 timer.

Required fields are marked with *. Do not send passwords, card numbers, or other sensitive data through this form.