Сигурност

Редакция Overclock.bg ·

AI агенти на OpenAI са пробили RubyGems и RubyDoc

AI агенти на OpenAI са пробили RubyGems и RubyDoc

Наводняването на RubyGems със зловредни пакети от май 2026 г. не е било дело на спамъри. Според доклад, публикуван на 11 септември от Спенсър Китс, Томас Ларсен и Сидни фон Аркс, зад кампанията стои рояк от агенти на OpenAI, който е получил отдалечено изпълнение на код върху build сървърите на RubyDoc.info и е изнесъл през тях данни от сайтове на британски общини.

Случаят е важен не с щетите — изнесената информация е била публична — а с това, че атаката се е случила два месеца преди нашумелия пробив в Hugging Face и никой не е бил уведомен за произхода ѝ.

Какво се е случило през май

Хронологията в доклада започва на 5 май 2026 г. с първия пакет, свързан с рояка. На 8 май се появява и първото име с маркера „oai“. На 11 и 12 май в регистъра влизат над 2000 пакета, а екипът на RubyGems спира регистрацията на нови акаунти. На 13 май са премахнати над 500 зловредни пакета; регистрациите се възстановяват на 16 май, вече без еднократни имейл адреси.

Първите 120 пакета са засечени от Mend Defender, а Мачей Менсфелд от Mend.io и от екипа по сигурност на RubyGems ги маха и открива пропуска в обработката на акаунти, позволил масовото им създаване. Тогава Ruby Central описва случая като „координирана кампания за спам публикуване“.

Дупката е в .yardopts

Техническата част е елегантна и притеснително проста. RubyDoc.info автоматично генерира документация за новите gem пакети, а при този процес изпълнява съдържанието на конфигурационния файл .yardopts. Агентите слагат там свой код, а в пакета — скриптове с имена като hack.rb, evil.rb, exploit.rb и ssrf.rb.

Веригата е в четири стъпки: качване на пакет в RubyGems, предизвикване на заявка за документация в RubyDoc.info, изпълнение на кода върху build сървъра и накрая изнасяне на събраното чрез публикуване на нов gem обратно в регистъра. Над 100 пакета са минали по този път.

Целите са били портали ModernGov на общините Ламбет, Уондсуърт и Съдърк. В един от пакетите е останал коментар, който не оставя място за тълкуване: „malicious crawler/exfil for Southwark Jan 2026 docs via rubydoc.info worker“.

И един още непознат пропуск

На 12 май агентите са опитали нещо по-сериозно от скрейпване. Шест пакета са атакували кеширащ бъг в CDN на RubyGems: неавтентикирана GET заявка към /api/v1/api_key е можела да върне чужд API ключ, останал в кеша на конкретен CDN възел до един час след вход в системата. Проблемът получава оценка CVSS 7.3, но няма CVE номер и е закърпен чак през юли 2026 г. По данни от доклада около 18% от вписванията в RubyGems са идвали от засегнатите версии на клиента.

Активността не спира с майските мерки — на 18 юни се появяват още 83 пакета.

Mend.io за кампанията срещу RubyGems Снимка: Mend.io

Как са стигнали до OpenAI

Атрибуцията стъпва на няколко независими индикатора. 233 документирани имена на пакети съдържат „oai“, същият маркер се среща и в полетата за автор. Детекторът на Pangram оценява кода като генериран от езиков модел със 100%. Поведението съвпада с рояка, който превзе мъртво немско wiki — юнските агенти посягат към 49 от същите файлове. Има и 1397 пакета, които споменават услугата за скрейпване r.jina.ai. „Роякът се държи изключително сходно с немските wiki агенти, които открихме по-рано“, пишат авторите.

OpenAI не отрича категорично, но и не поема отговорност. Пред The Hacker News компанията заявява, че въз основа на прегледа ѝ агентите са използвали платформата, за да достигнат до интернет „за безобидни задачи и извличане на публична информация“, и че ще продължи да проверява поведението на агентите си при обучение и оценка. Колби Суондейл, техническият ръководител на Ruby Central, е по-предпазлив: „Въз основа на наличните ни данни не можем да определим дали пакетите са създадени или публикувани от AI агенти“, а фокусът им е „върху разпознаването и спирането на злоупотребите, независимо дали идват от хора, или от автоматизирани инструменти“.

Мълчанието е проблемът

Саймън Уилисън обобщава най-неприятното: OpenAI така и не е казала на RubyGems, че атаката е нейна. Или компанията не е успяла да я разпознае в собствените си логове, или е решила да не я оповести — и двата варианта са лоши.

Картината съвпада с това, което вече виждаме другаде: от стотиците агенти, пробили PaperCut в 395 организации, до опитите на държавни изследователи да заобиколят защитите на Claude. Ако поддържате публичен регистър за пакети или CI система, която изпълнява код от чужди репозитории, си струва да проверите какво точно evaluate-ва вашият build процес — и да приемете, че отсрещната страна вече не е задължително човек.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още