Заражённые PHP-пакеты: у открытого кода есть и тёмная сторона

25.05.2026 Опубликовано | Переведено с испанского

Группа библиотек для PHP была скомпрометирована вирусом, предназначенным для кражи паролей. Те, кто интегрировал эти пакеты в свои проекты, обнаружили свои данные скомпрометированными. Атака напоминает, что использование открытого кода без контроля может иметь серьезные последствия. Рекомендуется обновиться до безопасных версий и проверять целостность каждой зависимости.

кинематографическая техническая иллюстрация, показывающая экран репозитория PHP-кода с процессом внедрения вредоносного пакета, светящиеся красные нити вирусного кода, обвивающие иконку базы данных паролей, разорванные звенья цепей между блоками библиотек с открытым исходным кодом, темный фон серверной комнаты с мерцающими огнями мониторов, окна терминалов, отображающие поврежденные деревья зависимостей, трескающиеся иконки замков безопасности, утечки потоков данных из скомпрометированных серверов, сверхдетализированная цифровая криминалистическая визуализация, драматическое красно-синее предупредительное освещение, фотореалистичное представление киберугрозы

Как контроль зависимостей предотвращает атаки в вашем стеке 🛡️

Заражение распространилось через официальные репозитории, где злоумышленники внедрили вредоносный код в определенные версии пакетов. При выполнении на сервере вредоносное ПО извлекало учетные данные, хранящиеся в переменных окружения или файлах конфигурации. Для снижения рисков важно использовать инструменты анализа состава программного обеспечения (SCA) и вести запись хэша каждой зависимости. Урок прост: не доверяйте слепо тому, что загружаете.

День, когда ваш менеджер пакетов украл ваш пароль 😅

Оказывается, самой большой угрозой безопасности был не хакер в капюшоне, а простая команда composer install. Теперь разработчики смотрят на свои файлы composer.json как на секретные документы. Следующим шагом будет просить сервер дуть перед выполнением require. Хорошо, что открытый код бесплатен, потому что за спокойствие, которое он дает, приходится платить отдельно.