Обнаружив, что один из установленных пакетов был скомпрометирован в одном из инцидентов 2026 года, первый порыв — просто обновить пакет до безопасной версии и двигаться дальше. Этого недостаточно: вредоносный код уже мог выполниться и передать секреты атакующему до момента обнаружения.
Почему обновления пакета недостаточно
1. Установлена скомпрометированная версия пакета
2. Вредоносный код выполнился (install-time или import-time)
3. Секреты, доступные процессу, потенциально переданы command-and-control серверу
4. Пакет обновлён до безопасной версии
Шаг четыре останавливает дальнейшую угрозу от этого конкретного пакета, но никак не отменяет то, что произошло на шаге три — если секреты уже были exfiltrated, они остаются скомпрометированными вне зависимости от версии пакета сейчас.
Что считать в зоне риска
Вредоносный код, выполняющийся внутри процесса Node.js, технически имеет доступ ко всем переменным окружения этого процесса — не только к тем, что логически относятся к скомпрометированному пакету. Изоляции по умолчанию между частями одного процесса не существует.
| Тип инцидента | Что было в зоне риска |
|---|---|
| Install-time (например, jscrambler) | Переменные окружения сборочной среды — CI, локальная машина разработчика |
| Import-time (например, AsyncAPI) | Переменные окружения реально работающего приложения, включая продакшн |
Практический порядок действий после обнаружения
Сначала определить, какие именно окружения использовали уязвимую версию за период между её публикацией и обнаружением. Затем собрать полный список переменных окружения этих окружений — не только связанных со скомпрометированным пакетом. И только потом провести полную ротацию всех найденных секретов одновременно.
Как построить этот список без ручного вычитывания
Post-Compromise Secret Exposure Scope Estimator собирает список переменных из ваших .env файлов затронутых окружений с учётом типа инцидента.
Итоговый чеклист
Обновление пакета до безопасной версии останавливает дальнейшую угрозу, но не отменяет уже произошедшую exfiltration секретов за период exposure.
В зону риска попадают все переменные окружения процесса, а не только логически связанные со скомпрометированным пакетом.
Import-time инциденты потенциально раскрывают секреты продакшн-окружения, а не только сборочной среды, в отличие от install-time атак.