Кейс: вредоносная версия популярного пакета
Вопрос
Стало известно, что версия популярной npm-библиотеки, которую вы используете, содержала код кражи токенов. Ваши действия?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Найти по SBOM и lock-файлам, где и когда эта версия устанавливалась, включая CI и машины разработчиков
Заблокировать версию в прокси-реестре, откатиться на безопасную
Считать скомпрометированными секреты окружений, где пакет устанавливался, и ротировать их
Проверить логи на использование украденных токенов
Расследование как инцидента и сообщение затронутым
Выводы: ignore-scripts, задержка на новые версии, минимальные секреты в сборке
Что могут спросить следом
- Как понять, успел ли код выполниться?
- Что изменить, чтобы такая атака не дала доступа к проду?
Разбор
Образцовый ответ: «Первым делом нахожу масштаб: по SBOM, lock-файлам и логам CI определяю, где и в какой период ставилась вредоносная версия, включая ноутбуки разработчиков. Блокирую её в прокси-реестре и фиксирую безопасную версию. Все секреты, доступные в этих окружениях (токены CI, npm, облака, переменные), считаю скомпрометированными и ротирую. Смотрю логи облака и реестров на использование токенов с чужих адресов. Работаю как с инцидентом: хронология, уведомления, если затронуты данные клиентов. Дальше меры: --ignore-scripts по умолчанию, политика не брать версии моложе нескольких дней, сборки без лишних секретов, OIDC вместо долгоживущих ключей».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.