Отказ от ответственности: я далек от того, чтобы быть экспертом по системам безопасности, поэтому, если вы обнаружите какие-либо ошибки, пожалуйста, прокомментируйте этот пост. Я определенно ценю любой отзыв!

Последняя атака на ESLint была простой и прямой. Все, кто выполнял npm installи использует ESLint, напрямую или через Babel, вероятно, пострадали от этого. Подробнее о вредоносной атаке на ESLint можно прочитать в записи блога ESLint.

Чтобы проверить, не был ли заражен какой-либо из ваших файлов, просто выполните следующую команду в Linux:

cd / && sudo find . -name 'package.json' -exec grep -i -s -r -e "[email protected]" -e "[email protected]" basename {} \; && echo "Finish scanning your computer"

Сценарию требуются права root, и сканирование всей файловой системы может занять от нескольких минут до часа. Результаты будут выглядеть так:

./some/path/project1/eslint-scope/package.json:  "_id": "[email protected]",
./some/path/project2/node_modules/eslint-scope/package.json:  "_id": "[email protected]",
./some/path/project3/node_modules/eslint-scope/package.json:  "_id": "[email protected]",

Теперь мы знаем, что project1 , project2 и project3 заражены.

Решение зависит от того, как установлен пакет — локально, глобально или в зависимости от webpack или babel-eslint.. В любом случае обязательно следуйте рекомендациям в сообщении блога.

Барак Бен Нун — разработчик полного стека в Comet.ml. В настоящее время он изучает математику и информатику в Колумбийском университете и ранее служил в спецназе.

О Comet.ml —Comet.ml делает для машинного обучения то, что Github сделал для кода. Наш облегченный SDK позволяет группам специалистов по обработке и анализу данных автоматически отслеживать свои наборы данных, изменения кода и историю экспериментов. Таким образом, специалисты по данным могут легко воспроизводить свои модели и совместно работать над итерацией модели в своей команде!