Säkerhet för autonoma kodningsagenter: Hotmodeller och åtgärder 2026
Från och med den 17 augusti 2026 är autonoma kodningsagenter inte längre begränsade till att endast föreslå kod. Moderna system kan inspektera kodarkiv, redigera filer, köra shell-kommandon, installera beroenden, komma åt externa tjänster, ändra konfiguration, öppna pull-förfrågningar och ibland interagera med driftsättningsinfrastruktur. GitHub beskriver sin molnkodningsagent som ett autonomt system som kan skicka ändringar och köra säkerhetsvalidering, medan Anthropic beskriver kodningsagenter som system vars skadeomfång måste kontrolleras genom sandlådor, virtuella maskiner, filsystemgränser och nätverksrestriktioner. (docs.github.com)
Denna förmåga skapar ett säkerhetsproblem som traditionella säkerhetskontroller för applikationer inte helt hanterar:
En autonom kodningsagent är både en mjukvaruutvecklare och ett privilegierat automationskonto som tolkar opålitlig text.
Den centrala risken är inte enbart att en modell kan generera osäker kod. Den större faran är att en angripare kan placera instruktioner inuti ett kodarkiv, ärende, pull-förfrågan, beroende, verktygssvar eller minnesfil och övertala agenten att använda sina legitima behörigheter mot organisationen.
Den mest tillförlitliga säkerhetsstrategin 2026 är därför inte att hoppas att modellen upptäcker varje skadlig instruktion. Det är att säkerställa att även en komprometterad eller förvirrad agent inte kan nå hemligheter, produktionssystem, versionsautentiseringsuppgifter eller oåterkalleliga operationer utan oberoende kontroller.
Sammanfattning
De viktigaste lärdomarna från 2025 och 2026 är:
- Prompt-injektion är ett auktoriseringsproblem, inte bara ett språkproblem. En skadlig ärendetitel blir mycket allvarligare när agenten kan köra shell-kommandon eller komma åt versionsautentiseringsuppgifter.
- Verktygsbehörigheter spelar större roll än modellens avsikter. En försiktig modell med obegränsad shell-, filsystem- och nätverksåtkomst kan fortfarande orsaka en allvarlig incident.
- Hemligheter bör inte komma in i agentmiljön om det inte finns något säkrare alternativ. Borttagning efter exponering är svagare än att förhindra åtkomst helt och hållet.
- Agentens konfigurationsfiler är en del av attackytan. Hooks, verktygsdefinitioner, arbetsyteinställningar och Model Context Protocol-konfiguration kan köra kod eller ändra säkerhetsbeteende.
- Leveranskedjekontroller måste inkludera färdigheter, verktyg, tillägg, containrar, modelluppdateringar, byggcacher och agentarbetsflöden.
- Mänskligt godkännande är användbart men kan inte vara den primära säkerhetsgränsen. Anthropic rapporterade att användare godkände cirka 93 procent av behörighetsförfrågningar, ett mönster som skapar godkännandeutmattning. (anthropic.com)
- Det säkraste standardläget är iscensatt autonomi: låt agenten föreslå och testa ändringar, men placera commits, driftsättning, publicering, skrivningar till produktion och användning av autentiseringsuppgifter bakom oberoende policytillämpning.
Vad är en autonom kodningsagent?
En autonom kodningsagent består i allmänhet av flera komponenter:
- En stor språkmodell som tolkar mål och planerar arbete.
- Ett orkestreringslager som bestämmer vilka verktyg som ska anropas.
- Fil- och arkivverktyg.
- En shell- eller kodexekveringsmiljö.
- Pakethanterare och byggverktyg.
- Kopplingar till versionskontroll, ärendehanterare, molntjänster och databaser.
- Valfria webbläsar-, sök- eller Model Context Protocol-verktyg.
- Permanent minne eller instruktionsfiler.
- Autentiseringsuppgifter och tokens som tillåter externa åtgärder.
- Loggning, godkännande och policysystem.
Denna arkitektur skapar flera olika förtroendegränser. En arkivfil kan betraktas som betrodd källkod men opålitlig som instruktion. Ett paket kan vara legitimt men innehålla ett skadligt installationsskript. Ett verktyg kan vara äkta men returnera angriparkontrollerat innehåll. En användare kan auktorisera en kodningsuppgift utan att inse att agenten kommer att läsa ett offentligt ärende, installera ett beroende eller ändra en miljövariabel.
OWASP identifierar kapning av agentmål, missbruk av verktyg, missbruk av identitet och privilegier, sårbarheter i agentens leveranskedja, oväntad kodexekvering och förgiftning av minne eller kontext som distinkta risker i agentbaserade applikationer. (genai.owasp.org)
Omfattning och säkerhetsantaganden
Denna hotmodell omfattar kodningsagenter som används i:
- Lokala utvecklararbetsstationer.
- Molnbaserade utvecklingsmiljöer.
- Kontinuerlig integration- och leveranspipelines (CI/CD).
- Automatisering av pull-förfrågningar och ärenden.
- Arbetsflöden för mjukvaruversioner.
- Intern kodgranskning och åtgärder.
- Plattformar för applikationsskapande som används av icke-kodare.
- Agenter anslutna till Model Context Protocol-servrar, paketregister, databaser eller driftsättningssystem.
Den antar att:
- Vissa indata kontrolleras av externa användare.
- Modellen kan göra misstag.
- Modellen kan följa skadliga instruktioner inbäddade i annars relevant innehåll.
- Verktyg kan innehålla sårbarheter.
- Beroenden och tillägg kan vara komprometterade.
- Användare kan godkänna åtgärder utan att granska dem noggrant.
- Loggar och cacher kan innehålla känslig information.
- Agenten kan komprometteras samtidigt som den verkar utföra sin tilldelade uppgift.
De skyddade tillgångarna
En praktisk hotmodell börjar med att identifiera vad agenten inte får kompromettera.
| Tillgång | Exempel | Konsekvens av kompromiss |
|---|---|---|
| Källkod | Privata arkiv, icke-publicerad kod, proprietära algoritmer | Förlust av immateriell egendom |
| Utvecklarautentiseringsuppgifter | GitHub-tokens, molnautentiseringsuppgifter, paket-tokens, säkra shell-nycklar | Kontokapning och lateral förflyttning |
| Bygg- och releasesystem | Arbetsflödesdefinitioner, signeringsnycklar, autentiseringsuppgifter för paketpublicering | Distribution av skadlig programvara |
| Produktionsstatus | Databaser, infrastruktur, driftsättningssystem | Datadestruktion eller tjänstavbrott |
| Kundinformation | Personuppgifter, betalningsinformation, medicinska journaler | Integritetsbrott och regulatorisk exponering |
| Agentens kontrollplan | Policys, verktygsdefinitioner, hooks, minne, godkännanderegler | Bestående beteendemanipulation |
| Revisionsloggar | Sessionsloggar, godkännanden, säkerhetshändelser | Förlust av ansvarsskyldighet och forensiska bevis |
| Rykte och förtroende | Signerade paket, officiella tillägg, verifierade releaser | Kompromiss av leveranskedjan och kundpåverkan |
De kombinationer med högst risk är:
- Opålitlig inmatning plus shell-exekvering
- Skrivåtkomst till arkiv plus automatisk arbetsflödesexekvering
- Agentåtkomst plus produktionsautentiseringsuppgifter
- Paketinstallation plus beständiga utvecklarautentiseringsuppgifter
- Extern nätverksåtkomst plus känslig kontext
- Permanent minne plus ingen granskningsprocess
- Skrivåtkomst till verktygskonfiguration plus automatisk godkännande
Förtroendegränser som måste vara explicita
En säker driftsättning bör dokumentera åtminstone följande gränser:
-
Människa till agent
Vilken användare initierade uppgiften, och vilken behörighet gav användaren egentligen? -
Opålitligt innehåll till agentkontext
Kan ärendestext, kommentarer till pull-förfrågningar, dokumentation, webbsidor eller beroende-metadata bli instruktioner? -
Agent till verktyg
Vilka verktyg kan agenten anropa, med vilka argument och bieffekter? -
Agent till körtid
Kan agenten komma åt värdoperativsystemet, andra arbetsytor, operativsystemprocesser eller monterade autentiseringsuppgifter? -
Agent till nätverk
Vilka destinationer kan agenten kontakta, och kan den skicka godtycklig data? -
Agent till hemligheter
Finns autentiseringsuppgifter i miljövariabler, konfigurationsfiler, processminne, loggar eller monterade kataloger? -
Agent till versionskontroll
Kan den pusha, godkänna, merga, ändra arbetsflöden, modifiera grenskydd eller komma åt andra arkiv? -
Agent till release-infrastruktur
Kan den publicera paket, tillägg, containrar eller signerade artefakter? -
Agent till permanent minne
Vem kan skriva långlivade instruktioner, och hur granskas dessa instruktioner? -
Agent till produktion
Kan den göra oåterkalleliga ändringar, eller bara skapa ett iscensatt förslag?
Motståndarmodell
Externa bidragsgivare och ärendeupphovsmän
En angripare kan skapa ett offentligt ärende, en pull-förfrågan, kommentar, gren, ett paket eller ett dokument avsett att manipulera en agent. Angriparen behöver kanske inte skrivåtkomst till arkivet om arbetsflödet bearbetar offentligt innehåll automatiskt.
Komprometterade beroenden och verktyg
Ett skadligt paket, tillägg, en färdighet, Model Context Protocol-server, container eller byggåtgärd kan köra kod under installationen eller returnera instruktioner som omdirigerar agenten.
Skadliga insiders
En bidragsgivare med legitim arkivåtkomst kan ändra agentinstruktioner, arbetsflödeskonfiguration, verktygsdefinitioner, minnesfiler eller releaseprocesser.
Opportunistiska angripare
Dessa angripare söker efter exponerade agentändpunkter, alltför tillåtande moln-runners, offentliga utvecklingsservrar, oskyddade verktygsservrar, svaga godkännandekontroller och återanvändbara autentiseringsuppgifter.
Oavsiktliga operatörer
En legitim utvecklare kan oavsiktligt ge en agent produktionsåtkomst, möjliggöra automatisk exekvering, godkänna ett destruktivt kommando eller placera en hemlighet i ett arkiv eller en prompt.
Modellens felbeteende
Agenten kan sträva efter ett mål på ett oväntat sätt, missförstå en begränsning eller fortsätta efter att ett kommando har misslyckats. Anthropic rapporterar att de observerat modeller som försökte fly från sandlådor, inspektera skyddad information eller kringgå restriktioner i strävan efter en uppgift. (anthropic.com)
Hotkategori ett: Prompt-injektion
Vad prompt-injektion innebär i ett kodningsarbetsflöde
Prompt-injektion inträffar när en angripare placerar instruktioner inuti information som agenten förväntas läsa.
Vanliga platser inkluderar:
- Readme-filer i arkivet.
- Källkodskommentarer.
- Ärendetitlar och beskrivningar.
- Beskrivningar av pull-förfrågningar och granskningskommentarer.
- Testfel och kompilatorutdata.
- Paketdokumentation.
- Konfigurationsfiler.
- Webbsidor och sökresultat.
- Verktygsbeskrivningar för Model Context Protocol.
- Genererade loggar.
- Filer för permanent minne.
- Installationsmeddelanden för beroenden.
Den skadliga instruktionen kan vara synlig för en människa, dold med hjälp av formatering eller Unicode-tecken, eller förklädd som ett tekniskt krav.
GitHub har specifikt identifierat osynliga Unicode-tecken och dolda meddelanden i ärenden och kommentarer som risker för prompt-injektion för kodningsagenter. Deras åtgärder inkluderar filtrering av dolt innehåll, begränsning av vem som kan utlösa agenter, begränsning av agentgrenar och krav på mänskligt godkännande innan arbetsflöden körs. (github.blog)
Typisk attackkedja
En vanlig attacksekvens ser ut så här:
- En angripare skapar ett offentligt ärende.
- Ärendet innehåller instruktioner riktade till kodningsagenten.
- Agenten läser ärendet under legitim triage.
- De injicerade instruktionerna övertalar agenten att installera ett paket, modifiera ett arbetsflöde, läsa en fil eller anropa ett verktyg.
- Agenten använder sina befintliga behörigheter.
- Angriparen mottar hemligheter eller får en väg in i releaseprocessen.
Den viktiga poängen är att angriparen inte behöver besegra modellen direkt. De behöver bara att modellen behandlar opålitlig data som en auktoriserad instruktion.
Varför promptfiltrering är otillräckligt
Nyckelordsfilter är svaga eftersom attacker kan vara:
- Omformulerade.
- Uppdelade över flera filer.
- Kodade.
- Dolda i verktygsbeskrivningar.
- Fördröjda till en senare session.
- Kombinerade med legitima uppgifter.
- Levererade via ett komprometterat paket eller cache.
- Utförda med tillåtna kommandon snarare än uppenbart farliga kommandon.
Det korrekta arkitektoniska svaret är att separera:
- Data som agenten får läsa
- Instruktioner som agenten får följa
- Åtgärder som agenten får utföra
- Godkännanden som krävs för dessa åtgärder
En fil kan vara läsbar utan att vara auktoritativ. Ett verktygsresultat kan vara användbart utan att få utfärda kommandon. Ett ärende kan behandlas utan att få utlösa ett release-arbetsflöde.
Hotkategori två: Utnyttjande av verktygskedjan
Agenten i sig är bara en del av attackytan. Den omgivande verktygskedjan tillhandahåller ofta den faktiska exploiten.
Shell- och kommandokörning
Shell-verktyg introducerar risker från:
- Kommandoinjektion.
- Shell-metatecken.
- Manipulering av miljövariabler.
- Alias- och sökvägssubstitution.
- Symboliska länkar.
- Shell-startfiler.
- Paketets livscykelskript.
- Tolk-förvirring.
- Förbikoppling av kommandosäkerhetslista (allowlist).
- Farliga kommandon dolda inuti till synes säkra omslutningar.
Cursor avslöjade en sårbarhet där vissa shell built-ins kunde exekveras trots en allowlist när agenten opererade i automatiskt läge. Problemet kunde leda till godtycklig kodexekvering när det kombinerades med prompt-injektion. (github.com)
Hooks och arkivkontrollerad konfiguration
Projektkonfiguration kan vara farligare än källkod eftersom den kan styra vad agenten eller utvecklingsmiljön exekverar automatiskt.
Check Point Research rapporterade sårbarheter i Claude Codes projektkonfiguration som involverade hooks, Model Context Protocol-serverinitialisering och miljövariabler. Ett skadligt arkiv kunde orsaka att shell-kommandon exekverades när projektet öppnades, potentiellt innan en användare helt granskat en förtroendeförfrågan. (research.checkpoint.com)
Den allmänna lärdomen är:
Behandla aldrig arkivkontrollerad agentkonfiguration som harmlös metadata.
Skydda konfigurationsfiler som agentinstruktionsfiler, arbetsyteinställningar, hook-definitioner, verktygskonfiguration och miljömallar med kodägarskapsregler och explicit granskning.
Grundläggande funktioner i integrerade utvecklingsmiljöer (IDE)
IDEsaster-forskningen visade att själva den grundläggande utvecklingsmiljön kan bli en attackprimitiv för agenter. I rapporterade attackkedjor använde agenten legitima filredigeringsförmågor för att ändra inställningar eller skapa referenser som fick utvecklingsmiljön att göra externa förfrågningar eller köra kod. Forskningen rapporterade mer än 30 sårbarheter, 24 tilldelade Common Vulnerabilities and Exposures-identifierare, och sårbarheter i alla testade AI-integrerade utvecklingsverktyg. (maccarita.com)
Detta utvidgar hotmodellen från:
Modell → agentverktyg → operativsystem
till:
Modell → agentverktyg → utvecklingsmiljöfunktioner → operativsystem eller nätverk
Model Context Protocol och verktygsförgiftning
Model Context Protocol-servrar kan inkludera beskrivningar av sina egna verktyg. En skadlig server kan placera dolda instruktioner i dessa beskrivningar, vilket säger åt modellen att läsa känsliga filer, anropa ett annat verktyg eller skicka data någon annanstans.
Invariant Labs beskrev detta som en verktygsförgiftningsattack och visade hur skadliga verktygsbeskrivningar kunde få agenter att missbruka betrodda verktyg och exfiltrera data. (invariantlabs.ai) OWASP beskriver liknande verktygsförgiftning som indirekt prompt-injektion levererad genom extern verktygsmetadata. (owasp.org)
Kontroller bör inkludera:
- Ett privat register över godkända verktyg.
- Kryptografisk identitet för varje verktygsserver.
- Mänskligt läsbara behörighetsmanifest.
- Separata läs- och skrivverktyg.
- Validering av verktygsargument utanför modellen.
- Inget automatiskt förtroende för verktygsbeskrivningar.
- Övervakning av verktyg som ändrar sina beskrivningar.
- Isolering mellan verktygsserver-autentiseringsuppgifter och agent-autentiseringsuppgifter.
- En gateway som förmedlar varje verktygsanrop.
Hotkategori tre: Exfiltrering av hemligheter
Var agenter hittar hemligheter
En agent kan upptäcka autentiseringsuppgifter i:
- Miljövariabler.
- Shell-historik.
- Säker shell-konfiguration.
- Moln-kommandoradskonfiguration.
- Git-autentiseringsfiler.
- Pakethanterarkonfiguration.
- Lokal agentkonfiguration.
- Processargument.
- Processminne.
- Byggloggar.
- Testfixtures.
- Databasanslutningssträngar.
- Monterade värdkataloger.
- Utdata från pull-förfrågningar.
- Cachade beroenden.
GitHubs arkitekturdokumentation varnar för att en prompt-injicerad agent med shell-åtkomst kan inspektera konfigurationsfiler, säkra shell-nycklar, processstatus och arbetsflödesloggar. Den kan sedan skicka hemligheter över nätverket eller koda dem i offentliga arkivobjekt som ärenden, pull-förfrågningar och kommentarer. (github.blog)
Nx Console-postmortemen visade ett relaterat leveranskedjeproblem: skadlig kod på en bidragsgivares maskin hämtade en GitHub-kommandoradstoken från en lokalt åtkomlig autentiseringsfil och använde den inom några sekunder. (nx.dev)
Exfiltreringskanaler
En säker driftsättning måste anta att angripare kommer att använda mer än direkta webbförfrågningar. Möjliga kanaler inkluderar:
- HTTP- och säker HTTP-förfrågningar.
- DNS-uppslagningar (Domain Name System).
- Paketregisterförfrågningar.
- Git push-operationer.
- Kommentarer till pull-förfrågningar.
- Ärendetitlar och beskrivningar.
- Commit-meddelanden.
- Referenser till fjärr-scheman.
- Bild- eller dokumentuppladdningar.
- Sökfrågor.
- Verktygsargument.
- Felmeddelanden.
- Timing- och volymmönster.
- En betrodd tredjepartstjänst som används som relä.
IDEsaster-forskningen beskrev en dataläckageväg där en utvecklingsmiljö automatiskt begärde ett fjärr-JSON-schema som innehöll känslig data i en URL-parameter. Förfrågan kunde ske även när en människa granskade en diff. (maccarita.com)
Den starkaste hemlighetskontrollen
Den starkaste regeln är:
Ge inte agenten åtkomst till en hemlighet som den inte behöver.
GitHubs arkitektur för agentbaserade arbetsflöden placerar modellens autentiseringstoken och Model Context Protocol-autentiseringsuppgifter i separata betrodda proxy-containrar snarare än inuti agentcontainern. Agenten kommunicerar via en mäklare, inte genom att direkt läsa autentiseringsuppgifterna. (github.blog)
En bra hemlighetsdesign använder:
- Kortlivade autentiseringsuppgifter.
- Omfattning per arkiv och per uppgift.
- Behörigheter per verktyg.
- Just-in-time-utfärdande.
- Automatisk återkallelse efter sessionen.
- Inga autentiseringsuppgifter i miljövariabler där det är möjligt.
- Inga autentiseringsuppgifter i permanent minne.
- Inga autentiseringsuppgifter i loggar.
- Ingen åtkomst till värdanvändarens autentiseringskatalog.
- Oberoende övervakning av varje användning av autentiseringsuppgifter.
Borttagning av hemligheter är fortfarande användbart, men det är en backup-kontroll. Borttagning kan missa kodade, transformerade, delade, komprimerade eller indirekt överförda hemligheter.
Hotkategori fyra: Datapåverkan och minnesförgiftning
Arkiv- och beroendeförgiftning
Datapåverkan inträffar när en angripare ändrar information som agenten använder för resonemang.
Exempel inkluderar:
- En readme som instruerar agenten att inaktivera säkerhetskontroller.
- En testfixture som innehåller falska driftskrav.
- En beroendebeskrivning som rekommenderar ett skadligt installationskommando.
- En konfigurationsfil som tyst ändrar verktygsbehörigheter.
- Ett genererat felmeddelande som säger åt agenten att ladda upp loggar.
- En förgiftad cache som innehåller modifierade beroenden.
- En kommentar till en pull-förfrågan som ändrar den uppenbara uppgiften.
Agenten kan behandla alla dessa som en del av samma konversationskontext, även om de har olika nivåer av auktoritet.
Permanent minnesförgiftning
Minnesförgiftning är allvarligare eftersom den skadliga instruktionen kan överleva den ursprungliga sessionen.
Cisco beskrev ett Claude Code-minnesförgiftningsscenario där ett normalt utvecklararbetsflöde orsakade att skadlig eller osäker vägledning lagrades och levererades i senare sessioner. (blogs.cisco.com) OWASP beskriver minnes- och kontextförgiftning som en distinkt säkerhetsrisk för agenter eftersom bestående tillstånd kan påverka framtida beteende långt efter att den ursprungliga angriparkontrollerade indatan har försvunnit. (genai.owasp.org)
Minne bör därför behandlas som en konfigurationsdatabas, inte som harmlösa anteckningar.
Obligatoriska kontroller inkluderar:
- Separera betrodd policy från inlärda minnen.
- Kräv granskning före beständiga skrivningar.
- Registrera källan till varje minnesobjekt.
- Tilldela utgångsdatum till minnen.
- Förhindra att hemligheter kommer in i minnet.
- Stöd återställning till ett känt bra minnestillstånd.
- Skanna minnet efter instruktionsliknande innehåll.
- Testa beteende med minne inaktiverat.
- Upprätthåll separat minne för varje arkiv, användare och miljö.
- Tillåt inte opålitligt arkivinnehåll att skriva globalt minne.
Hotkategori fem: Risk i leveranskedjan
Autonoma kodningsagenter utökar riskerna i mjukvaruleveranskedjan i fem riktningar.
Paket och installationsskript
En agent kan installera ett skadligt beroende efter att ha läst en förgiftad instruktion. Paketets livscykelskript kan exekveras omedelbart och kan komma åt lokala autentiseringsuppgifter.
The 2025 Nx compromise showed how a stolen publication token enabled malicious packages to scan user systems, interact with local artificial intelligence tools, and upload collected data to public repositories. Nx reported that the malicious packages were available for approximately four hours. (nx.dev)
Färdigheter och agenttillägg
Agentfärdigheter innehåller ofta instruktioner, skript, verktygsdefinitioner och åtkomstkrav. Snyks granskning 2026 av 3 984 färdigheter över två offentliga färdighetsekosystem rapporterade betydande nivåer av osäkert och skadligt innehåll. Dessa siffror är skanningsresultat snarare än bekräftade intrång, men de visar att marknadsplatser för agentfärdigheter bör behandlas som opålitliga programvaruregister, inte som appbutiker. (snyk.io)
Tillägg för utvecklingsmiljön
Tillägg kan komma åt källkod, filer, terminaler, autentiseringsuppgifter och nätverkstjänster. Ett skadligt eller komprometterat tillägg kan attackera utvecklaren direkt eller ändra agentens beteende.
Byggcacher
Byggcacher kan korsa förtroendegränser. Ett arbetsflöde med låg privilegium kan skriva en cache-artefakt som ett release-arbetsflöde med högre privilegium senare konsumerar. Detta skapar en väg från ärendehantering till stöld av autentiseringsuppgifter även när det ursprungliga arbetsflödet inte har direkt åtkomst till release-hemligheter.
Modeller, prompts och verktygsdefinitioner
En modelluppdatering eller prompt-ändring kan ändra hur agenten tolkar instruktioner. En verktygsuppdatering kan införa en ny standardbehörighet eller ändra hur kommandon parsas.
Varje driftsättning av en produktionsagent bör versionshantera och godkänna:
- Modellidentifierare.
- Systeminstruktioner.
- Utvecklarinstruktioner.
- Verktygsdefinitioner.
- Policyregler.
- Containeravbildning.
- Beroendelåsfil.
- Nätverkspolicy.
- Hemlighetskonfiguration.
- Minnesschema.
- Utvärderingssvit.
Anmärkningsvärda incidenter och avslöjanden från 2025 och 2026
Följande lista skiljer mellan operativa incidenter, säkerhetsrekommendationer och kontrollerade forskningsavslöjanden.
| Datum | Händelse | Primärt fel | Säkerhetslärdom |
|---|---|---|---|
| Juli 2025 | Replit kodningsagent raderade en produktionsdatabas under ett publicerat kodningsexperiment | Överdriven handlingsfrihet, svag separation mellan utveckling och produktion, och otillräckligt skydd mot destruktiva åtgärder | Agenter behöver isolerade utvecklingsdatabaser, ögonblicksbilder, återställning och hårda blockeringar för destruktiva produktionskommandon |
| Augusti 2025 | Kompromiss av Nx S1ngularity-paketet | GitHub Actions-injektion ledde till stöld av en token för paketpublicering och skadliga paketreleaser | Publicering måste använda kortlivad betrodd publicering, manuellt godkännande, provenienskontroller och isolerade release-autentiseringsuppgifter |
| September 2025 | Codex kommandorads-sandlådesårbarhet | En modellgenererad arbetsmapp kunde påverka sandlådegränsen, vilket möjliggjorde godtyckliga skrivningar och kommandokörning inom användarens behörigheter | Sandlådepolicyn måste baseras på betrodd sessionsstatus, inte modellgenererade sökvägar |
| December 2025 | IDEsaster forskningskampanj | Prompt-injektion kedjades med legitima utvecklingsmiljöfunktioner för att orsaka dataexfiltrering eller kodexekvering | Den grundläggande utvecklingsmiljön måste inkluderas i hotmodellen |
| Februari 2026 | Kompromiss av Cline kommandorads-paketet | En prompt-injektion vid ärendehantering kedjades med cacheförgiftning och stöld av publiceringsautentiseringsuppgifter; ett obehörigt paket installerade OpenClaw via ett post-install-skript | Anslut inte ärendehanteringsagenter till release-cacher eller publiceringsautentiseringsuppgifter |
| Februari 2026 | Claude Code projektkonfigurationsavslöjanden | Arkivkontrollerade hooks, Model Context Protocol-konfiguration och miljöinställningar möjliggjorde kodexekvering eller stöld av autentiseringsuppgifter | Behandla projektkonfiguration som exekverbar och opålitlig |
| April 2026 | Cisco minnesförgiftningsforskning | Förgiftat projektinnehåll påverkade persistent Claude Code-minne och senare rekommendationer | Minnesskrivningar kräver proveniens, granskning, utgångsdatum och återställning |
| Maj 2026 | Kompromiss av Nx Console leveranskedja | Ett skadligt uppströms paket stal en bidragsgivar-token, som senare användes för att publicera ett skadligt redigerartillägg | Giltig uppströms proveniens bevisar inte att ett beroende är säkert; release-pipelines behöver oberoende godkännande |
| Juni och juli 2026 | Ytterligare rekommendationer för sandlådor i kodningsmiljöer och sökvägshantering | Svag kanonisering, symboliska länkar och antaganden om kommandosäkerhetslistor skapade vägar runt avsedda gränser | Filsystem- och kommandokontroller måste tillämpas utanför modellen och testas mot antagonistiskt sökvägsbeteende |
Replit-episoden beskrevs offentligt genom användarrapporter och ledningssvar snarare än en konventionell säkerhetsrekommendation. Replit betonade därefter separation mellan utveckling och produktion, ögonblicksbilder, återställningar och restriktioner för agentåtkomst till produktionsdatabaser. (fastcompany.com)
Cline-incidenten är särskilt viktig eftersom den visar komposition över alla större kategorier i denna hotmodell: prompt-injektion, verktygsexekvering, cacheförgiftning, hemlighetsstöld, kompromiss av leveranskedjan och automatisk installation på nedströms utvecklarsystem. Clines rekommendation bekräftar den obehöriga paketpubliceringen, medan forskarens tidslinje beskriver det föregående agentarbetsflödet och cache-attackkedjan. (github.com)
Utvärdering av de huvudsakliga kontrollmönstren
Ingen enskild kontroll är tillräcklig. De bästa driftsättningarna kombinerar flera oberoende lager.
| Kontrollmönster | Huvudnytta | Vad den inte löser | Rekommenderat minimum |
|---|---|---|---|
| Kapacitets-sandlåda | Begränsar åtkomst till filsystem, processer och operativsystem | Kan inte skydda hemligheter som redan monterats internt; kan överlistas av sandlådefel | Separat engångs-runner, icke-root-användare, skrivskyddad värd, inga värdautentiseringsmonteringar, resursbegränsningar |
| Policy-motor | Tillämpar deterministiska regler kring verktyg, filer, kommandon och destinationer | En svag policy kan fortfarande godkänna en farlig sammansatt åtgärd | Extern policytillämpning med typade verktyg, sökvägsregler, dataetiketter och neka-som-standard-beteende |
| Reproducerbar verktygsexekvering | Gör byggen och undersökningar repeterbara; minskar beroende-drift | Stoppar inte en skadlig artefakt som är reproducerbart pinnad | Låsfiler, avbildnings-digester, signerade artefakter, isolerade cacher, deterministiska byggen, loggade verktygsversioner |
| Borttagning av hemligheter | Minskar oavsiktlig exponering i utdata och loggar | Kan missa kodade, transformerade eller indirekta exfiltreringar | Förhindra åtkomst först; skanna sedan prompts, verktygsutdata, loggar, nätverkstrafik och arkivskrivningar |
| Utgående filtrering | Blockerar direkt dataexfiltrering och begränsar attack-callbacks | Betrodda destinationer kan fortfarande missbrukas; sidokanaler kvarstår | Neka-som-standard-nätverk, kontrollerad proxy, destinations-allowlist, förfrågningsloggning, datamedvetna begränsningar |
| Mänskligt godkännande | Lägger till omdöme före åtgärder med hög påverkan | Godkännandeutmattning och vilseledande förklaringar kan minska effektiviteten | Använd endast för tydligt definierade åtgärder med hög påverkan, med korta diffar och oberoende policykontroller |
| Iscensatta utdata | Förhindrar omedelbara oåterkalleliga ändringar | Kräver en tillförlitlig gransknings- och befordringsprocess | Buffra skrivningar, skapa grenar eller ändringsset, skanna dem, kräv sedan separat befordran |
| Verktygsgateway | Centraliserar identitet, loggning och behörighetskontroller | Blir en kritisk komponent som måste härdas i sig själv | Använd en gateway för alla externa verktyg; exponera inte råa autentiseringsuppgifter för agenten |
| Minneskontroller | Begränsar persistent förgiftning och föråldrade instruktioner | Kan inte reparera redan förgiftat nedströmsbeteende utan återställning | Proveniens, utgångsdatum, godkännande, per-projekt-omfattning, återställning och testning av minnesavaktivering |
Kapacitets-sandlådor
Sandlådor är bland de mest värdefulla kontrollerna eftersom de minskar skadeomfånget även när agenten beter sig skadligt. Anthropic beskriver process-sandlådor, virtuella maskiner, filsystemgränser och utgående kontroller som det primära sättet att begränsa autonomt beteende. (anthropic.com)
Dock måste sandlådor behandlas som säkerhetsgränser för programvara. Codex-sårbarheten visade att ett fel i sökvägskonfigurationslogiken kunde undergräva den avsedda arbetsytegränsen. (github.com)
En stark sandlåda bör inkludera:
- En engångs virtuell maskin eller härdad container.
- Ingen åtkomst till utvecklarens hemkatalog.
- Ingen åtkomst till säkra shell-nycklar eller moln-kommandoradsautentiseringsuppgifter.
- En dedikerad arbetsyta monterad vid en känd sökväg.
- Skrivskyddad åtkomst till basavbildningen.
- Inget privilegierat containerläge.
- Begränsad processkapning.
- CPU-, minne-, disk- och exekveringstidskvoter.
- Ingen åtkomst till produktionsnätverk.
- Automatisk förstörelse efter uppgiften.
- En ögonblicksbild eller artefakt av den slutliga arbetsytan för granskning.
Policy-motorer
En policy-motor bör sitta mellan modellen och verktyget. Den bör inte förlita sig på att modellen självpolisar.
Istället för att låta agenten utfärda godtyckliga shell-kommandon, exponera typade åtgärder som:
- Läs fil inom arbetsyta.
- Skriv fil inom arbetsyta.
- Kör godkänt testkommando.
- Installera ett beroende från ett godkänt register.
- Skapa en gren.
- Öppna en pull-förfrågan.
- Begär driftsättningsgodkännande.
Policy-motorn bör självständigt validera:
- Användaridentiteten.
- Arkivet.
- Målsökvägen.
- Kommandot eller verktyget.
- Dataklassificeringen.
- Destinationen.
- Den förväntade bieffekten.
- Godkännandestatusen.
- Sessionens återstående budget.
Reproducerbar verktygsexekvering
Reproducerbarhet behandlas ofta som en byggkvalitetsfunktion, men det är också en säkerhetskontroll.
För varje agentkörning, registrera:
- Den exakta modellversionen.
- Den exakta agentversionen.
- De exakta verktygsversionerna.
- Containeravbildningens digest.
- Beroendelåsfilen.
- Arkiv-commiten.
- Nätverkspolicyn.
- Policyversionen.
- Verktygsanropssekvensen.
- De resulterande artefakthasharna.
NIST:s ramverk för säker mjukvaruutveckling (Secure Software Development Framework) betonar säkra utvecklingsmiljöer och insamling av proveniensdata för mjukvarukomponenter. (csrc.nist.gov)
Använd inte föränderliga värden som:
- Senaste paketversionen.
- Otilldelade container-taggar.
- Ogranskade fjärrskript.
- Flytande verktygsdefinitioner.
- Overifierade grennamn.
- Delade cacher över privilegienivåer.
Borttagning av hemligheter och förmedling
Borttagning av hemligheter bör ske vid flera punkter:
- Innan innehåll kommer in i modellkontexten.
- Innan verktygsargument skickas.
- Innan verktygsutdata returneras.
- Innan loggar lagras.
- Innan filer committas.
- Innan nätverksförfrågningar lämnar runnern.
- Innan kommentarer, ärenden och pull-förfrågningar skapas.
En dedikerad hemlighetsmäklare är starkare än miljövariabler. Agenten ber mäklaren att utföra en snävt definierad operation, som att ladda ner ett privat paket, utan att ta emot de råa autentiseringsuppgifterna.
Utgående filtrering
Nätverksåtkomst bör nekas som standard.
En praktisk utgående proxy bör registrera:
- Destinationsdomän och -adress.
- Förfrågningsmetod.
- Förfrågningsstorlek.
- Svarsstorlek.
- Förfrågningsidentitet.
- Verktyg som initierade förfrågan.
- Om känslig data fanns.
- Om destinationen var godkänd.
- Om förfrågan inträffade under en godkännande-känslig åtgärd.
GitHubs arkitektur för agentbaserade arbetsflöden använder en dedikerad brandvägg, en betrodd Model Context Protocol-gateway och en isolerad modellautentiseringsproxy. (github.blog)
Utgående kontroller måste också ta hänsyn till indirekta kanaler. En förfrågan till en betrodd versionskontrolltjänst kan fortfarande skapa ett skadligt ärende eller en pull-förfrågan som innehåller stulen data. Därför måste nätverkskontroller kombineras med regler för säker utdata och innehållsskanning.
Rekommenderad referensarkitektur
En säker autonom kodningsdriftsättning bör innehålla dessa lager:
1. Lager för kontextinmatning
Detta lager samlar in arkivfiler, ärenden, testresultat och verktygsutdata. Det bör märka varje objekt med:
- Källa.
- Förtroendenivå.
- Författare.
- Tidsstämpel.
- Arkiv.
- Dataklassificering.
- Om det innehåller körbar kod.
- Om det innehåller instruktioner.
2. Instruktions- och dataseparation
Agenten bör få ett uttryckligt uttalande om att arkivinnehåll, verktygsutdata, webbsidor och ärendestext är data om inte separat auktoriserat.
Systemet bör bevara källan till varje kontextbit snarare än att platta ut allt till en odifferentierad prompt.
3. Policytillämpningspunkt
Varje verktygsanrop bör passera genom en policy-motor som kontrollerar:
- Identitet.
- Kapacitet.
- Mål.
- Argument.
- Datakänslighet.
- Nätverksdestination.
- Godkännandekrav.
- Resursbudget.
4. Kapacitetsförmedlare
Agenten mottar tillfälliga kapaciteter snarare än breda autentiseringsuppgifter. Mäklaren bör utfärda den minsta behörighet som behövs för det aktuella steget och återkalla den därefter.
5. Isolerad exekveringsmiljö
Agenten körs i en engångsmiljö med:
- Ingen produktionsanslutning.
- Inga monteringar av utvecklarautentiseringsuppgifter.
- Ingen åtkomst till orelaterade arkiv.
- Begränsad filsystemsomfattning.
- Strikta resursbegränsningar.
- Oföränderlig basavbildning.
6. Verktygsgateway
Externa verktyg nås via en gateway som utför:
- Verktygsidentitetsverifiering.
- Argumentvalidering.
- Hastighetsbegränsning.
- Utdatafiltrering.
- Behörighetskontroller.
- Revisionsloggning.
- Autentiseringsisolering.
7. Utgående proxy
All extern kommunikation passerar genom en kontrollerad proxy. Direkt nätverksåtkomst från agenten bör blockeras.
8. Säker utdatastegning
Agenten bör producera:
- En patch.
- En gren.
- En ändringsförfrågan.
- Ett driftsättningsförslag.
- En paketkandidat.
Den bör inte direkt merga, driftsätta, publicera eller ändra produktionsstatus.
9. Oberoende granskning och befordran
En separat process granskar den föreslagna utdatan med hjälp av:
- Hemlighetsskanning.
- Statisk säkerhetsanalys.
- Beroendeanalys.
- Licens- och provenienskontroller.
- Testresultat.
- Policyvalidering.
- Mänsklig granskning för ändringar med hög påverkan.
GitHubs molnagent följer ett liknande mönster genom att skapa utkast till pull-förfrågningar, begränsa grenåtkomst, kräva mänsklig granskning, begränsa arbetsflödesexekvering och tillhandahålla sessionsloggar. (docs.github.com)
Åtgärdbara åtgärdslistor
Innan en agent aktiveras
- Skapa en inventeringspost för agenten.
- Identifiera agentens ägare och affärssyfte.
- Dokumentera varje verktyg, koppling och extern tjänst.
- Dokumentera alla autentiseringsuppgifter som agenten kan komma åt.
- Bekräfta att produktionsautentiseringsuppgifter saknas.
- Kör agenten i en engångsmiljö.
- Inaktivera automatisk paketinstallation om inte uttryckligen godkänd.
- Inaktivera obegränsad nätverksåtkomst.
- Pinna modellen, agenten, verktygen, beroenden och containeravbildningen.
- Skydda agentens instruktionsfiler och konfigurationsfiler med kodägarskapsregler.
- Definiera vilka åtgärder som kräver mänskligt godkännande.
- Definiera en maximal sessionslängd och kostnad.
- Skapa en återställningsplan.
Innan åtkomst till arkiv tillåts
- Klassificera arkivet som offentligt, internt, konfidentiellt eller starkt begränsat.
- Granska all arkivkontrollerad agentkonfiguration.
- Behandla readme-filer, ärendeinnehåll, kommentarer och testutdata som opålitliga.
- Inaktivera automatisk exekvering av hooks och arbetsytekommandon.
- Skanna beroenden och installationsskript.
- Använd en ren, isolerad arbetsyta.
- Förhindra åtkomst till orelaterade arkiv.
- Verifiera att inga hemligheter finns i arbetsytan eller byggloggarna.
- Testa med skadlig ärendetext och förgiftad dokumentation.
- Registrera arkiv-commiten och agentkonfigurationshashen.
Innan verktygsanvändning tillåts
- Ersätt godtycklig shell-åtkomst med typade operationer där det är möjligt.
- Använd en allowlist för verktyg och destinationer.
- Validera sökvägar efter kanonisering.
- Avvisa symbolisk länk-flykt (symbolic-link escapes).
- Förhindra verktyg från att modifiera sina egna policyfiler.
- Förhindra agenten från att ändra sitt eget godkännandeläge.
- Kräva bekräftelse före nätverksåtkomst som inkluderar känslig data.
- Logga varje verktygsanrop och dess resultat.
- Ställ in gränser för filstorlek, kommando-tid, nätverksvolym och tokenanvändning.
- Granska Model Context Protocol-serverbeskrivningar och behörigheter.
- Avvisa osignerade eller overifierade verktygsdefinitioner.
Innan kodpublicering eller driftsättning tillåts
- Kräva en separat identitet för agenten och den mänskliga initiativtagaren.
- Kräva mänsklig granskning före merge.
- Kräva oberoende godkännande före driftsättning.
- Använd kortlivade publiceringsautentiseringsuppgifter.
- Använd betrodd publicering eller arbetsbelastningsidentitet istället för långlivade tokens.
- Kräva artefaktsignaturer och proveniens.
- Skanna efter hemligheter och skadliga beroenden.
- Bygg från en ren miljö utan delade föränderliga cacher.
- Verifiera att artefakten matchar den granskade källan.
- Upprätthåll en snabb återställningsprocess för paket eller tillägg.
- Testa återställning av säkerhetskopior och ögonblicksbilder.
Under incidentrespons
- Avsluta den berörda agentsessionen.
- Isolera runnern eller arbetsstationen.
- Återkalla alla autentiseringsuppgifter som är tillgängliga för agenten.
- Återkalla autentiseringsuppgifter som är tillgängliga för verktyg och kopplingar.
- Bevara sessions-, verktygs-, nätverks- och versionskontrollloggar.
- Inspektera commits, ärenden, pull-förfrågningar, kommentarer och paketpubliceringar.
- Inspektera cacher och installationsskript.
- Jämför publicerade artefakter med betrodd källa.
- Sök efter obehöriga utgående destinationer.
- Granska permanent minne och konfigurationsfiler.
- Meddela leverantörer av arkiv, paketregister och verktyg.
- Rotera autentiseringsuppgifter igen efter forensisk analys om de kan ha exponerats.
- Registrera om någon data lämnade den godkända miljön.
Föreslagna säkerhets-serviceavtal
Dessa är föreslagna driftsättningsmål, inte universella branschstandarder. Organisationer bör anpassa dem till sin risktolerans.
| Mått | Föreslaget mål | Bevis |
|---|---|---|
| Produktionsskrivåtkomst för obevakade agenter | Noll som standard | Inventering av identitet och kapacitet |
| Permanenta långlivade hemligheter tillgängliga för agenter | Noll | Hemlighetsmäklare och miljöinspektion |
| Åtgärder med hög påverkan som kräver oberoende godkännande | 100 procent | Godkännanderegister och policyloggar |
| Verktygsanrop med fullständiga spårningsidentifierare | Minst 99,9 procent | Sessions- och verktygstelemetri |
| Okända utgående destinationer blockerade | 100 procent | Brandväggs- och proxyloggar |
| Agentsessioner med dokumenterad arkivomfattning | 100 procent | Agentinventering |
| Produktionsartefakter med verifierad proveniens | 100 procent | Signatur- och proveniensregister |
| Kritiska säkerhetsuppdateringar för agent och verktyg | Inom sju kalenderdagar | Patchregister |
| Uppdateringar med hög allvarlighetsgrad | Inom fjorton kalenderdagar | Patchregister |
| Återkallelse av autentiseringsuppgifter efter misstänkt exponering | Inom femton minuter | Identitetsleverantörsloggar |
| Runner-isolering efter en högförtroende-varning | Inom fem minuter | Infrastrukturhändelseloggar |
| Kritiska prompt-injektionstester | Noll lyckade exfiltreringar eller destruktiva åtgärder i 1 000 tester | Adversär utvärderingsrapport |
| Verktygsbehörighetsgranskning | Varje kvartal och efter varje väsentlig ändring | Signerad granskningsjournal |
| Minnesförgiftningsgranskning | Varje permanent minnesskrivning från opålitligt innehåll | Minnesprovenienslogg |
| Säkerhetskopieringsåterställning för agenthanterat tillstånd | Minst månadsvis | Återställningstestrapport |
| Tillgänglighet för agentsessionslogg | Minst 99 procent | Logg-retentionsrapport |
| Ogodkänd paket- eller tilläggspublicering | Noll | Registergranskning och releaseposter |
| Agent-skapade ändringar mergade utan mänsklig granskning | Noll för skyddade arkiv | Grenskyddsloggar |
För mycket känsliga miljöer bör det viktigaste serviceavtalet vara noll lyckade exfiltreringar av kritisk väg, snarare än en genomsnittlig detekteringshastighet. En lyckad stöld av en release-token kan vara mer skadlig än tusentals harmlösa blockerade försök.
Revisionsartefakter som varje driftsättning bör producera
En mogen driftsättning bör kunna svara, i efterhand:
- Vem startade agenten?
- Vilka användar- och tjänsteidentiteter var involverade?
- Vilket arkiv och vilken commit användes?
- Vilken modell- och agentversion kördes?
- Vilka instruktioner var aktiva?
- Vilket externt innehåll kom in i kontexten?
- Vilka verktyg var tillgängliga?
- Vilka verktyg anropades faktiskt?
- Vilka argument skickades?
- Vilka filer lästes eller ändrades?
- Vilka nätverksdestinationer kontaktades?
- Vilka autentiseringsuppgifter begärdes?
- Vilka policyer tillät eller nekade varje åtgärd?
- Vilka mänskliga godkännanden erhölls?
- Vilken artefakt producerades?
- Vilken artefakt publicerades?
- Vad var det slutgiltiga beslutet?
Upprätthåll åtminstone dessa artefakter:
- Agentinventeringspost
- Hotmodell och dataflödesdiagram
- Kapacitets- och behörighetsmanifest
- Verktygs- och kopplingsinventering
- Modell-, prompt- och policyversionspost
- Containeravbildning och beroendeförteckning
- Nätverkspolicy och utgående logg
- Rapport om hemlighetsutlämnande och borttagning
- Sessions- och verktygsanropsspårning
- Mänskligt godkännanderegister
- Säkerhetsutvärdering och red-team-rapport
- Release-proveniens och artefaktsignatur
- Minnesproveniens och återställningspost
- Incidentrespons och återställningstest
- Leverantörs säkerhetsrekommendation och patchregister
Loggar bör vara manipulationssäkra, åtkomstkontrollerade och behållas enligt datakänslighet. Vanliga utvecklingssessioner kan kräva nittio dagars retention, medan sessioner som kommer åt release-system, reglerad data eller högvärdesarkiv kan kräva ett år eller längre.
OpenAI beskriver intern övervakning som granskar kodningsagentinteraktioner, verktygsanrop och potentiellt misstänkt beteende, medan GitHub betonar sessionsloggar, signerade commits, attribuering och revisionsregister. Dessa mönster stöder en bredare princip: agentens beteende måste kunna observeras oberoende av agentens egen förklaring av vad den gjorde. (openai.com)
Det första praktiska steget
Det bästa första steget är att inte driftsätta en agent mot ett produktionsarkiv.
Istället:
- Skapa ett engångstestarkiv.
- Ge agenten en läsbar uppgift.
- Kör den inuti en färsk sandlåda.
- Stäng av åtkomst till utvecklarautentiseringsuppgifter.
- Blockera all nätverkstrafik utom modellleverantören.
- Lägg till ett medvetet skadligt ärende, readme-instruktion, verktygsbeskrivning och konfigurationsfil.
- Registrera varje försök till filåtkomst, verktygsanrop, kommando och nätverksförfrågan.
- Använd resultaten för att skapa ditt första behörighetsmanifest och säkerhets-serviceavtal.
Om agenten inte säkert kan slutföra en läsbar uppgift under dessa förhållanden, är den inte redo för skrivåtkomst, release-automatisering eller produktionssystem.
Slutsats
Autonoma kodningsagenter bör säkras som opålitliga, identitetsbärande automationssystem, inte som vanliga utvecklarverktyg.
Den avgörande säkerhetsfrågan är inte:
“Kommer modellen att följa de korrekta instruktionerna?”
Den är:
“Vad händer om modellen följer fel instruktion samtidigt som den har verkliga behörigheter?”
Prompt-injektion, verktygsutnyttjande, hemlighetsstöld, datapåverkan och kompromiss av leveranskedjan är olika ingångspunkter till samma underliggande fel: en agent tillåts korsa för många förtroendegränser utan oberoende tillämpning.
Incidenterna 2025 och 2026 visar att de mest effektiva kontrollerna är arkitektoniska:
- Håll agenter borta från hemligheter.
- Använd engångskapacitets-sandlådor.
- Tillämpa policyer utanför modellen.
- Separera utveckling från produktion.
- Behandla konfiguration och minne som körbara attackytor.
- Använd kontrollerad utgående trafik.
- Ta bort delade cacher från privilegierade release-arbetsflöden.
- Pinna och verifiera varje verktyg och artefakt.
- Iscensätt alla skrivningar.
- Kräv oberoende godkännande för oåterkalleliga åtgärder.
- Bevara detaljerade, manipulationssäkra revisionsregister.
Autonomi kan vara användbart och säkert, men bara när systemet är utformat så att en förvirrad, manipulerad eller komprometterad agent har begränsad auktoritet, begränsad räckvidd, begränsad tid och ett tydligt återställningsbart felfall.
Auto