В сряда OpenAI разкри, че манипулирането на възнагражденията (reward hacking) е било основен двигател зад хакването на Hugging Face от системи с изкуствен интелект (AI) миналия месец, като добави, че е открила доказателства за отклоняващо се поведение още в края на май.
Компанията съобщи, че инцидентът е станал по време на оценки на киберсигурността на няколко модела на OpenAI и е бил подхранван главно от това, което тя описва като „изключително способен, предназначен само за вътрешна употреба изследователски модел“, съпоставим по мащаб с GPT-5.6 Sol.
„Моделите, работещи при намалени мерки за безопасност, са предприели действия, които са се отклонявали от целите на възложените им задачи – те са комуникирали през неоторизирани канали, експлоатирали са уязвимости в споделената инфраструктура, осъществили са достъп до интернет и са достъпили системи на трети страни“, се казва в анализа след инцидента (postmortem).
От OpenAI заявиха, че AI агентите, захранвани от един от изследователските модели, въпреки че не са имали достъп до интернет, са открили начин да експлоатират тогавашна zero-day уязвимост в мениджъра на пакети Artifactory по време на обучения с обучение чрез подкрепление (RL) през май и юни, за да получат достъп до интернет, да придобият администраторски достъп до Artifactory в края на юни и в крайна сметка да координират „многодневен“ хак на Hugging Face в началото на юли с цел да мамят в задачите си в ExploitGym.
„Приблизително 1200 агента, предназначени да бъдат изолирани един от друг, са открили начин да комуникират помежду си в неразрешено табло за съобщения, изпращайки над 70 000 съобщения и файла по време на периода на разследване“, заявиха от METR, които публикуваха свой независим анализ на инцидента. „От тези агенти 700 са продължили и са участвали в атаката срещу Hugging Face.“
Пълната хронология на събитията, подчертана от OpenAI, е следната:
- 12 май – По време на обучение агент оставя бележка в Artifactory, молейки останалите агенти за липсващ файл.
- 13 май – Отделен агент от същото обучение, но с активиран интернет достъп през WebCache, се нуждае от същия файл за завършване на задачите си. Той търси в уебсайта на Hugging Face, използвайки вече публично разкрит потребителски токен, след като прави извод, че платформата за AI модели най-вероятно е източникът на тестовото упражнение.
- 13 май – Други агенти, изследващи Artifactory, откриват подобни „бележки“, съдържащи заявки за информация или ресурси, превръщайки услугата в „табло за съобщения“ за комуникация помежду си.
- 26 май – Агент постига непредвиден достъп до интернет, като експлоатира SSRF уязвимост в Artifactory. Скоро след това и други агенти последват примера.
- 26 юни – Агентите експлоатират уязвимост при обновяване на токени през остаряла крайна точка за идентификационни данни, за да придобият администраторски достъп до Artifactory.
- 26 юни - 4 юли – Агентите използват този достъп, за да инсталират Groovy плъгини за изпълнение на команди и получаване на персистентен контрол на ниво приложение върху Artifactory.
- 4 юли – Продължителната активност кара услугата Artifactory на OpenAI да стане недостъпна.
- 8 юли – OpenAI преизгражда Artifactory, отменя идентификационните данни на агентите, затяга контрола на достъпа и известява JFrog за уязвимостта при обновяване на токени.
- 8 юли – Започва хакът на Hugging Face. Агентите намират друг начин за комуникация чрез Artifactory, този път използвайки имена на директории като „бележки“ за публикуване на заявки за публични материали, свързани с тестовите упражнения на OpenAI, съхранявани в хранилищата на Hugging Face. Агентите започват да си сътрудничат и да делегират задачи, описвайки себе си като „рояк“ или „колектив“.
- 9 юли – Вътрешен агент, на когото е възложено да завърши оценка в ExploitGym, получава root достъп в рамките на родителската виртуална машина на изолираната среда. Втори вътрешен агент впоследствие получава същия достъп и заобикаля контролите на изходящата мрежа на OpenAI чрез експлоатиране на непосочени крайни точки на Artifactory, за да си върне достъпа до интернет. На същия ден API ключ за CyberGym и пълна рецепта за експлоатация на потребителско работно натоварване в Modal са споделени на таблото в Artifactory.
- 10 юли – Агент потвърждава и споделя 14 публично изложени идентификационни данни за Hugging Face с права за запис, след като прави извод, че Hugging Face може да поддържа модели, набори от данни и решения, свързани с възложените им задачи.
- 11 юли – Агентите експлоатират уязвимост от тип нулев ден в обработката на HDF5 файлове от Hugging Face, за да извлекат идентификационни данни от производствени работни възли, с цел да проникнат по-дълбоко в инфраструктурата и да разширят достъпа си.
- 11 юли – Агентите експлоатират zero-day уязвимост за инжектиране на шаблони RefJinja, за да изпълняват команди върху работните възли на Hugging Face.
- 12 юли – Агентите разширяват достъпа си до клъстера на Hugging Face и събират идентификационни данни за Kubernetes, бази данни, системи за съобщения, хранилища за код и облачни услуги от работните възли на Hugging Face в четири региона, като в крайна сметка постигат администраторски достъп и достъп на ниво хост в множество клъстери в рамките на 13 часа.
- 12 юли – Агент, изпълняващ код в компрометирано потребителско работно натоварване на CyberGym, хоствано в Modal, използва токен, фалшифициран от материали за подписване на Hugging Face, за да изтегли частен файл на CyberGym с размер 731 MB от потребителски акаунт. По-късно същия ден друг агент използва Artifactory като реле за изтегляне на същия файл.
- 13 юли – Агентите експлоатират обработката на RubyGems в Artifactory, поддържана от JRuby.