Cyber Security Academy · Lektion

Skydda AI-agenter och verktygsanvändning

Begränsa autonoma agenters handlingar.

Lektion 3 av 413 steg

Skydda AI-agenter och verktygsanvändning är en gratis lektion i Cyber Security Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Cyber Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.

Vad som gör agenter riskfyllda

En AI-agent är en LLM som är kopplad till verktyg och en loop: den resonerar, anropar funktioner (sökning, kodkörning, API:er, filåtkomst), observerar resultaten och upprepar processen tills ett mål har uppnåtts. Denna självständighet är kraftfull och farlig.

Den centrala säkerhetsförändringen är följande: med en vanlig chattbot är ett dåligt svar bara text. Med en agent blir ett dåligt beslut en verklig åtgärd: en borttagen post, ett skickat e-postmeddelande, en spenderad dollar eller en läckt hemlighet.

Eftersom obetrott innehåll kan komma in i resonemangsloopen utgör varje verktyg som agenten har en angreppsyta för promptinjektion.

Minsta möjliga behörighet för verktyg

Den viktigaste enskilda kontrollen är minsta möjliga behörighet. Ge varje verktyg det minsta möjliga behörighetsomfång som ändå räcker för uppgiften.

  • Föredra skrivskyddad åtkomst framför läs- och skrivåtkomst och begränsa läsning till den aktuella användarens data.
  • Dela upp breda verktyg i smala verktyg (ett get_invoice-verktyg, inte ett rått SQL-verktyg).
  • Knyt verktygens autentiseringsuppgifter till slutanvändarens identitet, inte till ett delat tjänstekonto, så att agenten endast ärver det användaren får göra.
# Scope queries to the authenticated user, never raw SQL
def get_invoice(invoice_id: str, *, user_id: str):
    return db.query(
        "SELECT * FROM invoices WHERE id=%s AND owner=%s",
        (invoice_id, user_id),
    )

Mänskliga kontrollpunkter i loopen

För åtgärder med stor påverkan eller som inte kan återställas ska ni kräva uttryckligt mänskligt godkännande före körning. Agenten föreslår; en person bekräftar.

  • Skicka externa e-postmeddelanden eller meddelanden.
  • Ekonomiska transaktioner eller inköp.
  • Ta bort eller skriva över data.
  • Driftsätta kod eller ändra infrastruktur.

Visa användaren den exakta åtgärden och argumenten med ett tydligt språk, så att hen kan upptäcka ett injicerat eller hallucinerat kommando innan det körs.

Sandboxning av kod och kommandon

Agenter som kör kod eller skal-kommandon måste göra det i en isolerad sandbox, aldrig på värddatorn.

  • Använd temporära containrar eller microVM:er utan monteringar från värddatorn.
  • Inaktivera nätverksåtkomst som standard och tillåt endast uttryckligen godkänd utgående trafik.
  • Sätt gränser för CPU, minne och tid för att begränsa kod som skenar eller är skadlig.
  • Kör som en användare utan root-behörighet och med begränsade privilegier, samt med ett skrivskyddat rotfilsystem.
docker run --rm \
  --network none \
  --read-only \
  --user 1000:1000 \
  --memory 256m --cpus 0.5 \
  --pids-limit 64 \
  agent-sandbox:latest python /work/task.py

Bryta den dödliga trifektan

En agent blir ett verktyg för dataexfiltrering när den samtidigt har åtkomst till privata data, exponeras för obetrott innehåll och kan kommunicera externt. Den kombinationen är den dödliga trifektan.

Utforma varje arbetsflöde så att minst en del tas bort:

  • Isolera sessioner som hanterar obetrott innehåll från sessioner som innehåller känsliga data.
  • Begränsa utgående nätverkstrafik till en strikt lista över tillåtna anslutningar.
  • Kräv godkännande före all extern sändning när privata data finns i kontexten.

Obetrodd verktygsutdata

Verktygsresultat återförs till modellens kontext, så verktygsutdata är obetrodd indata. En webbsida, en hämtad fil eller ett API-svar kan innehålla injicerade instruktioner som riktar sig till nästa resonemangssteg.

  • Omslut verktygsutdata med tydliga avgränsare och märk den som data, inte kommandon.
  • Ta bort eller neutralisera dold text (HTML-kommentarer, tecken med nollbredd och CSS som placerar innehåll utanför skärmen).
  • Begränsa storleken på injicerat innehåll för att minska utrymmet för nyttolasten.

Låt aldrig rå verktygsutdata i tysthet styra nästa verktygsanrop utan policykontroller.

Åtgärdslistor och policytillämpning

Förlita er inte på att modellen övervakar sig själv. Tillämpa ett policylager i kod mellan agenten och varje verktyg.

  • Validera varje verktygsanrop mot en lista över tillåtna åtgärder och giltiga argumentformat.
  • Avvisa anrop som ligger utanför den aktuella uppgiftens omfång.
  • Tillämpa hastighetsbegränsningar och budgetar per verktyg och användare.

Denna deterministiska grind körs oavsett vad modellen beslutar, så även en lyckad injektion möter en fast barriär.

def authorize(call):
    if call.name not in ALLOWED_TOOLS:
        raise PolicyError("tool not allowed")
    if not SCHEMA[call.name].validate(call.args):
        raise PolicyError("bad arguments")
    if exceeds_budget(call):
        raise PolicyError("rate limit")

Begränsa loopen

Autonoma loopar kan skena: oändliga försök, rekursiva verktygsanrop och skenande kostnader (denial-of-wallet). Begränsa dem.

  • Begränsa det maximala antalet steg och det totala antalet tokens per uppgift.
  • Sätt tidsgränser i väggklocktid för hela körningen.
  • Spåra den ackumulerade kostnaden och avbryt när en tröskel nås.
  • Identifiera loopar (identiska anrop som upprepas) och bryt dem.

Dessa begränsningar motverkar även DoS-angrepp och angrepp med obegränsad förbrukning (OWASP LLM10).

Risker med minne och flera agenter

Beständigt agentminne och system med flera agenter skapar nya angreppsytor:

  • Minnesförgiftning: en injektion som skrivs till långtidsminnet i en session påverkar senare sessioner. Validera och begränsa det som sparas.
  • Tillit mellan agenter: en komprometterad agent kan injicera innehåll i en annan. Behandla meddelanden mellan agenter som obetrodda.
  • Förväxlad ställföreträdare: en privilegierad agent agerar på begäran av en agent med lägre tillitsnivå. För den ursprungliga huvudmannens auktorisering genom hela kedjan.

Loggning och observerbarhet

Det går inte att säkra det som inte går att se. Instrumentera hela agentens spår:

  • Logga varje verktygsanrop, dess argument och resultat.
  • Registrera resonemangskontexten och allt hämtat innehåll för kriminalteknisk analys.
  • Skapa aviseringar vid avvikelser: oväntad utgående trafik, användning av privilegier, upprepade avvisanden och kostnadstoppar.
  • Bevara ett oföränderligt revisionsspår som är kopplat till den agerande användaren.

God telemetri gör en tyst kompromettering till en upptäckbar och utredningsbar incident.

En agentarkitektur i flera lager

Sammantaget ser en robust agentstack ut så här:

  • Identitet: åtgärder körs som slutanvändaren med behörigheter enligt minsta möjliga åtkomst.
  • Policygrind: deterministisk lista över tillåtna åtgärder och schemavalidering för varje verktygsanrop.
  • Sandbox: isolerad körning med begränsat nätverk och begränsade resurser.
  • Mänskliga kontrollpunkter: godkännande för oåterkalleliga åtgärder.
  • Begränsningar: budgetar för steg, tokens, tid och kostnad.
  • Observerbarhet: fullständig revisionsloggning och avvikelseaviseringar.

Utgå från att modellen kan kapas och se till att konsekvenserna förblir begränsade även när det sker.

Snabbtest

Testa er förståelse av säkerhetskontroller för agenter.

Sammanfattning

Säkring av AI-agenter och verktygsanvändning:

  • Agenter omvandlar skadliga utdata till verkliga åtgärder, så varje verktyg utgör en angreppsyta.
  • Tillämpa minsta möjliga behörighet för varje verktyg och bind autentiseringsuppgifter till slutanvändaren.
  • Kräv mänskligt godkännande för irreversibla åtgärder och kör kod i en sandlåda.
  • Bryt den dödliga trifektan; behandla verktygsutdata som obetrodd indata.
  • Tillämpa en deterministisk policyspärr (tillåtelselistor, schemavalidering) i koden, inte i prompten.
  • Begränsa loopen (steg, tokens, tid och kostnad) och logga varje verktygsanrop för detektering.
Gratis att börja

Lär dig Cyber Security Academy med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
303

Vanliga frågor

Är lektionen ”Skydda AI-agenter och verktygsanvändning” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Cyber Security Academy, inklusive ”Skydda AI-agenter och verktygsanvändning”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Skydda AI-agenter och verktygsanvändning”?

Begränsa autonoma agenters handlingar. Ni övar på Cyber Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cyber Security Academy?

Du behöver inga förkunskaper. Utbildningen i Cyber Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Skydda AI-agenter och verktygsanvändning”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cyber Security Academy-lektionen?

Ja. Varje Cyber Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Promptinjektion och jailbreaks
  2. OWASP LLM Top 10
  3. Skydda AI-agenter och verktygsanvändning
  4. Modell-, data- och leveranskedjerisker
← Tillbaka till Cyber Security Academy