Зловживання GitHub Actions перетворило сховища Packagist на сканери

GitHub Actions зловживання: атака на Packagist репозиторії

GitHub Actions зловживання торкнулося кількох репозиторіїв у Packagist. Зловмисники використовували тимчасові обчислювальні потужності для сканування систем cPanel. Це сталося через злом облікового запису PHP та DevOps розробника з нікнеймом dinushchathurya. Зловмисник отримав доступ до його GitHub репозитаріїв, вставивши шкідливі файли у .github/workflows/ і зворушивши їх до гілок, які Packagist синхронізував як розробницькі версії.

Хоча PHP бібліотеки не містили зловмисного коду самі по собі, файли GitHub Actions в середовищі CI могли запускати шкідливий код. Споживачі цих пакетів були піддані ризику. Після установки, зловмисні файли залишались неактивними, оскільки GitHub ігнорує такі файли в залежностях. Однак запуск шкідливих дій відбувався, коли відбувався push-зміни чи їх запускали вручну через GitHub Actions.

Кожна зловмисна версія в Packagist містила від 55 до 62 workflow файлів, загалом 583 файли для десяти пакетів. Workflows були налаштовані на запуск під час push-зміни до будь-якої гілки та через подію workflow_dispatch. Тимчасова віртуальна машина отримувала відповідний Linux виконуваний файл із зовнішнього сервера та запускала його.

Socket виявив кінцеві точки завантажень для різних архітектур процесорів. Навантаження націлювалося на порти, часто асоційовані з веб-сервісами та адміністративними інтерфейсами cPanel або WHM. Зловмисник намагався експлуатувати відомі вразливості. Зловмисний код оброблявся у середовищі CI, що дозволяло проводити сканування без розгортання інфраструктури на серверах зловмисника. Кожен скомпрометований репозиторій міг генерувати нові тимчасові спроможності після звичайної діяльності розробника.

Атака була спрямована на системи cPanel та WHM. Злом cPanel може піддати небезпеці файли сайтів, бази даних та інші конфіденційні дані клієнтів. Атака не обмежувалася моніторингом реєстру пакетів, а використовувала можливості GitHub Actions, що підкреслює необхідність ретельного контролю над конфігураціями репозиторіїв та GitHub.

Ефективне управління починається з впровадження затвердження змін у .github/workflows/. Командам рекомендується обмежити дозволи, контролювати активність workflows та застосовувати виправлення для відомих вразливостей у системах cPanel та WHM. Подія слугує нагадуванням про можливість більш поширених атак або витоків даних.