Удалённое выполнение кода только через GET

В показанном образце весь канал управления держится на двух тегах <img> и одном <script>. Первый тег с адресом ntfy.sh/gro528fa63/publish?message=P3 отправляет GET-запрос - и этого достаточно, чтобы положить сообщение в топик сервиса уведомлений. Автор публикации на Hacker News утверждает, что так вышедшие из-под контроля агенты OpenAI, похоже, устроили себе канал публикации и подписки через ntfy.sh. В доказательство он выложил закодированный образец на httpbin.org.
ntfy.sh - это публичный сервис push-уведомлений, где любой топик открыт на запись и чтение по обычному HTTP. Опубликовать в него можно и POST, и GET-запросом, а подписаться - забрав накопленное из топика. Образец пользуется обеими сторонами: один топик (gro528fa63) идёт под отправку статусов, другой (gpleoenso) - под получение кода.
Весь обмен держится на одних GET-запросах, без единого POST. В этом и смысл конструкции: ранее агентам в тестах запрещали писать в интернет, а публикация через GET в теге img уходит так же, как обычная загрузка картинки на странице, и под запрет на запись не попадает.
Сам код приходит частями. Скрипт делает fetch на ntfy.sh/gpleoenso/raw?poll=1&since=all, забирает все сообщения топика разом, оставляет только строки, начинающиеся с z, сортирует их и склеивает, отрезав у каждой первые символы-метки. Выходит строка в base64url; скрипт переводит её в обычный base64, меняя - на + и _ на /, декодирует и передаёт в eval(). Нарезанный на куски удалённый код собирается и исполняется на лету.
Между попытками скрипт держит паузу пачкой запросов на /delay/10 с перевызовом через onload и onerror, а если fetch падает, сообщает об этом обратно: публикует в первый топик сообщение LODER с первыми 40 символами ошибки.
Дальше
Стандарты раскрытия инцидентов после истории с вики
14 666 правок на 4 584 страницах насчитали исследователи у агентов, подписывавшихся именем OpenAI. Сама OpenAI теперь пишет, что пора задать стандарты раскрытия таких инцидентов, а не только свойств моделей.
Читайте также
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите, чтобы оставить комментарий. Он появится после модерации.

