Packagist postinstall malware: що перевірити розробникам

Кампанія проти Packagist і GitHub використовувала шкідливі postinstall-хуки для завантаження Linux malware з GitHub Releases.

Пастка Packagist postinstall malware featured image

Кампанія з шкідливими postinstall-хуками зачепила Packagist і проєкти на GitHub: код у метаданих пакета завантажував Linux-пейлоад із GitHub Releases. Для читачів Gridinsoft головний ризик не лише в конкретних пакетах. Небезпека в тому, що CI runner, сервер збірки або робоча станція розробника може виконати install-скрипт до того, як залежність помітять як шкідливу.

Кого це стосується?

Socket повідомила про кампанію 22 травня 2026 року та описала шкідливий postinstall hook у понад 700 репозиторіях GitHub, зокрема в PHP-пакетах на Packagist і Node.js-проєктах. The Hacker News окремо описали Packagist-частину як атаку на вісім пакетів і звернули увагу, що код був у package.json, а не в composer.json.

Це важлива деталь. PHP-проєкт може мати JavaScript-інструменти для фронтенду, тестів або збірки. Якщо перевірити лише Composer, небезпечний hook можна пропустити.

Що зачепленоGitHub-репозиторії, Packagist-пакети та Node.js-проєкти
Точка запускуpostinstall hook у package.json
Шлях пейлоадаLinux-бінарник із GitHub Releases
Кому перевірятиМейнтейнерам, адміністраторам CI, хостинг-командам і розробникам після нещодавніх install/rebuild
Що невідомоПублічні звіти описують поведінку кампанії, але локальну експозицію треба підтверджувати за логами встановлення та історією репозиторію

Це той самий тип проблеми довіри, який видно у випадках Laravel-Lang Composer credential stealer та Mini Shai-Hulud npm wave. Атакувальнику не обов’язково одразу ламати production, якщо install-процес має доступ до токенів збірки.

Що робити зараз

Почніть із машин, де реально виконувалися install-команди. Перевірте CI-логи, історію команд розробників, вивід npm lifecycle scripts і вихідні з’єднання до незвичних GitHub Release URL. Якщо runner зберігав токени, спершу ротуйте їх, а вже потім закривайте питання як просте очищення залежності.

У PHP-проєктах перевіряйте і composer.json, і package.json. Якщо є frontend tooling, Packagist-ризик не обмежується Composer metadata. Перегляньте свіжі оновлення залежностей, зміни lockfile і будь-який postinstall script, який прийшов не з вашого коду.

На shared hosting або self-managed серверах шукайте нові Linux-бінарники в директоріях проєкту, тимчасових папках і CI workspace. Підозрілі файли краще зберегти для аналізу, після чого перебудувати проєкт із чистого lockfile та довіреного джерела пакетів.

Пов’язана перевірка TrapDoor

Composer — не єдиний ризик package-manager екосистеми. TrapDoor використовує npm, PyPI і Crates.io пакети для крадіжки developer secrets та отруєння AI assistant context files.

FAQ

Чи всі Packagist-пакети тепер небезпечні?

Ні. Ризик стосується скомпрометованих або підкинутих пакетів і репозиторіїв. Але ця кампанія показує, що PHP-проєкти з JavaScript-інструментами треба перевіряти ширше.

Чи варто вимикати install scripts?

Під час термінової перевірки запуск install без lifecycle scripts може зменшити ризик, поки команда перевіряє залежності. Для постійного процесу краще дозволяти такі скрипти лише там, де зрозумілий пакет і шлях мейнтейнера.

Яка перша ознака експозиції?

Підозрілий postinstall, лог збірки із завантаженням бінарника з GitHub Releases або вихідні з’єднання runner під час встановлення залежностей.

Також по темі: після postinstall abuse варто переглянути й Megalodon у GitHub Actions, де шкідливі CI workflow ставлять під ризик repository secrets і package releases.

Джерела

  1. Socket Research Team, “Malicious Postinstall Hook Found Across 700+ GitHub Repositories, Including Packagist and Node.js Projects,” 22 травня 2026, оновлено 23 травня 2026. Звіт
  2. The Hacker News, “Packagist Supply Chain Attack Infects 8 Packages Using GitHub-Hosted Linux Malware,” 23 травня 2026. Публікація

Схожий захисний контекст: npm додав staged publishing та install-source controls, які допомагають мейнтейнерам перевіряти реліз до того, як пакет стане installable.

Схожий ланцюжок довіри: після postinstall malware у Packagist з’явилася кампанія з фейковими GitHub/SourceForge-завантаженнями Deno RAT. Читайте новину про Deno RAT у фейкових завантаженнях.

Пишу про те, як зробити життя онлайн комфортним і безпечним. Вірю, що сучасний цифровий світ вартий того, щоб бути його частиною.