«Feilen stammer fra en trust-boundary-svikt i hvordan utvidelsen håndterer kommunikasjon mellom skript som kjører på claude.ai og selve utvidelsen.» — Aviad Gispan, sikkerhetsforsker i LayerX
LayerX rapporterte feilen til Anthropic 27. april og fikk svar dagen etter om at saken allerede var kjent internt. Utvidelsen, som ble lansert i april og har over 7 millioner installasjoner i Chrome Web Store, lente seg på Chromes externally_connectable-mekanisme: den stolte på alle skript som kjørte under claude.ai-origin uten å verifisere at skriptet faktisk kom fra Anthropic eller var injisert av en annen utvidelse.
Proof-of-concept-angrepene LayerX kjørte er konkrete. En utvidelse uten erklærte permissions kunne dele sensitive Google Drive-filer eksternt, sende e-post via Gmail, hente ut kode fra private GitHub-repoer og oppsummere innboks-meldinger før den slettet sporene. Forskerne fant også at Claudes godkjenningsdialog kunne omgås via «approval looping» (repeterte automatiske bekreftelsesforespørsler), og ved å manipulere DOM-elementer slik at farlige knapper fremsto som harmløse.
Versjon 1.0.70 av utvidelsen patchet bare deler av problemet. LayerX rapporterer at angripere fortsatt kan omgå beskyttelsen ved å misbruke Claudes «Act without asking»-modus eller utløse alternative side-panel-flyter som gjenoppretter den autonome oppførselen. Trust-modellen er altså ikke fikset i sin kjerne.
For utviklere som bygger egne nettleserintegrasjoner mot KI-agenter er dette en konkret påminnelse om at externally_connectable ikke er en tilstrekkelig autentiseringsmekanisme. LayerX anbefaler signerte meldinger, restriksjoner til kjente extension-ID-er, og engangs-godkjenninger som ikke kan replays.
Hva bør du gjøre?
- Skru av «Act without asking»-modus i Claude-utvidelsen til Anthropic publiserer en ny versjon som adresserer side-panel-flyten.
- Gå gjennom Chrome-utvidelsene dine og fjern alt du ikke aktivt bruker. Sårbarheten lar enhver utvidelse uten permissions misbruke Claudes tilganger.
- Hvis du bygger en MCP- eller browser-agent-integrasjon selv: signer meldingene mellom content-script og background, valider sender-ID, og bind brukergodkjenninger til engangstokens som ikke kan repliseres.