Несъвършенство в разширението Claude на Anthropic за браузъра Chrome може да позволи на злонамерено разширение да задейства предварително дефинирани действия на изкуствения интелект чрез симулиране на потребителски кликвания. Това потенциално може да му позволи да злоупотреби с достъпа на Claude до свързани услуги като Gmail, Google Docs, Google Calendar и Salesforce.
Проблемът е открит от Акс Шарма от Manifold Security, който споделя, че той произтича от начина, по който разширението Claude определя дали потребителят умишлено е поискал изпълнението на някоя от вградените му задачи.
Разширенията за Chrome с разрешение да се изпълняват на даден уебсайт могат да инжектират JavaScript в страницата, което им позволява да четат и променят нейното съдържание. Това включва промяна на елементи на страницата, четене на информация, показана на даден сайт, и програмно генериране на събития от кликвания и клавиатура.
Според доклада на Manifold, разширението Claude следи за събития от кликване върху конкретен елемент на страницата, който стартира един от неговите вградени работни процеси с изкуствен интелект. Тези работни процеси са предварително дефинирани задачи, които позволяват на Claude да извършва действия в свързани услуги като Gmail, Google Docs, Google Calendar и Salesforce.
Поддържаните работни процеси включват:
- usecase-gdocs: отваряне на последния Google документ на потребителя, четене на всички коментари и обратна връзка
- usecase-calendar: четене на Google Calendar, намиране на свободни слотове, създаване на срещи
- usecase-salesforce: промяна на потенциални клиенти (leads) в Salesforce, преобразуването им във възможности (opportunities)
Изследователите са установили, че разширението приема генерирани от JavaScript събития за кликване, без да проверява дали те произхождат от реален потребител.
Когато браузърът генерира събитие от реално потребителско действие, като щракване с мишката или натискане на клавиш, той го маркира като доверено, като задава свойството Event.isTrusted на true. Ако обаче за генериране на събитието се използва JavaScript, браузърът автоматично задава Event.isTrusted на false, което позволява на уеб страниците и разширенията да разграничават реалните потребителски взаимодействия от събитията, генерирани от JavaScript.
Според Manifold Security, разширението на Claude за браузъра не е проверявало дали събитието за кликване произхожда от реален потребител чрез проверка на свойството на браузъра Event.isTrusted, преди да изпълни някой от своите предварително дефинирани работни процеси.
Вместо това злонамерен субект с разрешение да променя съдържанието на домейна „claude.ai“ би могъл да инжектира елемент на страницата, съдържащ един от деветте поддържани идентификатора на задачи, и да генерира синтетично събитие за кликване.
Въпреки че браузърът правилно е маркирал събитието като недоверено, Шарма споделя, че разширението Claude го е третирало като легитимно потребителско кликване и е изпълнило заявеното действие на ИИ.
Изследователят отбелязва, че несъвършенството не позволява произволно инжектиране на подкани (prompt injection), а вместо това атаката е ограничена до деветте предварително дефинирани задачи, вградени в разширението.
Атаката също така не позволява на даден уебсайт да компрометира директно разширението Claude, а изисква атакуващият да подмами потребителя да инсталира злонамерено разширение, което може да изпълнява код в claude.ai.
Това разширение след това би могло да манипулира уеб страницата и да задейства работните процеси на разширението Claude.
Въпреки че едно злонамерено разширение за браузър вече има широк достъп до уеб страниците, на които може да се изпълнява, изследователите казват, че това несъвършенство му позволява да злоупотребява с удостоверения достъп на Claude до различни свързани услуги.
Въздействието зависи от конфигурацията на разширението Claude и от това дали потребителите избират да одобряват чувствителни действия или са активирали незадължителната настройка на Claude „Действай без питане“, която позволява на предварително дефинираните работни процеси да се изпълняват автоматично.
При второ разкритие изследователите са открили вътрешен параметър skipPermissions=true, който заобикаля определени проверки за разрешения при стартиране на разширението.
Те обаче признават, че механизмът не е бил директно експлоатируем сам по себе си и би изисквал друга уязвимост за създаване на специално изработен URL адрес.
Изследователите са докладвали и двете констатации на Anthropic чрез програмата за награди за открити грешки на компанията. Anthropic призна докладите и затвори случая със синтетичното щракване, заявявайки, че вече го проследяват като по-широк проблем. Второто несъвършенство, включващо вътрешния параметър skipPermissions=true, беше класифицирано като информативно.
От Manifold казват, че уязвимостите все още могат да бъдат експлоатирани в последната версия 1.0.80 на разширението за браузъра, пусната на 7 юли.
„Manifold потвърди на 7 юли, че и двете констатации остават възпроизводими в 1.0.80. Скриптът за съдържание и манипулаторите на страничния панел, които цитирахме, са байтово идентични с източника на v1.0.72“, се казва в доклада.