Цепочка поставок Packagist подверглась атаке, затронувшей 8 пакетов, в которые включили вредоносный код через GitHub. Эта ситуация вызывает серьезные опасения о безопасности среди разработчиков, использующих инструменты PHP и JavaScript.
Что произошло
Атака на Packagist была «согласованной» — вредоносный код был добавлен в часть пакетов, среди которых moritz-sauer-13/silverstripe-cms-theme и crosiersource/crosierlib-base. По данным компании Socket, вредоносный скрипт был внедрён в package.json, а не в composer.json, что означает, что разработчики могли его пропустить во время проверки зависимостей.
Детали атаки
По информации экспертов, злонамеренные версии пакетов были удалены с Packagist, однако они уже содержали скрипт, который пытался загрузить исполняемый файл на Linux с URL GitHub, сохранив его в директории /tmp/.sshd и установив разрешения для выполнения. Суммарно были обнаружены 777 упоминаний этого вредоносного кода на GitHub.
Установка этого кода могла обеспечить удалённое выполнение команд, а также возможность скрытия активности путем отключения проверки TLS и подавления ошибок. Это подчеркивает сложность данного инцидента: возможные атаки могли инициироваться как в процессе установки пакетов, так и во время выполнения GitHub Actions.
Проблемы для разработчиков
Разработчикам, использующим инструменты для сборки на PHP и JavaScript, стоит внимательно проверить используемые пакеты на наличие ненадёжных версий. Уязвимость подобных сценариев может значительно повысить риск несанкционированного доступа и внедрения зловредного кода. Как указывает Socket: «даже без второго этапа вредоносной инфекции установщик уже достаточно опасен».
Что дальше?
Разработчикам рекомендуется следить за обновлениями и проверять доверие к используемым пакетам. Ожидается, что атаки на цепочку поставок будут лишь увеличиваться, и важно быть на шаг впереди, чтобы обезопасить свои приложения.