Вредоносная кампания PolinRider заразила PHP-пакет для двухфакторной аутентификации

17 сентября 2026 года Socket сообщил о вредоносном коде в четырёх dev-версиях visanduma/nova-two-factor – пакета двухфакторной аутентификации для Laravel Nova. Изменения внесли через скомпрометированный аккаунт GitHub. Исследователи связывают их с вредоносной кампанией PolinRider.

К 18 сентября Packagist пометил четыре версии как вредоносные и временно заморозил пакет. Его счётчик установок превышает 700 тысяч. База CodeScoring содержит информацию обо всех четырех вредоносных версиях пакета.

В оценке угрозы такого пакета важна разница между релизом и веткой. В Composer префикс dev- обозначает версию из ветки репозитория. Такая зависимость позволяет получать изменения без ожидания стабильного выпуска. По умолчанию Composer рассматривает стабильные версии, однако проект также может явно разрешить development-версии. Поэтому dev-версия не означает, что заражённый код находился в изолированной среде тестирования.

О похожем заражении через Git на Хабре уже рассказывал разработчик в мае. Теперь компрометацию нашли в конкретном PHP-пакете. Поэтому при проверке важны не только имя зависимости, но и выбранная версия и путь получения кода.

В описанных Socket вариантах заражения PolinRider код прячется в конфигурации сборки, файлах под видом шрифтов и задачах IDE. После запуска он загружает следующие компоненты для кражи данных. Перезапись истории Git через force-push также затрудняет разбор изменений. Помимо этого исследователи обнаружили вариант с запуском JavaScript из index.php через PHP-функцию shell_exec, выполняющую системную команду.

Командам, использующим пакет, стоит предпринять следующие шаги:

  • Найти его в файлах composer.json и composer.lock, сверить версию и ссылку на коммит с индикаторами. Lock-файл фиксирует выбранные версии, но не подтверждает безопасность зафиксированного кода.

  • Просмотреть историю force-push и изменения конфигурации сборки и IDE. До завершения проверки открывать проект в VS Code в режиме Restricted Mode. Если проект уже отмечен как доверенный, отозвать доверие через Workspaces: Manage Workspace Trust. Запретить автоматические задачи через Tasks: Manage Automatic Tasks → Disallow Automatic Tasks.

  • Для загрузок через модуль CodeScoring.OSA использовать активную блокирующую политику с условием «Зависимость опасна» на этапе proxy.

  • Если код уже выполнялся, изолировать рабочую машину или CI-раннер, проверить доступные ему секреты и отозвать скомпрометированные ключи. Очистка репозитория не устраняет последствия исполнения на хосте.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев