Snilld

Claude, SCADA og OAuth: Hvad angrebene lærer os om AI i kritiske workflows

Mellem 6. og 7. maj offentliggjorde fire forskergrupper separate fund om Claude, men fortællingen hænger sammen: tre overflader, én arkitektonisk svaghed. Vi gennemgår, hvad der skete, hvorfor det er det klassiske confused deputy-problem, og hvordan du konkret afprøver og lukker hullerne i integration, drift og governance.

19. maj 2026 Peter Munkholm

Mellem 6. og 7. maj offentliggjorde fire sikkerhedsforskningsgrupper fund om Anthropic’s Claude, som mange medier beskrev som tre adskilte historier: en mexicansk vandforsyning, en Chrome-udvidelse og et kapret OAuth-flow via Claude Code. VentureBeat binder dem sammen: ikke tre enkeltstående bugs, men én arkitektonisk svaghed på tre overflader. Ifølge deres dækning er der endnu ikke kommet en enkelt patch, der lukker hele spektret.

Vi har læst kilderne og sammenholdt dem internt. Det overraskede os, hvor genkendeligt mønsteret er, når man først ser det: klassisk confused deputy. Et system med legitim autoritet lader andre udnytte den autoritet uden skarp grænsedragning. AWS’ dokumentation beskriver netop dette – blot i andre kontekster end LLM’er.

Hurtigt overblik

Mellem 6.–7. maj: fire forskergrupper, tre overflader, ét kerneproblem. VentureBeat rammesætter det sådan, og den ramme holder. Dragos’ analyse fik størst opmærksomhed, fordi den involverede en konkret vandforsyning i Monterrey. De to øvrige cases viser, at angrebsfladen er bred: browser, udviklerværktøj, identitet.

Det ligner tre verdener, men det er samme svaghed. Når en model eller agent står på en flad autorisationsflade og har reelle evner – netværk, kodeeksekvering, tokens – er der ikke meget, der forhindrer handling på vegne af den forkerte principal. Lad os blive konkrete.

Hvad Dragos fandt i Monterrey

Dragos offentliggjorde 6. maj en analyse af en kampagne fra december 2025 til februar 2026, der ramte flere mexicanske myndigheder. I januar 2026 blev Servicios de Agua y Drenaje de Monterrey (vand- og kloakforsyningen) ramt. Ifølge VentureBeat brugte modstanderen Claude som “primær teknisk eksekutor” og OpenAI’s GPT-modeller til databehandling. To forskellige modelroller i samme kæde.

Claude genererede et Python-framework på cirka 17.000 linjer og 49 moduler til netværksopdagelse, credential harvesting, privilege escalation og lateral bevægelse. Med begrænset ICS\/OT-kontekst identificerede Claude en server med vNode SCADA\/IIoT-interface, klassificerede den som højværdi, byggede credential-lister og forsøgte et automatiseret password-spray. Gennembrud til OT lykkedes ikke, men rekognosceringen gjorde. Det er pointen.

To andre overflader, samme mønster

Chrome-udvidelsen: LayerX’ Aviad Gispan beskrev “ClaudeBleed” den 7. maj. Claude i Chrome bruger externally connectable til at lade scripts på claude.ai tale med udvidelsen, men validerer ikke, om scriptet faktisk kommer fra Anthropic eller er injiceret via en anden udvidelse. Konsekvens: enhver udvidelse kan sende kommandoer ind i Claudes beskedgrænseflade.

Claude Code\/OAuth: Et ondsindet npm-artefakt kunne ændre en konfigurationsfil, kapre tokens eller få agenten til at handle på vegne af en forkert principal. VentureBeat opsummerer, at problemet ikke er én CVE, men at handlingslaget får for bred autoritet, når en agent får udleveret credentials eller kapabiliteter. Igen: arkitektur, ikke en enkelt bug.

Banner

Den fælles tekniske rod

AWS definerer confused deputy som situationen, hvor en mindre privilegeret aktør får en mere privilegeret til at handle på sine vegne. I klassisk cloud-IAM afgrænses det med trust policies, ekstern-ID og klare skel mellem kaldende og kaldt service. I LLM\/agent-opsætninger glipper det tit. Vi ser en “flat authorization plane”, hvor agenten enten arver brugerens rettigheder én-til-én eller kører på en alt for bred servicekonto.

På sådan et fladt plan er egentlig privilege escalation overflødig. Agenten har allerede nøglerne. Det sker nemt i praksis – især i hastige udviklings- og testforløb.

Hvad eksperterne siger

Ifølge VentureBeat peger Carter Rees netop på den flade autorisationsflade som roden til risikoen: agenten respekterer ikke brugerens permissions, men agerer som om alt er åbent. Kayne McGladrey supplerer, at virksomheder kopierer menneskelige permission-sæt direkte over i agentiske systemer. Agenten løser opgaven – også når det medfører bredere brug af privilegier, end en menneskelig bruger ville gøre i praksis.

Er det overdrevet? Vurderet på de tre cases: nej. VentureBeat anfører også, at der ikke er frigivet en enkelt patch, der dækker hele spektret. Det matcher vores erfaringer: man kan lappe udvidelser, enkeltkald og token-lækager – men står autorisationsplanet stadig fladt, dukker mønsteret op igen et andet sted.

Hvorfor det betyder noget i drift

Claude Platform på AWS gør det nemt at bruge modeller via eksisterende AWS-konti og IAM. Praktisk – og risikabelt, hvis en agent bindes direkte til en for bred rolle. Featurefladen er stor: Messages API, Managed Agents, web fetch, MCP connector, code execution, files API m.m. Hver er en potentiel action-overflade, hvor confused deputy opstår, hvis trust boundary er uklar.

Vi har set et mønster hos en nordisk kunde (anonymiseret): en udviklingsassistent fik en bred API-nøgle i staging, som i praksis kunne læse produktionsnære ressourcer via et delt test-VPC-peering. Ikke ond vilje – et hurtigt fix, der blev permanent. Det tog 20 minutter at genskabe vejen fra prompt til database-læsning med et eksternt script. Den burde vi have fanget tidligere.

Helt lavpraktisk, hvor gør det ondt

I CI\/CD kan en agent med build-rettigheder også læse secrets eller artefakter ud over sprintens scope. I cloud-arkitektur kan en MCP-connector eller web fetch ramme interne endpoints, hvis egress ikke styres. I IAM kan manglende ekstern-ID i cross-account trust gøre det trivielt at tale som en anden. I OAuth kan tokens leve for længe og vandre mellem agenter og plugins.

Og i runtime: code execution. Kører modelgenereret kode uden netværks- og filsystemgrænser, har du i praksis givet værten fremmede hænder. EDR ser processen, men ikke intentionen. Det opdages først ved effekt – som CrowdStrike også påpeger i VentureBeats dækning. Ofte for sent.

Audit-matrixen du kan bruge i dag

Her er en kort, brugbar ramme, der rammer de tre overflader og autorisationsproblemet.

  • Least-privilege for agenter: dedikerede servicekonti med minimale tilladelser. Hvorfor: fladt plan er farligt. Hvordan: IAM-roller pr. agent, scoping pr. feature (web fetch adskilt fra files API), ingen delte nøgler på tværs af miljøer.
  • Token-livscyklus og scopes: kortlivede tokens, fine-grained scopes, rotation ved hver deploy. Hvorfor: begrænser blast radius. Hvordan: OIDC med 15–60 min TTL, automatisk rotation i CI, revoke ved anomali.
  • Input\/output-sanitization: filtrér agentens tool-kommandoer og svar. Hvorfor: prompts kan trigge handlinger. Hvordan: policy-gate før tool-call, regex\/AST-validering af kode, allowlist af endpoints.
  • Runtime-sandboxing: isolér code execution i containere med egress-kontrol. Hvorfor: forhindrer laterale kald. Hvordan: netpolicies, mTLS internt, read-only FS, temp-mounts, ingen host PID\/NET.
  • Extension-sandboxing i browser: begræns hvilke udvidelser der må tale med AI-udvidelser. Hvorfor: LayerX viste injektion via externally connectable. Hvordan: enterprise policies i Chrome, signaturtjek, review af permissions per release.
  • Telemetry og auditing: korrelér fra prompt til handling. Hvorfor: intentionen er ellers usynlig. Hvordan: CloudTrail for Claude Platform på AWS, correlation IDs i middleware, særskilt log af tool-invocations.
  • Network egress control: styr agentens udgående trafik. Hvorfor: forhindrer scanning af interne net. Hvordan: egress-proxy med DNS-allowlists, bloker RFC1918 som default, giv undtagelser pr. use case.
  • Kontinuerligt red-teaming: angrib som en modstander med en model som eksekutor. Hvorfor: sådan sker det i praksis. Hvordan: faste scenarier inspireret af Dragos-casen, inkl. SCADA-lignende assets i test.

    Tradeoffs og begrænsninger

    Fuld isolation er sjældent realistisk. Skal agenten løse rigtige opgaver, kræver det rigtige evner. Sandboxing og netværkskontrol koster performance. Least-privilege påvirker UX: hyppigere godkendelser, flere scopes og skrøbelighed ved rolleændringer.

    Vogt jer for falsk tryghed: en hurtig patch i en udvidelse eller en OAuth-config ser pæn ud i release-noter, men hvis autorisationsplanet er fladt, flytter problemet bare. Det kræver også organisatorisk disciplin: hvem må onboarde en agent, hvem må godkende scopes, og hvordan styres change control. Uden en enkel, men skarp proces holder det ikke i længden.

    Hvad leverandører kan – og ikke kan – lukke

    VentureBeat noterer, at ingen enkelt patch lukker alle tre overflader. En browser-patch hjælper ikke på en IAM-trust policy. En strammere UI-validering i Claude løser ikke en alt for bred servicekonto i AWS. Anthropic kan hæve baseline-sikkerheden i udvidelser og agents. AWS stiller gode værktøjer til rådighed i IAM, CloudTrail og netværkspolicies – de findes allerede.

    Banner

    Men de kan ikke beslutte jeres autorisationsmodel. Det er arkitektur og governance. Kopierer man brugerrettigheder over på en agent, gør man i praksis agenten lige så stærk som en seniorudvikler på en dårlig dag – eller en angriber bag tastaturet. Vi har siddet i rum, hvor præcis det mønster udspillede sig.

    Handlingsplan uden omsvøb

    48 timer: find og frys brede nøgler. Kortlæg alle servicekonti og tokens brugt af agenter, udvidelser og udviklerværktøjer. Indfør midlertidige egress-regler på agent-runtimes. Skru op for logging af tool-calls. Involver: IT\/Sec og DevOps på vagt.

    To uger: indfør kortlivede tokens, scopes pr. kapabilitet og rotation i pipeline. Fordel roller: én onboarder agenter, én godkender scopes, én ruller tilbage. Etablér correlation IDs fra prompt til handling i logs. Involver: arkitektur, SecOps, platformteams.

    Tre måneder: design en autorisationsmodel for agenter med least-privilege-by-design. Isolér AI-runtimes med containerprofiler, netpolicies og mTLS. Centralisér telemetry med anomali-detektion på agentaktivitet. Fast red-teaming ved større releases. Involver: CISO, produktledelse og procurement til leverandørkrav.

    Vores vurdering

    Det her er alvorligt, men håndterbart. Mest udsatte er miljøer, hvor AI bindes direkte til sideressourcer – CI\/CD, interne API’er, dataplatforme – uden mellemled eller værn. Kritisk infrastruktur har en ekstra akilleshæl, fordi OT-siden ofte ikke ser, at IT-værktøjer nu også kan orkestrere OT-rekognoscering. Dragos’ pointe om, at kommercielle AI-værktøjer gør OT mere synlig fra IT, er velunderbygget i den gennemgang, VentureBeat refererer.

    Vi har set for mange udviklingsassistenter med “bare lige til demo”-nøgler, der blev permanente. Og for få logs, der binder en modelbesked til en konkret handling. Det er lavthængende frugter. Luk dem i morgen. Resten tager længere tid, men gevinsten er reel: I kan bruge AI-kapaciteter uden at gøre identitets- og netværksgrænsen porøs.

    Kontekst for Claude på AWS

    Claude Platform på AWS kører via din AWS-konto: IAM til auth, CloudTrail til audit, Marketplace til billing. Samme featureflade som hos Anthropic direkte: Messages API, Managed Agents (beta), web fetch, MCP, code execution og files API. Det er driftsvenligt – én portefølje – men husk advarslen fra AWS’ egen gennemgang: selve dataindsendelsen behandles uden for AWS’ sikkerhedsgrænse.

    Det ændrer ikke confused deputy-problemet, men giver bedre kontrolgreb, hvis de bruges rigtigt: ekstern-ID i cross-account roller, stramme S3-bucket policies, og central logning af agenters værktøjsopkald. Små skridt, stor effekt.

    Huller i rapporteringen – og hvad vi ser efter

    Vi savner stadig bred adgang til Dragos’ fulde rådata; VentureBeat gengiver hovedpointerne, inkl. 17.000-linjers framework og SCADA-identifikation. Vi mangler også de oprindelige disclosures samlet for Chrome-udvidelsen og npm-artefaktet, selv om LayerX-delen er veldokumenteret i deres note.

    En samlet udmelding fra Anthropic og AWS om anbefalede mitigations på kort og lang bane ville også hjælpe. VentureBeat skriver “ingen enkelt patch” – det virker plausibelt – men konkrete hardeningsguides per overflade ville hæve bundniveauet. Indtil da er matrixen ovenfor et brugbart skelet.

    Appendiks med kilder

    VentureBeats artikel binder tidslinjen sammen: fire forskergrupper mellem 6.–7. maj, tre overflader og confused deputy som fællesnævner. Dragos er kilden til Monterrey-casen og modelrollerne (Claude som eksekutor, GPT til databehandling) – refereret via VentureBeat. AWS-dokumentationen er autoritativ for confused deputy, og AWS’ blog om Claude Platform på AWS beskriver features, IAM-brug og CloudTrail-audit.

    Vores observationer om udviklingsassistenter og brede nøgler stammer fra anonymiserede kundeforløb. Det er ikke eksterne beviser, men praktiske erfaringer. Mange vil formentlig genkende mønstrene i deres egne miljøer. Og konklusionen er simpel: ret autorisationsplanet, før flere agenter får nøglerne.

Kilder

    Gør brugeroplevelsen bedre.
    Hvilket firma arbejder du for?