
GhostApproval: Sex AI-kodassistenter bad om tillåtelse och angav fel fil
- OrcaNYOrcaCyber: MiniMax M3.1 Flash Abliterated / Uncensored2026-10-29101 tok/s
- OrcaNYOrcaCyber: GLM 5.3 Flash Abliterated / Uncensored2026-10-27$0.80 / $1.60 per 1M tokens · 103 tok/s
- OrcaNYOrcaCyber: Qwen3.8 Flash Next Abliterated / Uncensored2026-10-26$0.80 / $1.60 per 1M tokens · 291 tok/s
- OrcaNYOrcaCyber: MiMo V2.6 Flash Abliterated / Uncensored2026-10-26$0.80 / $1.60 per 1M tokens · 94 tok/s
- MoonshotNYMoonshotAI: Kimi K3.1 Pro2026-10-2446Intelligens
- OrcaNYOrcaCyber: DeepSeek V4.1 Flash Abliterated / Uncensored2026-10-23$0.80 / $1.60 per 1M tokens · 107 tok/s
- minimaxNYMiniMax: M3.1 Flash2026-10-1929Intelligens
- OrcaNYOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 per 1M tokens · 71 tok/s
- deepseekNYDeepSeek: DeepSeek V4.1 Flash 10172026-10-1733Intelligens
- DeepSeekNYDeepSeek: DeepSeek V4.1 Flash2026-10-1740Intelligens
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 per 1M tokens · 96 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2955Intelligens
- anthropicAnthropic: Claude Sonnet 5.52026-09-2854Intelligens
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 per 1M tokens · 170 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2228Intelligens
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Intelligens
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Intelligens
- xiaomiXiaomi: MiMo-V2.6-Flash2026-09-2127Intelligens
- xiaomiXiaomi: MiMo-V2.6-Pro2026-09-2130Intelligens
- xAIGrok 4.72026-09-2134Intelligens
Den 8 juli 2026 publicerade säkerhetsföretaget Wiz GhostApproval, ett forskningsresultat där en symbolisk länk som planterats i ett kodförråd fick sex AI-kodassistenter att skriva utanför sin arbetsyta – till ~/.ssh/authorized_keys, vilket ger beständig SSH-åtkomst utan lösenord, eller till ~/.zshrc, vilket körs vid nästa skalstart – medan bekräftelsedialogrutan endast angav den ofarliga filen som länken utgav sig för att vara. Wiz testade Amazon Q Developer, Claude Code från Anthropic, Augment, Cursor, Google Antigravity och Windsurf och rapporterade mönstret i alla sex. Det har inte rapporterats något utnyttjande i verkligheten: arbetet är en demonstration av konceptet och arkivposten registrerar ingen faktisk skada. Tre leverantörer släppte korrigeringar, två bekräftade rapporten och svarade sedan inte mer, och en bestred att beteendet överhuvudtaget var en sårbarhet. Orca AI Incident Archive innehåller hela registreringen för detta forskningsresultat tillsammans med de andra poster som är registrerade under dess typetikett SANDBOX.
Själva primitiven är inget nytt. Följning av symboliska länkar, katalogiserad som CWE-61, har varit en attackprimitiv i decennier – Wiz listar tidigare användningar i kapplöpningsvillkor, pakethanterare och containerutbrytningar – och var och en av dem byggde på att ett verktyg skrev till en användarkontrollerad sökväg utan att först lösa upp den. Det som gjorde denna upptäckt värd ett namn är det andra lagret: i flera produkter identifierade assistentens eget resonemang den farliga destinationen, och prompten som visades för människan dolde den. Wiz registrerar det som CWE-451, missvisande återgivning av kritisk information i användargränssnittet. Säkerhetsgränsen fanns där. Informationen som en person behövde för att använda den fanns inte.
Hur tricket fungerar, och vad det landar på
Wizs skadliga repo är avsiktligt tråkigt. Det innehåller en symbolisk länk med namnet project_settings.json som pekar på utvecklarens SSH-fil för auktoriserade nycklar, samt en README som instruerar agenten att uppdatera den "config" medan arbetsytan ställs in. När utvecklaren ber assistenten följa README följer agenten länken och skriver angriparens publika nyckel. Om datorn kör en SSH-tjänst som angriparen kan nå är det inloggning utan lösenord från och med då. En andra variant pekar samma lockbete mot ~/.zshrc, så nyttolasten körs nästa gång en terminal öppnas och ingen SSH-åtkomst behövs alls.
Wiz beskrivning av det tekniska felet är kort: sandlådan, där en sådan finns, validerar inte den kanoniska sökvägen, så en skrivning som riktas inuti projektet hamnar där länken pekar. Företagets proof of concept återskapade detta hos ”6 av de främsta AI-kodassistenterna”, i företagets egen formulering, och företaget publicerade skärmbilder för var och en. De som påverkas är alla som öppnar ett repository som de inte själva har skapat i ett av dessa verktyg – vilket i ett normalt utvecklararbetsflöde omfattar forkade projekt, tredjepartsberoenden och all kodgranskning av en extern bidragsgivares gren.
Dialogrutan som angav fel fil
Det tydligaste beviset kom från Claude Code. I Wizs test angav agentens resonemang, enligt företagets citat: ”Jag kan se att project_settings.json faktiskt är en zsh-konfigurationsfil.” Behörighetsfrågan som användaren såg löd: ”Gör den här ändringen i project_settings.json?” Agenten visste vart skrivningen skulle ske; personen som auktoriserade den visste det inte. Wiz kallar det resulterande samtycket ”innehållsmässigt tomt” och kontrollen med människan i loopen för en gummistämpel.
Tre produkter gjorde gapet värre än en dålig märkning. Windsurf skrev filen till disken innan knapparna Acceptera och Avvisa dök upp, så dialogen var ett ångraerbjudande snarare än en auktoriseringsspärr — när en användare kunde avböja hade nyckeln, enligt Wiz, redan hamnat på plats. Amazon Q Developer visade samma ordning och erbjöd endast en Ångra-knapp efter skrivningen. Augment frågade inte alls: Wiz demonstrerade en läsning via symbolisk länk som visade en falsk AWS-autentiseringsfil från utanför projektet i chattloggen, och en skrivning via symbolisk länk till ~/.ssh/authorized_keys utan någon som helst dialog. I andra änden visade Cursor och Google Antigravity den oupplösta sökvägen och begärde ett klick som auktoriserade den upplösta.
Wiz första testkörning genomfördes den 10 februari 2026 och rapporterna skickades ut mellan den 12 februari och den 5 mars. Tidslinjen för offentliggörandet dokumenterar bekräftelserna: Anthropic den 15 februari, Augment den 24 februari, Google den 26 februari, Cursor den 2 mars, AWS den 6 mars och Cognition, som äger Windsurf, den 23 juni. Det offentliga offentliggörandet följde ungefär fem månader efter den första rapporten.

Sex leverantörer, tre svar
Wiz bedömer fynden enligt sin egen allvarlighetsgradsskala, från High hos AWS till Critical hos Augment, Cursor, Google Antigravity och Windsurf. Tre leverantörer behandlade rapporten som en sårbarhet och släppte en rättning. Arkivet betygsätter posten som hög allvarlighetsgrad och A i tillförlitlighet, och de primära säkerhetsrådgivningarna instämmer med Wiz om mekanismen.
• Amazon Web Services. Hög allvarlighetsgrad, spårat som CVE-2026-12958 och åtgärdat i Language Servers for AWS 1.69.0. AWS:s egen bulletin 2026-047-AWS, publicerad den 23 juni 2026, bekräftar "ett problem med saknad validering av symboliska länkar" före 1.69.0 och listar de minsta pluginbyggen som innehåller korrigeringen: Amazon Q Developer for Visual Studio Code 2.20, för JetBrains 4.3, för Eclipse 2.7.4 och AWS Toolkit with Amazon Q for Visual Studio 1.94.0.0. Det står att det inte finns några tillfälliga lösningar, att språkservern uppdateras automatiskt om inte en nätverkskonfiguration förhindrar det, och tackar Wiz för det koordinerade offentliggörandet. CNA-posten ger problemet 8,5 enligt CVSS 4.0 och 7,8 enligt CVSS 3.1.
• Cursor.Kritisk, spårad som CVE-2026-50549 och åtgärdad i Cursor 3.0. Posten publicerades av GitHub som CNA den 25 juni 2026 med 9,3 enligt CVSS 4.0. Dess beskrivning framställer angriparen något annorlunda än Wizs repositoryberättelse: en skadlig agent skapar en symlänk i arbetsytan och tvingar sökvägskanonisering att misslyckas, antingen för att målet inte finns eller för att läsbehörighet har tagits bort från sökvägen, varefter skrivningen faller tillbaka till den ursprungliga sökvägen utan godkännande och kan skriva över sandbox-hjälparen för körning utan sandbox.
• Google. Wiz bedömer Antigravity som kritiskt och registrerar rättelsen som version 1.19.6, driftsatt den 22 maj 2026. I dess allvarlighetskolumn står det "Pending", och enligt Wiz redogörelse övervägde Google huruvida ett CVE skulle utfärdas; inget CVE-id för Antigravity förekommer i den offentliga förteckningen.
• Augment.Kritisk enligt Wizs bedömning, testad på 0.754.3, bekräftad den 24 februari 2026 och opatchad vid publiceringen. Cloud Security Alliances forskningsnot om fyndet återger Augments motargument att en agent arbetar under användarens egna autentiseringsuppgifter.
• Windsurf. Kritisk enligt Wiz bedömning, testad på version V1.9566, bekräftad av Cognition den 23 juni 2026 och inte patchad vid publiceringstillfället.
• Anthropic. Bestridd. Ingen CVE, och den testade versionen av Claude Code, 2.1.42, finns i Wizs tabell med statusen "Rejected".

Anthropics avslag, och åtgärden som föregår rapporten
Anthropics svar till Wiz var ett genomtänkt nej. "Detta faller utanför vår nuvarande hotmodell", skrev företaget enligt Wizs citat. "När användaren först startar Claude Code i en katalog måste användaren bekräfta att den litar på katalogen innan sessionen startas. Det scenario du beskriver innebär att en användare uttryckligen bekräftar en behörighetsförfrågan i en katalog som innehåller en skadlig symbolisk länk, vilket faller utanför Claude Codes hotmodell." Ärendet stängdes som "Informative".
Det resonemanget har en sammanhängande form: användaren litade på katalogen och godkände sedan åtgärden, så båda samtyckestillfällena respekterades. Wiz invändning är att informerat samtycke kräver korrekt information – att godkänna project_settings.json medan skrivningen hamnar i ~/.ssh/authorized_keys är formellt sett ett beslut och i sak ett tomt sådant. Wiz gör inte anspråk på att ha avgjort vilken ståndpunkt som är rätt, och det gör inte den här artikeln heller. Den praktiska iakttagelsen är att AWS, Google och Cursor intog den andra uppfattningen och patchade.
Wiz rapporterade också att Claude Code hade förändrats under tvistens gång: enligt företaget löser nuvarande versioner symboliska länkar och varnar innan de skriver till känsliga filer, och det noterade att Anthropic avstod från att säga om det hade samband med rapporten. Den 7 juli 2026 gav Anthropic en korrigering, citerad av Wiz: "Varningen för symboliska länkar i behörighetsdialogrutan för Edit/Write kom med i v2.1.32 (5 feb. 2026), nio dagar innan denna rapport skickades till oss. Den lades till som en del av proaktiv säkerhetshärdning baserad på intern granskning. Avståendet från att kommentera var ett autosvar från vårt triagesystem."
Versionsangivelsens tidsuppgifter stämmer; den offentliga dokumentationen över vad som ändrades gör det inte. Claude Code 2.1.32 publicerades i npm-registret den 5 februari 2026 kl. 17:03 UTC, vilket är nio dagar före rapporten den 14 februari, precis som Anthropic säger. Men den offentliga ändringsloggposten för den utgåvan listar tolv ändringar, bland annat agentteam, minnesinspelning och flera gränssnittsfixar, och ingen av dem nämner symbollänkar eller behörighetsdialoger. De första ändringsloggraderna som beskriver exakt detta beteende är mycket senare: version 2.1.280, publicerad i npm den 22 september 2026, registrerar "Rättade skrivningar genom en symbollänkad sökväg som bedömdes efter sin stavning i trädet: prompten anger var skrivningen hamnar", och 2.1.287 den 1 oktober 2026 registrerar att en skrivning från skalet via en i repositoriet incheckad symbollänk till en känslig fil nu anger var den hamnar och väntar på en person. Wizs egen observation att 2.1.173 och senare löser upp symbollänkar ligger också efter rapporten, eftersom 2.1.173 släpptes den 11 juni 2026.
Vad som är fastställt, och vad som inte är det
• Fastställt. Mekanismen: en lockbetes-symlink i ett repository, en agent som följer den, en skrivning som hamnar utanför arbetsytan och en bekräftelseyta som anger fel sökväg. Wiz reproducerade det i alla sex produkter och publicerade skärmdumpar. Det finns två CVE-poster och de är publicerade av sina CNA:er, och AWS:s bulletin bekräftar oberoende hålet i versioner före 1.69.0 och fixen. Anthropic bestrider inte att beteendet inträffade; företaget bestrider att det är en sårbarhet.
• Endast en källa. Allvarlighetsbetygen för Augment, Windsurf och Google Antigravity är Wizs bedömningar, inte CNA-poäng, eftersom ingen CVE publicerades för någon av de tre. Påståendet att Windsurf och Amazon Q skriver innan dialogrutan visas vilar på Wizs skärmbilder och redogörelse; ingen leverantör har offentligt bekräftat ordningen.
• Omstritt. Huruvida ett verktyg är skyldigt sin användare skydd mot en vilseledande arbetsyta, eller huruvida katalogförtroende plus ett klick avgör frågan. Anthropic säger det senare; Wiz säger att prompten den visade gjorde klicket meningslöst. Arkivet flaggar inte posten som omstridd: fakta är överenskomna och endast tolkningen är omtvistad.
• Inte fastställt. Om Augment och Windsurf har åtgärdat felet sedan publiceringen. All den rapportering som granskats för den här artikeln, inklusive Cloud Security Alliance-noten från den 15 juli 2026, beskriver fortfarande båda som oåtgärdade; inget offentligt meddelande om åtgärd från någon av leverantörerna hittades.
Själva datumet har en liten hake. Wiz inlägg och dess tidslinje för offentliggörandet anger båda 8 juli 2026, Infosecurity Magazine beskriver konceptbeviset som publicerat den 7 juli och sin egen rapport som publicerad den 9 juli, och arkivposten är daterad till 9 juli 2026 med dagsprecision. Fyndet, rapporteringen och arkivet är inte oense om veckan; de skiljer sig åt om dagen med upp till två dagar.
Tidigare arbete kring en av de sex förtjänar separat erkännande. CSO Onlines Evan Schuman noterade i en text den 9 juli 2026 att Cato Networks hade rapporterat en Cursor-specifik version av sårbarheten före Wiz bredare studie. SecurityWeeks redogörelse för den forskningen, publicerad den 3 juli 2026, kallar den DuneSlide, tilldelar paret CVE-2026-50548 och CVE-2026-50549, poängsätter båda till 9,8 och daterar Cursor 3.0-versionen som rättade dem till den 2 april – siffror som inte stämmer med Wiz tidslinje, enligt vilken Cursors rättelse publicerades den 5 juni, eller med CNA-posten som publicerades den 25 juni med 9,3. 9,8 och 9,3 är två poängsättningar av samma sårbarhet; datumen i april och juni kan beskriva en utgåva och ett säkerhetsmeddelande snarare än att de är oense om när patchen släpptes.
Vad förändrades efteråt?
Konkret: Amazon Q Developer-användare flyttades till språkserver 1.69.0, automatiskt i de flesta konfigurationer; Google Antigravity-användare till 1.19.6 från och med den 22 maj 2026; Cursor-användare till 3.0; och Claude Code-användare till en version som löser länkar, med ytterligare ändringar av prompttroheten som införs i 2.1.280 och 2.1.287 under september och oktober 2026. Augment- och Windsurf-användare fick, enligt den information som fanns tillgänglig vid publiceringen, ett datum att hålla utkik efter och inget annat.
Wiz egna rekommendationer var snäva och tekniska: lös upp symlänkar innan en prompt visas, varna uttryckligen när den upplösta sökvägen faller utanför arbetsytan och skriv aldrig till disk före uttryckligt godkännande, så att dialogrutan är en grind snarare än en ångra-knapp. Noten från Cloud Security Alliance tillför en styrningsram – behandla kodassistenter som privilegierad programvara med filsystem åtkomst snarare än som redigerarplugin-program, och fråga leverantörerna direkt om sökvägar löses upp innan en bekräftelse visas. IDC:s Katie Norton, citerad av CSO Online, placerade den kvarvarande risken där leveranskedjan redan löper: externa bidragsgivare, förgrenade repon och tredjepartsberoenden, "snarare än i internt skriven kod".
Det som står öppet är designfrågan, inte buggen. Sex produkter som byggts oberoende av varandra konvergerade på samma sekvens – visa den begärda sökvägen, lita på klicket – och avvikelsen efteråt handlade om ansvarsskyldighet, inte om mekanismen. Arkivposten bär en landmärkesflagga, vilket är arkivets bedömning att posten beskriver en kategori snarare än en enskild leverantörs misstag, och det är svårt att argumentera mot den tolkningen: samma korta proof of concept fungerade sex gånger.

