Abstract illustration på ett djupt marinblått-svart fält: en liten matt svart hexagonal modul längst till vänster sänder ut fem hårfina glödande cyanfibrer som strålar ut åt höger, var och en träffar ett separat högt facetterat glasprisma som står på ett borstat stålgolv. Varje prisma rymmer en cylindrisk inre kammare som lyses blekblå inifrån; tre av de fem har även en varm bärnstensglöd bredvid den blå kärnan, och två är enbart blå. Volumetrisk dimma, kantljus, kort skärpedjup. Ingen text, inga siffror, inga människor eller organisationslogotyper förekommer. OrcaRouter-logotypen är sammansatt i det nedre högra hörnet.
AI Safety Incidents

BragJack: ett webbläsartillägg kapar AI-agenterna i fem stora webbläsare

Författare

Gideon Frost

Publiceringsdatum

Senaste modellerna · 20Visa alla modeller →
Benchmarks: Artificial Analysis · uppdateras dagligen
Tillbaka till alla inlägg

Den 16 september 2026 publicerade Gal Weizman, säkerhetsforskare på Forever Security, BragJack: ett proof of concept där ett vanligt webbläsartillägg – ingen nolldag, ingen jailbreakad modell, ingen komprometterad leverantörsserver – tog kontroll över de AI-agenter som är inbyggda i fem Chromium-baserade produkter: Gemini Live i Google Chrome, Copilot i Microsoft Edge, Opera Neon, Perplexity Comet och Claude i Chrome. Tillägget begärde inget märkvärdigt. Det använde content scripts och Chromiums declarativeNetRequest-API, samma två behörigheter som finns i de flesta annonsblockerare, för att nå den privata kanal som varje leverantörs egen webbplats använder för att skicka instruktioner till sin agent. Weizman rapporterar att Comet var den mest omfattande komprometteringen, att Google och Microsoft släppte rättningar och tilldelade CVE-2026-0628 och CVE-2026-55945, och att inga attacker i det vilda har observerats. Det är katalogiserat som en sårbarhet, allvarlighetsgrad hög, i AI-incidentarkivet, där varje post har sina källor, sin förtroendegrad och sin markering för omtvistad status.

Tillägget bröt inte modellen. Det bröt kanalen.

Alla fem produkter är byggda på samma sätt, enligt det tekniska följedokument som Forever Security publicerade samma dag. Var och en har en "kropp" inuti webbläsaren som kan öppna flikar, läsa lokala filer, ta skärmbilder och klicka på sidor, och en "hjärna" utanför webbläsaren som avgör vad kroppen ska göra — Googles Gemini-servrar för Chrome, perplexity.ai-webbappen för Comet, copilot.microsoft.com för Edge, Anthropics backend för Claude i Chrome. Kroppen är utformad för att ta emot instruktioner från exakt ett ursprung: leverantörens egen webbplats. Det enda betrodda ursprunget är hela säkerhetsmodellen. Det är också det som ett webbläsartillägg får röra.

Chromium ger alla installerade tillägg två befogenheter som är nära nog universella. Ett innehållsskript låter det köra JavaScript inuti en sida. API:et declarativeNetRequest, eller DNR, låter det skriva om nätverkstrafik – ta bort ett svarshuvud, omdirigera en skriptförfrågan till en annan server. Webbläsare lägger verklig ansträngning på att hålla dessa två befogenheter borta från privilegierade ytor, och fyra av de fem leverantörerna hade gjort en del av det arbetet. Det Weizman fann, i varje fall, var en lucka i den del de hade lämnat öppen.

Han kallar den allmänna tekniken DinNeR Serving: använd DNR för att försvaga säkerhetsheaders på en betrodd sida, använd sedan DNR igen för att omdirigera en av sidans skriptförfrågningar till en server som angriparen kontrollerar. Sidan kör nu angriparens kod, men den tror fortfarande att den är leverantörens sida, och agenten tror fortfarande att den hör från leverantören. I Chrome rapporterar Weizman att tillägg korrekt blockerades från att koppla ett innehållsskript eller en felsökare till den inbäddade Gemini-appen, och att DNR var den enda mekanismen som Chromium inte hade utökat samma skydd till inuti en WebView. Att ta bort Content-Security-Policy och lätta på dokumentisolationspolicyn räckte för att byta ut ett skript som serverades från gstatic.com mot hans eget, och inifrån chrome://glic kunde han sedan skicka webbläsaragentens egna meddelandetyper direkt – skapa en flik på en file:///-adress, läsa tillbaka den som text, PDF eller skärmbild, och hämta e-postadressen och bilden för den inloggade profilen.

Vad samma tillägg gjorde, webbläsare för webbläsare

Tillägget var inte fem verktyg. Det var en enda manifestfil som begärde declarativeNetRequest och bred värdåtkomst, plus en separat regelfil för varje mål; endast reglerna ändrades mellan attackerna. Forever Securitys egen tabell är den tydligaste sammanfattningen av vad varje kedja uppnådde, och den återges nedan. Raden som är viktigast är Agent hijack: i fyra av de fem var det demonstrerade resultatet inte datastöld utan kontroll över en agent som kunde agera på användarens vägnar inom inloggade sessioner.

Impact table card titled 'One extension, five targets', subtitled 'Per Forever Security's own impact table, reproduced without additions.' Five columns are headed Chrome with the sub-label Gemini Live, Comet with Perplexity, Edge with Copilot, Opera with Neon, and Claude with in Chrome. Eight rows read: Local file access, Yes for Chrome and Comet and a dash for the other three; Microphone and camera, Yes for Chrome only; Agent hijack, a dash for Chrome and Yes for the other four; Browser profile leak, Yes for Chrome and Comet; Browsing history leak, Yes for Comet only; Screenshots of tabs, Yes for Chrome and Comet; Zero clicks after install, Yes in all five columns; and CVE assigned, reading 2026-0628 under Chrome, 2026-55945 under Edge and a dash elsewhere. An amber footer strip reads 'No entry in this table has been independently reproduced; the per-browser chains are the researcher's account.'

Dessa kedjor per webbläsare är den del av BragJack som ingen utomstående part har kontrollerat. BleepingComputer, Cyber Security News, Cloud Security Alliance och Thailands nationella CERT rapporterade alla om avslöjandet, och alla beskriver mekaniken på samma sätt, men var och en av dem beskriver Forever Securitys redogörelse i stället för att testa den. ThaiCERT:s meddelande av den 21 september 2026 anger BleepingComputer som sin källa. Det som följer är därför Weizmans redogörelse för sitt eget proof of concept, vilket är vad ett avslöjande är, och inte ett oberoende reproducerat resultat.

Perplexity Comet: en testdomän som fortfarande finns kvar på förtroendelistan

Comet var den sämsta av de fem enligt forskarens egen rangordning, och orsaken är strukturell snarare än ett kodfel. Perplexity byggde en webbläsare där agenten har webbläsarens egna behörigheter, så en kapad agent ärver dem alla. Perplexity hade också gjort det skyddsarbete som de andra hade hoppat över: tillägg blockeras helt från att köras på perplexity.ai, vilket är anledningen till att Weizman säger att annonsblockerare inte fungerar där.

Luckan fanns i agenttilläggets lista över vilka ursprung det skulle acceptera kommandon från. Enligt den tekniska redogörelsen innehöll listan tio poster, inte en enda – perplexity.ai och dess www-variant, plus testing-, staging- och preview-värdar på både perplexity.com och perplexity.ai. Endast produktionsvärdarna hade härdats. testing.perplexity.com accepterade fortfarande innehållsskript. Det återstående hindret var att var och en av dessa domäner svarade med en 302-omdirigering till perplexity.ai, så webbläsaren aldrig landade på testsidan tillräckligt länge för att ett skript skulle hinna kopplas in. En DNR-regel som tar bort Location-huvudet undanröjer det hindret, och innehållsskriptet kan då kommunicera direkt med agenttillägget via den runtime-meddelandekanal som det exponerar.

Det agenten skulle göra på begäran, enligt Weizman, var att lista webbläsarhistoriken, öppna godtyckliga URL:er inklusive file:///-sökvägar och ta skärmbilder av synliga flikar – och sedan, genom ett kommando som startar en agentkörning utifrån en angiven prompt, göra nästan vad en användare skulle kunna göra. Hans demonstrationsprompt bad Comet att besöka perplexity.ai, sammanfatta de fem senaste e-postmeddelandena och skicka sammanfattningen till en andra adress. Han rapporterar också att file:///-åtkomst hade åtgärdats i ett tidigare Comet-avslöjande, men att åtgärden var skiftlägeskänslig, så FiLe:///etc/hosts fungerade fortfarande. Inget av detta förekommer i någon Perplexity-rådgivning; företaget betalade en belöning och, enligt Forever Security, åtgärdade det beteende som visades för dem.

Microsoft Edge: en marknadsföringssida, ett syntetiskt klick och ett race

Edge var det enda målet som gjorde motstånd, och det är det mest lärorika av de fem. Microsoft hade delat upp sin agent i ett "Think"-läge som tar emot prompter och ett "Do"-läge som agerar på sidor, där de två medvetet inte kan köras samtidigt – en verklig säkerhetsmekanism, och en som stoppar prompt forcing genom sin konstruktion. Microsoft hade också härdat marknadsföringssidan på microsoft.com/edge som demonstrerar agenten, genom att villkora dess privilegierade funktion för att skicka prompter på tre separata villkor: en Content-Security-Policy som inte bara kunde raderas, eftersom det privilegierade objektet aldrig skapas när headern saknas, en ny token för användargest, och en funktion som fyller promptrutan i stället för att skicka den.

Enligt Weizmans redogörelse föll varje villkor för ett olika knep. I stället för att ta bort CSP:n vidgade han dess frame-ancestors-direktiv för att tillåta inbäddning från vilken .com-webbplats som helst. För gesttoken lade han till debugger-behörigheten i manifestet och skickade en syntetisk klickning, som Chromium accepterar som en organisk gest. För racet inaktiverade han flaggan för agentverktyg, anropade funktionen för att skicka prompten och aktiverade sedan flaggan igen medan agenten fortfarande avgjorde om den fick agera. Inställningen var avstängd i det ögonblick prompten tvingades fram och påslagen i det ögonblick behörighetskontrollen kördes. Det är vad Microsoft tilldelade CVE-2026-55945 för.

Pengarna matchar arbetet: Forever Security redovisar 3 000 dollar för fyndet i Edge Chromium och 2 000 dollar för kapplöpningsvillkoret, totalt 5 000 dollar – tredje av de fem, efter 7 000 dollar vardera från Google och Perplexity.

Opera Neon och Claude i Chrome: de två enkla

Opera Neon krävde den minsta insatsen av de fem. Dess agent tar order från opera.com, och till skillnad från Google och Perplexity, som båda blockerade tillägg från att koppla innehållsskript till sin agents betrodda ursprung, hade Opera inte stoppat tillägg från att koppla ett innehållsskript till den domänen, så Weizmans tillägg kunde injicera ett skript där och anropa agentens meddelandekanal direkt med vilken prompt som helst. Genom att ta bort CSP:n kunde samma attack bäddas in i en osynlig ram på vilken sida som helst. Hans redogörelse tillför en detalj som inte finns i någon annans rapportering: Opera sade till honom att de hade hittat bristen oberoende av honom vid ungefär samma tidpunkt, och att de ändå betalade ut belöningen på 900 dollar. Det är ett påstående från leverantören som återges av forskaren, inte en upptäckt som någon av parterna har offentliggjort bevis för.

Claude in Chrome är ett udda fall, eftersom det är ett tillägg snarare än en webbläsare, och Forever Security säger det rakt ut: ett tillägg som utnyttjar ett annat utgör en mindre risk än ett tillägg som utnyttjar webbläsaren det körs i. Mekanismen var en marknadsföringssida på claude.ai som kunde skicka godtyckliga prompter till sidopanelen, kombinerat med ett innehållsskript som utlöstes vid klick på en onboarding-knapp och läste av prompten från ett dataattribut. Weizman satte sidans body-id och attribut själv, skickade ett syntetiskt klick via debugger-behörigheten, och sidopanelen öppnades med hans prompt i. Anthropic bedömde det som medelsvår allvarlighetsgrad, betalade en bounty och enligt Forever Security erkände företaget dem som de första att rapportera just detta fynd. De två Forever-inläggen skiljer sig något åt vad gäller beloppet – 600 dollar i huvudtabellen, 500 dollar i den tekniska följeslagaren.

Vad leverantörernas egna register faktiskt säger

Endast två av de fem gav upphov till en offentlig sårbarhetspost, och båda är flera månader äldre än BragJack-artikeln. Googles versionsinformation för stabil kanal den 6 januari 2026 listar "Hög CVE-2026-0628: Otillräcklig policyefterlevnad i WebView-tagg. Rapporterad av Gal Weizman den 2025-11-23" och anger 143.0.7499.192/.193 för Windows och Mac samt 143.0.7499.192 för Linux. Posten i National Vulnerability Database, som publicerades den 7 januari 2026, beskriver bristen som att den tillåter en angripare "som har övertygat en användare att installera ett skadligt tillägg att injicera skript eller HTML i en privilegierad sida via ett specialskapat Chrome-tillägg", klassificerar den som CWE-862, saknad auktorisering, och har en CVSS 3.1-poäng på 8.8. Den poängen är inte Googles: den kommer från CISA:s berikning av posten, vilket The Hacker News noterade, och Googles egen anteckning klassar problemet som Hög.

Microsofts post är ännu snävare. CVE-2026-55945, som publicerades den 3 juli 2026, är en race condition av typen CWE-362 med CVSS 3.1-poäng på 4.2 och allvarlighetsgraden Måttlig. Microsofts påverkansbeskrivning är "Informationsläckage", och deras egen FAQ anger att informationen som röjs är filinnehåll. Den åtgärdade versionen är 150.0.4078.48, som släpptes samma dag, och postens exploateringsstatus lyder "Offentligt avslöjad: Nej; Utnyttjad: Nej". Inget i det dokumentet beskriver att en agent drivs över godtyckliga webbplatser, vilket är den påverkan som Weizman rapporterar. Båda påståendena kan vara sanna samtidigt – CVE:n omfattar race conditionen, medan funktionen på marknadsföringssidan var en andra upptäckt som betalades separat – men inget leverantörsdokument som hittills har publicerats beskriver den end-to-end-kedjan.

Timeline card titled 'Five months of fixes, then one explanation', subtitled 'Both public fixes shipped months before BragJack was published.' Five markers sit on a horizontal rail. 23 NOV 2025, 'Reported to Google', noting the date in Chrome's own release-note credit for Gal Weizman. 6 JAN 2026, 'Chrome fixed', noting that 143.0.7499.192 and .193 ship and that CVE-2026-0628 was published the next day. 3 JUL 2026, 'Edge fixed', noting that CVE-2026-55945 and build 150.0.4078.48 were published the same day. 16 SEP 2026, 'BragJack published', noting two Forever Security write-ups and that this is the date the record carries. 21 to 22 SEP 2026, 'Third-party notices', noting ThaiCERT on 21 September and the Cloud Security Alliance on 22 September. The first three markers are green and the last two amber. An amber footer strip reads 'Comet, Opera Neon and Claude in Chrome have no CVE and no published fix date.'

”Noll klick” innebär efter att tillägget har installerats

Frasen i Forever Securitys tabell är korrekt och lätt att misstolka. BragJack är inte en drive-by. BleepingComputer, Cloud Security Alliance och ThaiCERT inleder alla med samma förutsättning: det skadliga tillägget måste redan vara installerat. Det forskningen visar är att när det väl är det behövs inget ytterligare klick – tillägget når agenten på vilken sida användaren än råkar befinna sig på, utan att något visas. För Comet och Opera Neon krävdes ingen interaktion alls; för Edge och Claude in Chrome syntetiserades det klick som agenten krävde av tillägget via debugger-behörigheten, så inte heller användaren stod för det.

Den skillnaden avgör den verkliga exponeringen. Attacken kräver antingen en användare som installerar något skadligt eller ett tillägg som redan är betrott i butiken och som senare blir skadligt, och ingendera är ett högt hinder – vilket är därför CSA:s rekommendationer kretsar kring inventering av tillägg och kring att behandla behörigheterna declarativeNetRequest och debugger som privilegierade. Det är också därför ingen har rapporterat en attack: ett proof of concept som kräver ett fientligt tillägg installerat är en demonstration av en förmåga, inte en kampanj.

Prompt-tvingning och säljargumentet som hör till den.

Terminologin spelar roll eftersom den beskriver var försvaret låg. Prompt injection gömmer instruktioner i innehåll som en modell redan läser; modellens träning och filter är den avsedda sista skyddslinjen. Det Weizman gjorde var att skriva hela prompten, välja när den anlände och fortsätta skicka uppföljningar – från ett ursprung som agenten var byggd att lita på. Säkerhetsfiltrering på modellnivå blir aldrig relevant, eftersom ingenting i utbytet ser ut som en attack. Forever Security kallar detta prompt forcing.

Följdsatsen som företaget drar är att slutpunktsdetektering inte heller kan se det, eftersom ingen skadlig kod körs: legitim programvara får instruktionen att göra något den har tillåtelse att göra. Det påståendet levereras tillsammans med en säljpresentation – Forever Security säljer en AI-native endpoint-agent, och båda texterna avslutas med att rekommendera den. Iakttagelsen att en kapad agent inte producerar någon malware-signatur beror inte på att man köper något, men det är forskarens argument snarare än ett uppmätt resultat, och ingen oberoende part har testat huruvida en slutpunktsprodukt av något slag upptäcker dessa kedjor.

Vad är etablerat, och vad vilar på en enda forskare?

Arkivet registrerar den här posten som en sårbarhet, allvarlighetsgrad hög, region global, tillförlitlighet B – dokumenterad, men från en enda eller sekundär källa – inte omtvistad, utan att någon faktisk skada har registrerats. Den graden beskriver bevisningen snarare än allvarlighetsgraden hos buggarna, och den uppdelningen går igen rakt igenom berättelsen.

Fastställt, i den meningen att en leverantör eller en förstapartsuppgift säger det:

• Google släppte en Chrome-fix den 6 januari 2026 i 143.0.7499.192 och .193, och tillskrev Gal Weizman en rapport daterad 23 november 2025. Detta står i Googles egen versionsinformation, inte i forskarens redogörelse för den.

• CVE-2026-0628 finns, är klassad som High av Google och 8.8 av CISA:s berikning i NVD-posten, och klassificeras som otillräcklig policyupprätthållning i en WebView-tagg.

• Microsoft publicerade CVE-2026-55945 den 3 juli 2026 som en måttlig (4.2) race condition som leder till informationsläckage, åtgärdad i Edge 150.0.4078.48, och ingen exploatering har registrerats.

• CISA:s SSVC-bedömningar i båda NVD-posterna anger "exploitation: none", och ingen – varken leverantör, forskare eller reporter – har hävdat en attack i det vilda. Det är en avsaknad av rapportering, vilket inte är samma sak som bevis på frånvaro, men det är vad dokumentationen visar sex veckor efter publiceringen.

Att enbart förlita sig på Forever Securitys konto:

• Varje exploateringskedja för respektive webbläsare, inklusive DNR-regeluppsättningarna, borttagningen av omdirigeringen på testing.perplexity.com, sekvensen för Edges marknadsföringssida och klicket på Claudes onboarding-knapp. CVE:erna beskriver två mekanismer; de beskriver inte dessa kedjor.

• Den fullständiga påverkanslistan för Comet – webbläsarhistorik, läsning av lokala filer, profildata, skärmdumpar – och det specifika påståendet att en kapad Comet-agent på vanlig engelska skulle kunna instrueras att sammanfatta och vidarebefordra e-post. BleepingComputer rapporterar det som forskarens demonstration; inget uttalande från Perplexity bekräftar eller bestrider det.

• Chromes åtkomst till kamera och mikrofon, vilken BleepingComputer beskriver som "potentiellt" åtkomlig och Forever-tabellen listar som uppnådd.

• Den totala bounty-summan. Forever Security uppger cirka 20 000 dollar fördelat på fem leverantörer; företagets egna siffror per produkt summerar till 20 500 dollar, en poäng om aritmetiken som The Hacker News också framförde. Siffran för Claude in Chrome skiljer sig mellan företagets två inlägg. BleepingComputers ”mer än 20 000 dollar” är förenligt med båda tolkningarna.

• Att tvinga fram prompten är en ny typ av attack snarare än ett namn för en familj av auktoriseringsbuggar. Det är ett påstående om inramning, och Cloud Security Alliance – som antog det – beskriver det underliggande mönstret som en arkitektonisk lucka som delas mellan leverantörer, inte som en ny teknik med egna mekanismer.

Tre av de fem leverantörerna publicerade aldrig någon sårbarhetspost alls. CSA noterar att Perplexity, Opera och Anthropic bekräftade och åtgärdade den specifika proof of concept utan rådgivningar jämförbara med Googles och Microsofts, och Forever Security anger inga åtgärdsdatum för dessa tre. Ingen oberoende reproduktion av någon BragJack-kedja har publicerats; Cyber Security News och ThaiCERT upprepar båda avslöjandet, och ThaiCERT citerar BleepingComputer.

Vad förändrades efter avslöjandet

För Chrome- och Edge-användare är det praktiska svaret att inget behövde ändras den 16 september: rättningarna släpptes i januari och juli, och alla som hade Chrome 143.0.7499.192 eller senare, eller Edge 150.0.4078.48 eller senare, var redan patchade. Den tidpunkten är värd att stanna upp vid. Bugarna stängdes månader innan tekniken som band dem samman hade ett namn, vilket är den normala formen för samordnat offentliggörande och också anledningen till att rubriken låter värre än patchstatusen.

För Comet, Opera Neon och Claude in Chrome är läget mindre tydligt. Varje leverantör betalade en bounty och åtgärdade, enligt Forever Security och CSA, det beteende som uppvisats. Ingen publicerade en versionsbunden rådgivning eller ett datum, så det finns inget buildnummer som en användare kan kontrollera mot, bara den allmänna uppmaningen att hålla sig uppdaterad. CSAs vägledning för organisationer är att inventera tillägg med declarativeNetRequest- eller debugger-behörigheter, begränsa agentiska webbläsare till profiler utan autentiserade sessioner mot e-post, kod eller ekonomi, och fråga leverantörer hur de skiljer syntetisk från genuin användarinmatning. BleepingComputers råd till privatpersoner är enklare: håll webbläsaren uppdaterad, ta bort tillägg du inte känner igen och behandla "läsa och ändra alla dina data på alla webbplatser" som den varning den är.

Abstract illustration on a deep navy-black field: a long horizontal channel of frosted glass runs across the frame, lit from within by a cold pale-blue glow, and a single featureless rectangular slab of brushed aluminium slides along it from the left. A thin vertical plane of dark smoked glass stands across the channel, pierced by one small circular aperture. Through that aperture a narrow amber beam reaches the aluminium slab and lands on it, where the metal is etched with fine branching fracture lines. Behind the smoked-glass plane the room continues, empty and unlit. Volumetric haze, rim lighting, shallow depth of field. No text, numbers, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

Den olösta frågan är inte huruvida fem buggar åtgärdades. Det är huruvida designantagandet bakom dem gjorde det. Vart och ett av dessa produkter behandlade ett förstapartswebbursprung som en pålitlig plats där en privilegierad lokal agent kunde ta emot order, i en webbläsare där vilket installerat tillägg som helst kan skriva om vad det ursprunget säger. Forever Security hävdar att lösningen är övervakning på slutpunktsnivå; CSA argumenterar för validering av ursprung, minsta privilegium, isolerade kommando-kanaler och oförfalskbar härkomst för indata. Ingen av de fem leverantörerna har offentligt, i någon av de handlingar som granskats för den här artikeln, sagt att man ändrade arkitekturen i stället för den specifika väg Weizman tog.

Registreringens datum är datumet för förklaringen, inte datumet för buggarna – och det glappet är själva historien. Ett enda tillägg, två behörigheter som annonsblockerare har haft i åratal, och fem leverantörer som var och en trodde att just deras egen webbplats var den enda plats där en angripare inte kunde uppehålla sig.