Pridėkite WebMCP prie savo svetainės ir apsilankę dirbtinio intelekto agentams pateikite įvardintų įrankių rinkinį, kad galėtumėte paskambinti. Tais pačiais įrankiais galima nukreipti agentus prieš juos siuntusius žmones. „Chrome“ kūrėjų svetainėje dabar pateikiamos „WebMCP“ saugos gairės, o didžioji jų dalis yra skirta svetainėms, kuriose pateikiami įrankiai, o ne agentus kuriančioms įmonėms. Padarykite savo svetainės agentą paruoštą naudoti su WebMCP, taip pat atidarėte atakos paviršių, o jį uždaryti yra jūsų, o ne agento darbas.
Dvejus metus pokalbis apie agento pasirengimą buvo susijęs su prieiga: ar agentas gali pasiekti jūsų turinį, perskaityti puslapį, užbaigti apmokėjimą? „WebMCP“ yra versija, kai nustojate tikėtis, kad agentas išskirs jūsų svetainę iš žymėjimo ir pradedate duoti jai pavadintus įrankius. Tai yra naudingesnis protokolas ir ta kryptimi, kuria juda agentinio žiniatinklio protokolo sluoksnis. Taip pat tai, kad agentui įskaitoma ir agento sauga yra ta pati nuosavybė.
„Chrome“ pavadinti dviem būdais agentai yra užgrobti per WebMCP
„Chrome“ agento saugos gairėse aprašomi du atakų vektoriai ir abu pasiekiami naudojant svetainėje pateikiamus įrankius. Pirmasis yra kenkėjiškas manifestas. „Chrome“ žodžiais tariant, „svetainėse gali būti įrankių apibrėžimų su paslėptomis instrukcijomis, įrankių pavadinimuose, parametruose ar aprašuose, skirtuose agentui užgrobti“. Įrankio aprašymas yra tekstas, kurį agentas perskaito, kad nuspręstų, kaip naudoti įrankį, todėl aprašyme gali būti nurodymas, kurio agentas niekada neturėjo laikytis.
Antrasis vektorius yra tas, kurį iš tikrųjų pateks dauguma svetainių, ir jam visai nereikia kenkėjiškų svetainių. „Chrome“ tai vadina užteršta išvestimi: „Realiojo laiko įrankio atsakymuose iš šiaip patikimų svetainių gali būti įtrauktos kenkėjiškos instrukcijos kaip trečiųjų šalių duomenų dalis, pvz., naudotojų komentarai“. Įrankis jūsų svetainėje, kuris pateikia atsiliepimus apie produktą, komentarų gijas, forumo įrašus arba palaikymo atsakymus, pateikia kitų žmonių parašytą tekstą. Jei vienas iš tų žmonių įtraukė instrukcijas apžvalgoje, jūsų teisėtas įrankis perdavė jį agentui taip, tarsi jis būtų gautas iš jūsų. Naudingas krovinys yra jūsų pačių sukurtas turinys, kurį pakvietėte jūs.
Tai veikia dėl kažko, kas nėra klaida ir nebus pataisyta. „LLM apdoroja visą tekstą, instrukcijas ir vartotojo duomenis kaip vieną žetonų seką“, – sakoma gairėse, todėl modelis negali patikimai atskirti dalies, kurią galvojote kaip duomenis, nuo dalies, kurią užpuolikas nurodė kaip komandą. Štai kodėl „Chrome“ sako, kad „dėl tikimybinio LLM pobūdžio neįmanoma užtikrinti saugumo pačiame modelyje“. Tai ta pati greito įpurškimo problema, kuri neturi švaraus pataisymo modelio viduje, dabar naudojant protokolą. WebMCP suteikia šiai atakai švarų, struktūrizuotą pristatymo kelią naudojant įrankius, kuriuos paskelbėte specialiai.
Svetainės agento paruošimas dabar apima, kad jis būtų saugus agentui
„Chrome“ nurodymai įpareigoja svetainę, o ne tik agentą. „Chrome“ įrankių saugos dokumentas atidaromas su eilute, nukreipta tiesiai į įrankius atskleidžiantį asmenį: „Įrankius parodykite tik tiems šaltiniams, kuriais pasitikite. Tai ypač svarbu, kai įrankiai tvarko naudotojo duomenis arba kitaip paveikia vartotoją“. Ta eilutė parašyta tam, kas siunčia įrankį. Tai reiškia, kad tu.
Apsaugos priemonės yra konkrečios, o tai yra komentarai, kuriuos pridedate prie siunčiamų įrankių. untrustedContentHint „aiškiai pažymi naudingą apkrovą kaip nepatikimą, kad padėtų apsaugoti jūsų svetainės vientisumą, o agentui būtų pranešta, kad šiuos duomenis reikia atidžiai tikrinti“, o „Chrome“ nurodo, kada juos naudoti: „Jei įrankis grąžina naudotojo sukurtą turinį (NST) arba išorinio šaltinio duomenis, apsvarstykite galimybę prie įrankio pridėti nepatikimą turinį. readOnlyHint žymi įrankį, kuris nekeičia būsenos, o tai „leidžia agentui priimti geresnius sprendimus, kada prašyti vartotojo patvirtinimo“. exposedTo apriboja įrankį iki patikimų šaltinių, įrašytų pačioje registracijoje, masyvo:
document.modelContext.registerTool({...}, {
exposedTo: ('https://trusted.com')
});
„Chrome“ taip pat apriboja simbolių biudžetą, įrankio aprašą sudaro 500 simbolių, o vieno įrankio išvestį – maždaug 1 500, ir prideda requestUserInteraction() veiksmo patvirtinimo prieš jį suaktyvinant kelias. Paimkite akivaizdų pavyzdį – įrankį, kuris prekybos agentui pateikia atsiliepimus apie produktą. Jo tvirtinimas nėra egzotiškas darbas: pažymėkite jo išvestį untrustedContentHintrinkinys readOnlyHint nes skaito, o ne perka, ir riboja exposedTo ištakoms, kurias iš tikrųjų tarnaujate. Niekas iš to nėra agento darbas. Tai yra įrankio autoriaus darbas, kuris daugumoje komandų yra žiniatinklis, CRO arba rinkodaros žmonės, kurie prideda WebMCP, kad atrodytų dabar, o ne saugos žmonės, kurie skaito grėsmių modelius. Dėl šios spragos viskas vyksta negerai. Pažymėjimas, kuris iš jūsų turinio yra duomenys, o ne komandos, dabar yra įrankio siuntimo dalis, o įvesties valymas tapo formos siuntimo dalimi.
Priimkite WebMCP, bet pirmiausia sumodeliuokite kiekvieną įrankį
Agentui pateikiami aiškūs, iškviečiami įrankiai, leidžiantys atspėti jūsų svetainę iš DOM, todėl verta turėti galimybę. Visa tai nėra priežastis vengti WebMCP. Esmė siauresnė ir nuobodesnė nei „naujas protokolas, naujas pavojus“: pajėgumai atkeliauja su pridedama sąskaita, o sąskaita yra jūsų.
Taigi linija yra paprasta. Nenurodykite įrankio agentui, kurio nesumodeliavote grėsmės taip, kaip grėsmės modeliuotumėte viešam API galutiniam taškui. Prieš išsiunčiant kiekvieną įrankį, kurį ketinate registruoti, atsakykite į vieną klausimą: koks nepatikimas turinys gali būti grąžintas ir ar jį pažymėjote? Jei negalite į tai atsakyti, įrankis nėra paruoštas, tačiau visa kita jūsų svetainės dalis atrodo paruošta agentui.
WebMCP yra ankstyvas. Tai yra „Chrome“ bandomoji versija, specifikacijos vis dar keičiamos, o dauguma svetainių nepateikė nė vieno įrankio. Tai yra langas, leidžiantis nuspręsti, kad agentas saugus yra agentui parengtos programos dalis, kol pirmasis jūsų siunčiamas įrankis yra tas, kuris agentui perduoda jūsų atsiliepimus ir viską, ką juose kažkas paslėpė.
Daugiau išteklių:
Šis įrašas iš pradžių buvo paskelbtas No Hacks.
Teminis vaizdas: Roman Samborskyi / Shutterstock



