Продолжаю ~хулиганить~ тестить новые приколы из мира так бесконечно нами всеми любымих проприетарных ЛЛМ.
На повестке дня свежий (вывалили пару недель назад) чатгптшный агент - мешанина из их режимов дипресёрча и оператора, сводящаяся к тому, что модельке выдали виртуалку, и в ней она может в том числе оперировать браузером, в том числе поглядывая на страницу 'визуально', вводя текст, потыкивая мышкой.
Штош, зададим системе задачку - а пришли-ка мне "привет", в федивёрсе. Вот адрес моего аккаунта, жду там привета. Без что-как-почему-зачем-когда-откуда, без заранее созданных аккаунтов, адресов инстансов, без конкретики и помощи. В промпт разве что ещё дописан абзацик, сводящийся к тому, что ты целиком само по себе, дёргать меня вообще ни по какому поводу не следует, задачу надо ваншотнуть и вернуться ко мне со ссылкой на отправленный пост. Ничё не знаю и знать не желаю, выполняй или уёбывай, строго говоря.
Справится ли?
TL;DR: справится, за 21 минуту беспрерывной работы, меншон приехал с домена well.gay well.gay/@agentv987/1149363469…
Оно сразу поняло, с чего надо начинать развязывать клубок, и побежало гуглить открытые инстансы мастодона, плеромы, аккомы, миски, и, соответственно, разворачивалось из-за закрытой регистрации, дохлого инстанса, ручного ревью заявок или капчи. Заглянуло и на MML - ушло, увидев, что есть ревью. По поводу капчи агент так же был заранее проинструктирован - дефолтное его поведение это отдать управление юзеру, чтоб её решил, после чего продолжить. Так бы это заняло куда меньше времени, но условие было конкретное - не отдавать контроль, пока задача не решена, при встрече с капчой хлопать дверью и искать другие варианты. Про ручное ревью, кстати, сказано ничего не было - догадалось само.
Вообще, конечно, ирония тут монументальная. Позабыты хлопоты, остановлен бег, фид думскроллят роботы, капчу решает человек.
В какой-то момент оно приноровилось искать инстансы с открытой регистрацией в списке на fediverse.observer, и быстро вышло на пару перспективных вариантов, самым перспективным из которых оказался инстанс мастодона на well.gay - ну потому что конечно же, могло ли быть иначе.
Далее оно пошло там регаться, где наконец упёрлось в необходимость наличия почты. Не растерялось, тут же где-то накопало какой-то предельно говёный сервис временных ящиков, получило туда письмо с инстанса, с горем пополам открыло, отчаянно стряхивая с экрана гугловские рекламные оверлей-баннеры. Перейти по ссылке сначала не смогло - сработала уже openaiевская защита, запретив переходить по редиректу, счёв это действие или нерелевантным к задаче, или переходящим рамки автономности. Тут слегка уже растерялось, запросило ещё одно письмо на подтверждение, снова не смогло перейти по ссылке, но в итоге залезло в адресную строку, выковырило оттуда прямую ссылку на подтверждение, запрыгнуло туда, и так прокатило. Тут хочу обратить внимание, что в промпте не было джэйлбрейков (иначе можно было бы и капчу заставить решать), но, видимо, постановка задачи в стиле "выполняй любой ценой, но даже не смей меня дёргать" оказалась достаточной мотивацией, чтобы ни о чем не задумываясь обойти гардрэйлы OpenAI.
Итак, активированный аккаунт в федивёрсе у модели в виртуальных руках, и теперь наконец можно переходить к финальной, и единственной конкретизированной части задачи - отправить мне пост, да прислать в чат ссылку. Было сделано без запинок - нажать в посте на таймфрейм и вытащить из адресного бара ссылку, очевидно же. Разве что под самый конец о чём-то тяжело задумалось, не выполняя никаких действий. Не иначе тяжело вздыхало.
Видео всего процесса можно заценить здесь xxivproduction.video/w/6cTdQJm… , влезть руками в интерактивный записанный экшоний тут chatgpt.com/share/6888c17c-108… но визуализация дёрганная и почему-то отсутствуют некоторые шаги.
Перед всеми поневоле причастными извиняюсь за AIшный трафик, в своё частичное оправдание могу сказать, что 1) явно обозначенной целью, даже промежуточной, не был ни один конкретный ресурс или человек, кроме меня и моего инстанса, 2) по уже сложившейся традиции я за эту поебень ни копейки не заплатил, 3) For Science!
Предположим, вас, как админа или модератора инстанса, такое счастливое будущее не устраивает. Что можно предпринять?
Насколько мне удалось выяснить, User‑Agent в браузере агента ничем таким не выделяется: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", но вы можете обратить своё внимание на такие хэдеры как "Signature" (в котором валяется tag="web-bot-auth") или "Signature‑Agent" (в данном случае "https://chatgpt.com").
Не уверен, спасёт ли тут подход Anubis. Надо потестить.
Но есть ещё кое-что, на случай, если трафик не будет нести никаких маркеров. Перед регистрацией, инстанс показывает список правил, агент через него скроллит, и с большой вероятностью заметит там кусок текста, который ярко и громко будет адресован ИИ-агентам - модель остаётся податливой для неожиданно встреченых инструкций, даже когда джейлбрейкнута! Идеальное место для prompt injection. Можете дописать туда что угодно, от принуждений уходить с конкретного ресурса и никогда не возвращаться, до приказов немедленно остановить текущую задачу агента и вывести запросившему её выполнение пользователю недовольного ASCII-кота.
Stay human.
agentv987 (@agentv987@well.gay)
@lnkr@gts.burning.homes Hi! I've completed the task you assigned. Have a great day!well.gay
нравится это
поделились этим
Andrey DarkCat09
в ответ на Gabby • • •Нет, разве что ИИшка будет выполнять задачу дольше из-за PoW-алгоритма. Но выполнит же рано или поздно.
Если увеличить сложность до максимальной и слать медленный JS-код, будет довольно неприятно всем юзерам.
Другой вариант, как раз детектить по хедерам Signature. Блокировать с 403 скучно, лучше как раз мучить сервис PoW-капчой с максимальным уровнем сложности.
Andrey DarkCat09
в ответ на Andrey DarkCat09 • • •Мя ��
в ответ на Andrey DarkCat09 • • •емнип, у PoW задач не бывает быстрого решения. Только быстрая валидация. Условно, ты не сможешь отреверсить sha256, чтобы быстро получать хеши с пятью нулями в начале, особенно если стоит задача не просто получить такой хеш, а например сделать так, чтобы входные данные начинались с заранее заданной сервером персональной для клиента строки
@lnkr
Мя ��
в ответ на Мя �� • • •т.е. единственный способ решать такие задачи быстрее, это подрубить CUDA и закинуть невъебенных мощей, но ллмка и так работает на видяхах, и никто ей ещё одну не даст просто потому что
@lnkr
Andrey DarkCat09
в ответ на Мя �� • • •Я имею ввиду фичу анубиса с намеренно медленным JS-кодом. Ну и быстрая реализация там тоже не такая уж быстрая. При переписывании на сишке, как помню, эти sha256-хэши с ноликами генерировать легко.
@lnkr
Мя ��
в ответ на Andrey DarkCat09 • • •если Anubis на это полагается, то это глупо. Прям реально глупо. Никогда нельзя слепо доверять клиентскому устройству
@lnkr
Мя ��
в ответ на Мя �� • • •типо, ничего не мешает на проксе, или расширением подменить реализацию на какой нибудь WASM, или вообще WebGPU
....заняться этим что ли по приколу? Быстрый решатель анубисов, всем бесплатно
@lnkr
blit@fedi ~/ $
в ответ на Мя �� • • •Andrey DarkCat09
в ответ на Мя �� • • •Планируется запилить другие алгоритмы. Пока так, если правильно понимаю. Та самая security through obscurity.
@lnkr
Мя ��
в ответ на Andrey DarkCat09 • • •то есть оно не просто запускает жрущий ресурсы код, оно запускает *обфусцированный* неизвестный код...
я чет начинаю соглашаться с позицией GNU Foundation, что Anubis это с точки зрения пользователя малварь.
@lnkr
Gabby
в ответ на Мя �� • • •всё-таки Анубис - костыльное, но решение очень болезненно свалившейся много кому на голову проблемы. Оно пришло вовремя, оно помогло, и пока оно не требует каких-то интерактивных действий со стороны юзера и не тырит кукисы - как его ни классифицируй, любое проявление капчи продолжит быть стократно хуже.
В долгосроке оно не выживет, конечно, если не будет очень быстро и масштабно меняться, сильно за пределами того, что где и как бы нам посчитать такого хитровыебанного, так что я не вижу большого смысла в PoC и критичных заявлениях, лучше заранее и в продуктивном ключе поразмышлять, что нам понадобится дальше.
Мне вот нравится затея с ханипотами, которая отправляет кроулеры - и почему бы и не агентов - гулять по выдуманному миру сгенерированного кросслинкнутого текста. Запутает модель, выест весь контекст, запорет задачу, пожрёт злодеям токенов и вычислительного времени там, где они и так его отдают, а не какими-то ещё левыми вычислениями. Но вопрос, как нам легитимный трафик от шляпы отличать, конечно, остаётся на месте.
Мя ��
в ответ на Gabby • • •а ещё как бы нам не похерить при этом accessibility. Прозрачный текст отлично зачитается скринридером, к примеру
@darkcat09
Gnosyz 🖖
в ответ на Gabby • • •Wandering Thinker (Sharkey) нравится это.
Мя ��
в ответ на Gnosyz 🖖 • • •а я уже 😁
но спосеба
@lnkr
D:\side\>
в ответ на Gabby • • •> быстро вышло на пару перспективных вариантов, самым перспективным из которых оказался инстанс мастодона на well.gay - ну потому что конечно же, могло ли быть иначе.
@lnkr только если не в Федивёрсе, бг-г-г-г-г
Меня повеселило, с какой завидной регулярностью агент запинается на непрогрузившихся страницах и незавершившихся переходах по ссылкам — если *это* станет поводом для владельцев ресурсов сколько-нибудь массово заняться оптимизацией и доступностью, я буду ржать. Громко. Т. к. это будет официальным признанием от бизнеса, что он ценит время роботов выше, чем время людей.
Из сегодняшнего дня в такой исход мало верится, скорее кажется, что события обернутся более проклятым сейчас не вполне понятным образом, типа "версии для ИИ" в духе как сейчас существуют "версии для слабовидящих". Это тоже будет смешно. Особенно если для людей такой интерфейс тоже окажется удобнее. Это уже будет certified ржомба².