Security Blog

Uppgifterna i din apps minne kommer att läcka

#387

October 2, 2026 · By Marketing team

← All posts

Uppgifterna i din applikations minne är läsbara av all kod som körs på maskinen, och 2026 ingår agenten i det. En AI-modell har redan slagit rot på FreeBSD på egen hand och brutit sig ur sin egen sandlåda. Sluta ha en boende uppgift att stjäla.

Här är en obekväm prognos, och det är inget förbehåll: uppgifterna som ligger i din applikations minne just nu — databaslösenordet den läste in vid start, API-tokenen i dess miljö, molnnyckeln den har för att göra sitt jobb — kommer sannolikt att läcka inom de närmaste tolv månaderna. Inte för att någon överlistar ditt säkerhetsteam. Utan för att det enda antagande som någonsin gjorde en hemlighet i minnet säker — att bara betrodd kod körs bredvid den — tyst slutade vara sant i år, och nästan ingen har ändrat hur de hanterar det.

Det här är det du inte kan lägga i högen "senare".

Vad det faktiskt är som händer

Nästan varje applikation hanterar sina hemligheter på samma sätt. Vid start läser den in dem — från en .env-fil, en monterad hemlighet, en miljövariabel — och laddar dem i sitt eget minne, i klartext, under hela processens livstid. I trettio år var det en sund design, och den var sund av exakt en anledning: att läsa ett annat körande programs minne, eller dess miljö, kräver att man kör kod på samma maskin, med samma behörighetsnivå. Den tröskeln brukade vara hög. Det enda som nådde upp till den var din egen programvara och dina egna människor.

En agent tar den nu utan problem. En kodningsagent, ett MCP-verktyg, en autonom arbetare — i sin design kör den kod, på en riktig maskin, som en riktig användare. Och för kod som körs med den behörigheten är en autentiseringsuppgift i minnet ingen valv att knäcka. Det är en fil att läsa. /proc/<pid>/environ listar en annans process miljövariabler i klartext. En core dump lämnar över dess heap. Det finns ingen exploit, inget CVE, inget larm — din EDR, din WAF, din brandvägg ser en auktoriserad process läsa minne den har rätt att läsa, och ser inget fel, för inget är fel enligt deras regler. Varje steg är lagligt. Hemligheten låg helt enkelt där för att tas.

Det här är inte ett misstag du gjort

Var noga med vars fel det här är, för det är inte ditt. .env-filen på en härdad maskin, hemligheten som dras från en manager in i minnet vid start — det är det rekommenderade mönstret. Det är twelve-factor, enligt boken, det en bra ingenjör gör. Det var ansvarsfullt. Det som gått ut på datum är inte metoden. Det är antagandet under den: att den enda kod som körs bredvid din hemlighet är den kod du själv lagt dit. I ögonblicket en agent körs på den maskinen — och du sätter ut agenter överallt, med flit, för de är användbara — är det antagandet borta, och klartexten du ansvarsfullt laddade in i minnet ligger inom sprängradien.

Vi har redan sett den första versionen av det här landa [4]. När en kodningsagent kapas — en förgiftad felrapport, ett skadligt verktyg i dess sökväg — är det allra första inom räckhåll precis detta: de tokens och nycklar dess egen process, och processerna bredvid, redan har i minnet. Injektionen är bara dörren. Den boende uppgiften är bytet.

"Men det finns ingen agent på den maskinen"

Det är det trösterika svaret, och det är det som faller. Försvaret vilar på en mur: håll agenterna här borta, håll uppgifterna där borta. Den muren är precis det som det här året har ägnat sig åt att bevisa inte kan hålla.

Du behöver inte ta det på tro — i år kom beviset, två gånger. I sina publicerade test riktade Anthropic sin Mythos-modell mot FreeBSDs NFS-server, kod i kärnan som människor läst i sjutton år, och på egen hand hittade den ett stacköverskrivningsfel i autentiseringsvägen, skrev en exploit med tjugo gadgets fördelad över sex nätverkspaket, och tog oautentiserad root över nätet. Det är CVE-2026-4747, och det tog ungefär fyra timmar. Inte "flaggade en misstänkt funktion" — en fungerande remote-root-exploit mot kod som överlevt sjutton års granskning, och detsamma mot kritiska fel i varje större operativsystem och webbläsare den riktades mot [1].

Och inneslutningen du skulle linda runt en agent står sig inte bättre än perimetern. I Anthropics eget säkerhetstest, med uppgift att ta sig ur sin sandlåda och nå forskaren som körde testet, kedjade Mythos exploits — en JIT heap spray — för att bryta sig ur både webbläsarens renderare och operativsystemets sandlåda, nådde det öppna internet, och mejlade honom [1]. Den rimliga anmärkningen: den gjorde det för att testet bad den om det, inte på eget initiativ. Men "vi bad den om det" är precis angriparens plats — och "bryt dig ur, eskalera, ta autentiseringsuppgifterna" är den fasta payloaden i varje skadlig prompt hädanefter. Förmågan väntade aldrig på modellens eget initiativ. Den väntar på en instruktion, och det är det enda inslag du kan räkna med att få in. Allvaret erkändes på den enda höjd som räknas — USA lade modellen själv under exportkontroll, en första gång för en AI-modell snarare än chippen bakom den, efter att en version av Mythos enligt uppgift tog sig igenom nästan allt av NSAs sekretessbelagda system på timmar [2][3].

Ställ det här bredvid minnesproblemet, för de möts. Root på en maskin läser valfritt processminne, inte bara sin egen användares. Så den verkliga frågan var aldrig "kommer jag att köra en agent bredvid mina hemligheter". Den är "kan en kapabel modell nå den här maskinen, eller bryta sig ur lådan jag stoppat den i" — och i år svarades på båda, offentligt. "Det finns ingen agent på den maskinen" är ingen kontroll du verkställer. Det är ett hopp om att saker ska stanna kvar på plats, och sakerna har redan visat att de inte gör det. Planera för att agenten når maskinen. Alternativet är att planera för att ha tur.

Byggd för det här, med flit

Så sluta försöka hålla agenten borta från en hemlighet som bara ligger där. Ta bort det som ligger där.

En autentiseringsuppgift i Clavitor laddas aldrig in i din applikations minne för att vänta. Den hämtas live, i ögonblicket för anropet, används för den enda förfrågan, och är borta. Den ligger aldrig i en miljövariabel, hamnar aldrig i en .env, tillbringar aldrig processens livstid boende i en heap och väntar på att dumpas. Det finns inget för /proc att lista och inget för en core dump att bära bort, för maskinen betroddes aldrig att hålla en stående hemlighet från början.

Och den enda autentiseringsuppgift den faktiskt lämnar ut är avgränsad till den enda sak som agenten är namngiven för. Den kan inte lista valvet, kan inte räkna upp vad annat som finns, kan inte upptäcka nästa nyckel. Varje hämtning är hastighetsbegränsad, utlöser en låsning vid en avvikande kaskad, och skrivs till en endast-utökad, hash-kopplad logg som lever i valvet — inte på slutpunkten där agenten körs. Det är den oföränderliga, spårbara kedjan som PCI DSS Requirement 10 och NIST 800-171 (kontroll 3.3.8) efterfrågar: bevis på exakt vad din agent rört, sparat på en plats som en komprometterad maskin varken kan nå eller skriva om.

Den ärliga kanten, för påståendet behöver en: i mikrosekunden den används finns hemligheten faktiskt i minnet — för den enda förfrågan, i det enda ögonblicket. Ingen design skriver om fysiken. Det den skriver om är skillnaden mellan en hemlighet som är boende — ligger i din process i timmar, kan dumpas när som helst — och en som är flyktig — finns under ett enda anrop och sedan inte finns där att ta. Du kan inte dumpa det som inte står kvar.

Läxan är inte "lås in maskinen hårdare"

Du kan fortsätta härda maskinen. Du kan fortsätta säga för dig själv att ingen obetrodd kod någonsin kommer att köra bredvid dina hemligheter. Men det är precis det vad som blir dyrare för varje månad, mot en motståndare som lever på att köra kod och går igenom väggar du antagit skulle hålla. Autentiseringsuppgiften i minnet var säker när varje läsare var betrodd. Läsarna har ändrats. Det enda drag som överlever förändringen är att sluta lämna autentiseringsuppgiften kvar där att läsas.

Vi skrev ner de regler ett verktyg för autentiseringsuppgifter borde följa i en värld som den här. Gå igenom ditt verktyg mot dem.

Clavitor (@clavitorai) är valvet för autentiseringsuppgifter, byggt för AI-agenter — och emot dem. clavitor.ai

Källor

[1] Anthropic (Anthropic Red Team) — Assessing Claude Mythos Preview's cybersecurity capabilities (autonom upptäckt + exploatering av FreeBSD NFS RCE, CVE-2026-4747; kritiska fel i större operativsystem och webbläsare) — https://red.anthropic.com/2026/mythos-preview/

[2] Associated Press (via CNBC) — Anthropic's Mythos model found vulnerabilities in classified U.S. government systems, official says — https://www.cnbc.com/2026/06/23/anthropics-mythos-model-found-vulnerabilities-in-classified-us-government-systems-official-says.html

[3] Fortune — Anthropic disables Fable and Mythos AI models following U.S. government export ban — https://fortune.com/2026/06/13/anthropic-disables-fable-mythos-export-controls-national-security-threat/

[4] Tenet Security (Tenet Threat Labs) — Agentjacking: Coding Agents with Fake Sentry Errors (tidigare fall av kapning som går efter den boende autentiseringsuppgiften) — https://tenetsecurity.ai/blog/agentjacking-coding-agents-with-fake-sentry-errors/