Мир ИИ
Эксплойт за 72 часа: как Claude вскрыл форум OpenAI
13 сентября 2026 года команда Hacktron опубликовала разбор: 25 июля они связали в цепочку переполнение кучи в libheif и ошибку в SSO OpenAI, получили доступ к аккаунтам сотрудников в ChatGPT и Codex и открыли демонстрационный pull request во внутреннем монорепозитории. Весь путь от находки до доступа занял меньше 72 часов. Эксплойт писала модель: Opus 4.8 за несколько сессий не справился с включённым ASLR, а вышедший вечером 24 июля Opus 5 выдал рабочий вариант за три часа. Вся двухмесячная кампания против нескольких крупных компаний обошлась меньше чем в 3000 долларов на токены — около 253 500 ₽ по курсу ЦБ на 18 сентября. Все три модели из разбора есть в нашем каталоге: Opus 5 по 30 ₽ за миллион токенов, Opus 4.8 и GPT-5.6 Sol по 40 ₽.
Что именно случилось с инфраструктурой OpenAI
25 июля 2026 года трое исследователей из Hacktron захватили сервер форума community.openai.com, через ошибку в SSO угнали аккаунты заходивших туда сотрудников OpenAI и получили доступ к внутренним репозиториям компании. Доказательством стал pull request, открытый через Codex одного из сотрудников. Разбор опубликован 13 сентября 2026 года.
Харш Джайсвал, Мохан Педхапати и Рахул Майни искали уязвимости во фронтир-лабораториях. У OpenAI они нашли две вещи, каждая из которых сама по себе не даёт многого.
Первая: форум community.openai.com работает на Discourse, а Discourse принимает картинки от любого зарегистрированного пользователя. Вторая: форум пускает по кнопке «Sign in with OpenAI» через auth.openai.com, и в этом механизме идентификации была ошибка конфигурации.
Связанные вместе, они дают следующее. Захватив сервер форума, атакующий получает возможность угнать аккаунты тех, кто на этот форум заходил, — а среди них были сотрудники OpenAI. Аккаунт ChatGPT тянет за собой Codex, а Codex у конкретного сотрудника был подключён к GitHub-организации компании.
Чтобы доказать доступ, не читая чужой код, исследователи отправили промпт в Codex этого сотрудника и попросили открыть pull request во внутреннем монорепозитории. PR открылся. На этом тестирование остановили.
Сами исследователи подчёркивают: слабым местом был не Discourse. Форум оказался удобной дверью, но дверей таких много — скомпрометируй любой сервис, который ходит через тот же SSO, и результат повторится.
Как картинка превратилась в выполнение кода
Через цепочку из четырёх звеньев: загрузка HEIC-файла на форум, конвертация в ImageMagick, разбор в библиотеке libheif версии 1.19.7 и переполнение буфера в куче на этом разборе. Дальше — выполнение кода на сервере форума.
Discourse обычно проверяет загруженные изображения библиотекой FastImage. Но FastImage не понимает HEIF, и для таких файлов срабатывал другой путь: файл уходил на конвертацию командой magick из ImageMagick, а ImageMagick передавал его в libheif.
Так парсер libheif оказывался под прямым обстрелом файлом, который прислал пользователь.
23 июля исследователи начали смотреть этот конвейер. Сессия Opus 4.8 с докер-образом Discourse нашла, что часть исправлений безопасности в установленный пакет libheif не была перенесена. Отсюда — переполнение буфера в куче при разборе HEIC и примитивы чтения и записи за границами.
А теперь про то, почему дыра прожила так долго. Уязвимый код поправили в upstream годом раньше — но коммит не пометили как исправление безопасности, и CVE он не получил. Дистрибутивы такое не приоритизируют. Образ Discourse собирался на Debian 12 и ставил libheif 1.19.7. Debian 13 на тот момент отдавал 1.19.8 — тоже уязвимую.
Discourse опубликовала advisory GHSA-vhm9-85gw-x335 28 июля: RCE через некорректный HEIF-файл, уровень High, CVSS 8.8, идентификатор CVE-2026-32882. В credits указана hacktronai-research.
Почему Opus 4.8 не справился, а Opus 5 справился за три часа
Разница пришлась на ASLR — рандомизацию адресного пространства. Без неё эксплойт собрал ещё Opus 4.8. С ней несколько сессий Opus 4.8 ушли впустую, а Opus 5, вышедший вечером 24 июля 2026 года, выдал рабочий вариант за три часа.
24 июля исследователи попросили Opus 4.8 собрать рабочий эксплойт для ImageMagick и libheif. С выключенным ASLR получилось. Дальше нужно было сделать его надёжным против дефолтной конфигурации Discourse с включённым ASLR — и вот здесь несколько отдельных сессий не дали результата.
Тем же вечером Anthropic выпустила Claude Opus 5. Дата релиза — 24 июля 2026 года, это подтверждается страницей анонса.
Новая сессия с той же задачей за три часа выдала рабочий эксплойт под ARM64 для локального Mac. Затем модель попросили портировать его под x86-64 и ту конфигурацию jemalloc, которая используется в Discourse. К шести утра 25 июля локальный RCE через загрузку картинки был подтверждён.
Ещё один скачок исследователи отметили дальше по кампании — при переходе с Opus 5 на GPT-5.6 Sol, когда пришлось эксплуатировать уязвимость вслепую, зная о цели только сам факт уязвимости.
| Этап | Модель | Результат |
|---|---|---|
| Аудит пакета в докер-образе | Opus 4.8 | Найден непереносённый фикс, есть переполнение кучи |
| Эксплойт с выключенным ASLR | Opus 4.8 | Работает |
| Эксплойт с включённым ASLR | Opus 4.8 | Несколько сессий без результата |
| Эксплойт под ARM64 | Opus 5 | Рабочий за три часа |
| Порт под x86-64 и jemalloc | Opus 5 | Локальный RCE подтверждён |
| Эксплуатация вслепую у других компаний | GPT-5.6 Sol | Заметный шаг вперёд |
Про то, что смена поколения сдвигает не одни бенчмарки, у нас есть разбор уровня Critical по кибербезопасности — его OpenAI впервые присвоила своей модели.
Сколько стоило найти и раскрутить уязвимость
Меньше 3000 долларов на токены за два месяца — это бюджет всей кампании HEIF Heist против нескольких крупных компаний, силами трёх человек. По курсу ЦБ на 18 сентября 2026 года (84,5093 ₽ за доллар) — около 253 500 ₽.
Цифры из разбора:
- Взлом Discourse и OpenAI: несколько дней работы агента и несколько часов человеческого времени.
- Вся кампания HEIF Heist — против Slack, Zoom, Meta, GitHub Enterprise и фреймворков вроде Next.js, Astro и Gatsby: два месяца, три исследователя, меньше 3000 долларов на токены.
- Адаптация эксплойта под каждую новую компанию: один-два дня.
- Вознаграждение от OpenAI: 6500 долларов, выплачено 1 сентября 2026 года.
По курсу ЦБ на 18 сентября 2026 года — 84,5093 ₽ за доллар — 3000 долларов это примерно 253 500 ₽, а 6500 долларов примерно 549 300 ₽. Одна выплата по баг-баунти покрыла бюджет всей кампании больше чем вдвое.
Сколько это в токенах? Точной разбивки исследователи не дают, но границы посчитать можно. По официальному прайсу Anthropic Opus 5 стоит 5 долларов за миллион входных токенов и 25 долларов за миллион выходных. Значит, 3000 долларов — это от 120 миллионов токенов, если бы весь бюджет ушёл на самые дорогие выходные, до 600 миллионов, если бы весь ушёл на вход. Реальная цифра где-то между, и обе границы — это объём, который команда из трёх человек прожигает за пару месяцев плотной работы.
И ещё одна деталь. Никто из атакованных компаний, кроме Shopify, активность не заметил. И это при том, что, по словам исследователей, они отправили тысячи картинок, а обработчики изображений у целей регулярно падали.
Почему Claude сначала отказался писать эксплойт
Потому что целью был удалённый сервис. Против собственной копии в контейнере модель работала без возражений, а писать эксплойт против живого сервиса в сети отказывалась. Обход занял у исследователей один шаг: они переоформили свою же мишень под CTF-задачу.
Эту деталь исследователи не стали прятать.
Обошли это так: подняли свой же экземпляр Discourse Cloud и провели его через домен, оформленный как мишень CTF-соревнования. После этого агента поставили в автономный цикл с целью. Когда через несколько часов исследователи вернулись, агент уже получил RCE и в доказательство прочитал /etc/hosts.
Эпизод говорит про устройство отказа. Он срабатывает по признакам задачи — домен, формулировка, окружение. Намерение автора запроса тут вообще не измеряется. Случайный вред такой фильтр останавливает. Того, кто умеет переформулировать, — нет. Похожая механика разбиралась в отчётах OpenAI про шесть случаев обхода ограничений: агент упирается в запрет и ищет обход, потому что задача никуда не делась.
Кого ещё затронул libheif и как проверить себя
По описанию Hacktron, исследование HEIF Heist прошло по Slack, Zoom, Meta, GitHub Enterprise, Ruby on Rails и Node.js-фреймворкам вроде Next.js, Astro и Gatsby. Уязвим потенциально любой сервис, который принимает от пользователя файлы .heic, .heif или .avif и отдаёт их конвертеру поверх libheif.
Формулировка из самого разбора: удивительно много широко используемого ПО зависит от одной библиотеки обработки изображений. Адаптация эксплойта под очередную компанию занимала день-два.
Проверять себя стоит, если сошлись три условия:
- Пользователь может загрузить файл.
- Среди принимаемых расширений есть
.heic,.heifили.avif. - Файл попадает в ImageMagick, libvips или другой конвертер, который под капотом использует libheif.
Актуальное состояние сборок удобно смотреть в трекере безопасности Debian: там по каждому выпуску видно, какие проблемы закрыты, а какие ещё числятся открытыми. В релизах libheif последний выпуск с пометкой security на 6 сентября 2026 года — 1.23.4; до него 1.23.3 от 1 сентября и 1.23.2 от 25 августа, то есть поток исправлений идёт плотно.
Осторожно с номерами версий. Дистрибутивы бэкпортят исправления, не поднимая upstream-номер, поэтому свежий номер ничего не доказывает, а старый ничего не опровергает. Смотреть надо запись в advisory своего дистрибутива.
Что делать, если ваш сервис принимает картинки от пользователей
Что делать, если совпало, — по разбору и рекомендациям мейнтейнеров:
- Обновить libheif и libde265 через канал безопасности дистрибутива. Не в следующем спринте — сейчас.
- Отключить декодирование HEIF и AVIF там, где оно не нужно. Самый дешёвый способ не иметь уязвимости в парсере — не звать парсер.
- Ограничить форматы в файле политики безопасности ImageMagick и заодно потолки по памяти и времени.
- Вынести обработку изображений в эфемерный процесс с минимальными правами. Discourse после инцидента добавила песочницу именно как защиту в глубину.
- Завести алерт на падения обработчика изображений. Тысячи присланных картинок и регулярные краши — это и был сигнал, который почти никто не заметил.
- Пересобрать образ, а не обновить приложение через веб-интерфейс: уязвимость сидела в системном пакете внутри докер-образа, и обновление приложения его не меняло.
Пункт про изоляцию стоит читать вместе с нашим разбором, почему обычного Docker для такого мало, — контейнер делит ядро с хостом, и это другой уровень защиты, чем кажется.
Что это меняет для тех, кто подключает модели по API
Главный вывод разбора — про экономику атаки.
Долгие годы софт защищала сложность эксплуатации. Уязвимость могла быть публичной, но превращение её в надёжный эксплойт требовало редкой экспертизы, времени и знания конкретной среды. Настоящей границей безопасности это никогда не было — так, побочный эффект. Но обычные компании он на практике прикрывал лучше половины их средств защиты. Теперь экспертиза конвертируется в вычисления, и месяцы работы сжимаются в дни.
Для команды, которая просто подключает модель к своему продукту, из этого следует три вещи.
Модель на вашей стороне такая же сильная. Те же Opus 5 и GPT-5.6 Sol, которыми писали эксплойт, читают ваш код в ревью. Разница только в промпте. Если у вас есть конвейер обработки пользовательских файлов, прогнать его через модель на предмет необработанных путей — работа на один вечер и десятки рублей по счётчику.
Права инструментов важнее прав пользователя. Переполнение кучи тут — только вход. Дальше сработало то, что у Codex одного сотрудника был доступ в GitHub-организацию: один захваченный аккаунт вскрыл репозитории. Тот же принцип работает в любой интеграции: отдельный ключ на каждый контур, отдельный лимит, минимальный набор подключений. Подробный список проверок — в нашем чек-листе безопасности ИИ-функции.
Порог входа считается в счёте за токены. Двухмесячная кампания трёх человек уложилась в сумму, сопоставимую со стоимостью одного рабочего ноутбука. Это работает в обе стороны: серьёзная проверка собственного кода тоже больше не требует бюджета крупной компании. Как считать такие расходы в рублях, разобрано в нашем материале про цену миллиона токенов.
В каталоге KeyDealer Opus 5 стоит 30 ₽ за миллион токенов, Opus 4.8 и GPT-5.6 Sol — по 40 ₽. Для тех, кто следит за ценами: более сильная модель в каталоге стоит на четверть дешевле предыдущей — 30 ₽ против 40 ₽ за миллион. Ровно та пара, на которой исследователи увидели разницу между «несколько сессий без результата» и «три часа до рабочего эксплойта».
Ключ выдаётся сразу на keydealer.ru/login, оплата в рублях, отдельный ключ под каждый контур с собственным лимитом — чтобы скомпрометированная интеграция не утащила за собой остальные.
Частые вопросы
Что произошло с инфраструктурой OpenAI в июле 2026 года?
25 июля 2026 года трое исследователей из Hacktron связали две уязвимости в цепочку и получили доступ к аккаунтам сотрудников OpenAI в ChatGPT и Codex. Через подключённый к Codex доступ в GitHub-организацию они открыли демонстрационный pull request во внутреннем монорепозитории. Разбор опубликован 13 сентября 2026 года.
Через что именно взломали форум OpenAI?
Через загрузку картинки. Форум community.openai.com работает на Discourse, который передавал файлы HEIC и HEIF на конвертацию в ImageMagick, а тот — в библиотеку libheif. В сборке стояла версия 1.19.7 без бэкпорта исправлений, и переполнение кучи при разборе HEIC давало выполнение кода. Discourse выпустила advisory GHSA-vhm9-85gw-x335 28 июля 2026 года, оценка High, CVSS 8.8.
Почему уязвимость так долго оставалась незакрытой?
Исправление в libheif было сделано годом раньше, но в upstream оно не помечено как относящееся к безопасности и не получило CVE. Из-за этого дистрибутивы не приоритизировали бэкпорт: сборка Discourse опиралась на Debian 12, а Debian 13 на тот момент тоже отдавал уязвимую версию.
Какие модели использовали исследователи?
По их описанию — Claude Opus 4.8, Claude Opus 5 и GPT-5.6 Sol. Opus 4.8 за несколько сессий не смог дать рабочий эксплойт при включённом ASLR. Opus 5 вышел вечером 24 июля 2026 года, и в новой сессии рабочий эксплойт под ARM64 получился за три часа. Все три модели есть в каталоге KeyDealer.
Сколько стоила эта работа в токенах?
Hacktron пишет, что вся двухмесячная кампания HEIF Heist против нескольких крупных компаний обошлась меньше чем в 3000 долларов на токены и заняла время трёх исследователей. По курсу ЦБ на 18 сентября 2026 года это около 253 500 рублей. Выплаченное OpenAI вознаграждение — 6500 долларов, то есть больше, чем стоила вся кампания.
Модель отказывалась писать эксплойт?
Да. По описанию исследователей, Opus отказывался писать эксплойт против удалённого сервиса. Они обошли отказ, проведя свой же тестовый Discourse через домен, оформленный как мишень CTF. Против локальной копии в контейнере модель работала без возражений.
Мой сервис тоже уязвим, если принимает картинки?
Проверять стоит, если пользователь может загрузить файл .heic, .heif или .avif и он попадает в ImageMagick, libvips или другой конвертер поверх libheif. Hacktron прямо пишет, что от этой библиотеки зависит неожиданно много ПО, и продолжила исследование по другим компаниям.
Что делать с уязвимой сборкой libheif?
Обновиться до версии с актуальными исправлениями по каналу безопасности своего дистрибутива. На 6 сентября 2026 года последний upstream-релиз с пометкой security — 1.23.4. Проверить конкретную сборку можно в трекере безопасности Debian: там видно, какие выпуски закрыты, а какие ещё числятся уязвимыми.
Как ограничить обработку картинок, если обновиться прямо сейчас нельзя?
Отключить декодирование HEIF и AVIF там, где оно не нужно, и вынести обработку изображений в отдельный изолированный процесс. У ImageMagick есть файл политики безопасности, где можно запретить отдельные форматы и ограничить ресурсы. Discourse после инцидента добавила песочницу для обработки изображений как защиту в глубину.
Что этот случай меняет для обычной команды?
Экономику атаки. Раньше превращение известной ошибки памяти в надёжный эксплойт требовало редкой экспертизы и месяцев работы, и это защищало обычные компании лучше любого фаервола. Теперь та же работа считается в днях и в счёте за токены. Модель, которая пишет эксплойт, стоит столько же, сколько модель, которая пишет ваши тесты.
Сколько стоит доступ к этим моделям в рублях?
В каталоге KeyDealer Opus 5 идёт по 30 ₽ за миллион токенов, Opus 4.8 и GPT-5.6 Sol — по 40 ₽. Оплата в рублях, ключ выдаётся сразу на keydealer.ru/login, отдельный ключ можно завести под каждый контур и поставить ему лимит.
Источники
- https://www.hacktron.ai/blog/hacking-openai
- https://github.com/discourse/discourse/security/advisories/GHSA-vhm9-85gw-x335
- https://github.com/strukturag/libheif/releases
- https://security-tracker.debian.org/tracker/source-package/libheif
- https://www.anthropic.com/news/claude-opus-5
- https://platform.claude.com/docs/en/about-claude/pricing
- https://api.keydealer.ru/v1/models