Перейти до контенту

IT

Plerdy і сторонні скрипти на сайті: що перевірити власнику бізнесу після звіту Sekoia

Іван Характерник 10 хв читання
Ізометрична мініатюрна промислова сортувальна система з мережею конвеєрів, що сходяться до центрального механізму з прихованим золотистим модулем. Окремі пакунки позначені золотом і перенаправляються на ізольовану лінію обробки, тоді як решта продовжує звичайний рух. Візуальна метафора компрометації стороннього аналітичного сервісу Plerdy, через який шкідливий код потрапив на тисячі сайтів і створив ризик для їхніх відвідувачів. Темно-сині, сірі та кремові відтінки, стримані золотисті акценти, чистий корпоративно-редакційний стиль, панорамна композиція 21:9.
Сторонній скрипт працює на сторінці так, ніби він ваш, але його код лежить на чужому сервері.

За даними Sekoia, з 27 серпня по 3 вересня 2026 року аналітичний трекер українського сервісу Plerdy віддавав відвідувачам тисяч сайтів не лише свій скрипт: до файлу main.js додали код для збору даних про браузер і пристрій, щоб далі атакувати телефони. Звіт Sekoia вийшов 4 листопада; переважна більшість цих сайтів українські. Plerdy у власній заяві підтвердила компрометацію в той самий період і каже, що код прибрано. Для власника сайту найважливіше не те, хто стоїть за кампанією, а те, що сторонні скрипти на вашій сторінці виконуються в браузері ваших клієнтів із тими самими правами, що й ваш власний код.

Що відомо про компрометацію Plerdy зі звіту Sekoia

Sekoia виявила кампанію в середині жовтня 2026 року й описує її як watering hole: зловмисники не шукають жертв по одній, а заражають місця, куди ті приходять самі. Для цього вони скористалися трьома шляхами: зламали окремі легітимні сайти, підняли сайти-двійники відомих ресурсів і скомпрометували аналітичний сервіс.

З Plerdy, за Sekoia, сталося так: у файл `a.plerdy.com/public/js/click/main.js` додали код, який підвантажував окремий скрипт для збору параметрів браузера й пристрою (fingerprinting) поряд із легітимним скриптом Plerdy. Серед сайтів, що використовували трекер, були й безпосередньо пов’язані з обороною та військовим рекрутингом в Україні (Sekoia називає сайти армії, сил спеціальних операцій і військового спорядження), але чи цілили зловмисники саме в їхніх відвідувачів, вона не стверджує. Окремо Sekoia описує зламаний шаблон сайту українського газовидобувного підприємства: його змінили так, що він завантажував зовнішній fingerprinting-скрипт, і саме це стало точкою, з якої дослідники вийшли на кампанію.

Що каже Plerdy: заява компанії

Plerdy опублікувала сторінку «Plerdy security incident, August–September 2026» (на ній стоїть позначка «Updated: November 6, 2026» і статус «resolved on September 3, 2026»). За цією заявою, зловмисник отримав доступ до серверів Plerdy з украденими обліковими даними адміністратора, і з 27 серпня по 3 вересня скрипт трекера містив неавторизований код, що завантажував скрипт із зовнішнього домену. Компанія підтверджує, що Sekoia описала той самий період і називає Plerdy скомпрометованою третьою стороною.

Що ще Plerdy повідомляє про себе:

  • Дані клієнтів. Контактні дані облікових записів клієнтів, зокрема імена й адреси електронної пошти, були відкриті зловмиснику. Паролі зберігаються лише у вигляді незворотних хешів, номерів платіжних карток компанія не зберігає, платежі обробляє Paddle.
  • Що зробили. 3 вересня прибрали неавторизований код зі скрипта трекера, заблокували доступ зловмисника й замінили облікові дані на серверах. 4 вересня, як запобіжний захід, скинули всі паролі й завершили всі сесії входу. Тепер скрипт трекера збирають автоматично з коду під контролем версій, його не редагують вручну на серверах.
  • Відвідувачі сайтів. Plerdy пише, що не має доказів компрометації жодного відвідувача. Посилаючись на Sekoia, компанія зазначає, що ризик був лише для застарілих телефонів на iOS і Android; Sekoia, за словами Plerdy, не змогла отримати скрипт, використаний у її випадку.
  • Співпраця. Plerdy повідомила про інцидент CERT-UA й передала технічні дані.

Plerdy також заявляє, що користуватися сервісом безпечно, а власникам сайтів не потрібно змінювати чи прибирати її код, бо зараз віддається перевірена збірка. Це позиція самої компанії: ми не можемо незалежно перевірити ні відсутність компрометації відвідувачів, ні те, що відданий зараз скрипт чистий. Sekoia на цьому також не наполягає: вона пише про ризик для телефонів із вразливими системами, але не стверджує, що хтось із відвідувачів справді заражений.

Як працювала атака на телефони: iOS, Android і вразливості

На основі зібраних даних сервер визначав, чи є на пристрої вразливості, і віддавав відповідний ланцюг експлойтів. Sekoia описує три ланцюги залежно від пристрою:

  • iPhone з iOS 16 і 17. Ланцюг із двох вразливостей WebKit (CVE-2025-43529 і CVE-2024-27834) крав cookie браузера. Sekoia бачила його проти iOS 16.7 і пише, що він працює на версіях від 16.0 до 17.4.
  • iPhone з iOS 18.5. Набір DarkSword (так його називає Sekoia) із п’яти вразливостей викрадав повніший набір даних: повідомлення, Keychain, історію й cookie Safari, паролі Wi-Fi, геолокацію, фото.
  • Android із Chrome 139–145, крім 143. Дві вразливості (CVE-2026-3910 і CVE-2025-27038) давали доступ до cookie й історії Chrome, облікових даних та паролів Wi-Fi.

Разом це вісім різних вразливостей: CVE-2025-43529 входить у два ланцюги. Усі вони, за Sekoia, вже були виправлені, і користувач із оновленою операційною системою від цих атак захищений. Записи NVD для сімох із восьми підтверджують, що виправлення вийшли задовго до кінця серпня: найпізніші з них у лютому й березні 2026 року (iOS 26.3 і Chrome 146).

Є два застереження. Перше: восьма вразливість, CVE-2025-27038, стосується драйвера графіки Adreno (чипи Qualcomm); NVD не вказує виправленої версії, а виправлення залежать від оновлень безпеки виробника телефона, тож для апаратів, які таких оновлень уже не отримують, захист не гарантований. Друге стосується старіших iPhone: NVD називає виправлення CVE-2024-27834 в iOS 16.7.8 і 17.5, а для CVE-2025-43529 лише в iOS 18.7.3 та 26.2. Чи закриває це ланцюг на iPhone, які не оновлюються вище iOS 16–17, ми не з’ясували. Для таких телефонів перестрахуйтеся: не відкривайте з них робочі акаунти, поки не звірите версію зі списком на сторінці Apple Security Releases.

Хто стоїть за кампанією: що Sekoia каже про APT29

Sekoia пов’язує кампанію з угрупованням APT29 (його ще називають Midnight Blizzard і Cozy Bear, а компанія співвідносить з російською СЗР) або принаймні з однією з його підгруп, із рівнем упевненості від середнього до високого. Це оцінка дослідників, а не встановлений судом чи державою факт. Експлойти, на думку Sekoia, могли надійти від третьої сторони, можливо від комерційного розробника шпигунського ПЗ.

Sekoia дякує CERT-UA за співпрацю і співпрацює з CERT країн, чиї сайти постраждали; окремого попередження CERT-UA чи Держспецзв’язку про цю кампанію ми не знайшли. Ширшу картину загроз для українського бізнесу дає звіт CERT-UA за перше півріччя 2026 року.

Що досі невідомо про атаку через Plerdy

Plerdy не вказує, коли виявила вторгнення, не називає зовнішній домен, з якого завантажувався скрипт, і не публікує, скільки клієнтів зачеплено. Sekoia пише лише про тисячі сайтів і не публікує, скільки відвідувачів справді заражено; Plerdy стверджує, що доказів немає, але це її власна оцінка. Тому підстав закликати масово повідомляти відвідувачів поки немає.

Як перевірити сторонні скрипти на сайті: кроки для власника

Sekoia рекомендацій власникам сайтів не дає, тож нижче зібрано практики з документації MDN і настанов OWASP та наші висновки з них. Схожий принцип, коли чужа хмарна інфраструктура стає шляхом до вашого обладнання, ми розбирали в матеріалі про камери Dahua і P2P-доступ.

Як зрозуміти, чи був Plerdy на вашому сайті

Пошукайте в шаблоні, плагінах і менеджері тегів `plerdy.com` та `a.plerdy.com/public/js/click/main.js`. Щоб зрозуміти, чи скрипт працював у період з 27 серпня по 3 вересня, дивіться журнали змін сайту, бекапи шаблонів і версії контейнера менеджера тегів на ці дати. Чи був саме цей файл у зміненому вигляді, власник сайту сам не перевірить. Plerdy на запит надає список своїх доменів та індикатори компрометації для порівняння, а також технічний опис інциденту для служби безпеки.

Якщо ви клієнт Plerdy

За заявою компанії, контактні дані вашого облікового запису (ім’я й адреса електронної пошти) були відкриті зловмиснику. Паролі скинуто 4 вересня, але якщо ви використовували той самий пароль на інших сервісах, змініть його й там. Клієнти можуть увімкнути двоетапний вхід з одноразовим кодом на пошту, а Plerdy радить остерігатися листів, що просять пароль чи оплату: компанія стверджує, що ніколи не просить пароль електронною поштою.

Перелік сторонніх скриптів

Відкрийте сторінку в інструментах розробника, вкладка Network, відфільтруйте JS і подивіться на домени. Усе, що завантажується з чужих доменів, треба знати поіменно. Скрипти, якими ніхто не користується, приберіть.

Content-Security-Policy (CSP): що це і що дає

Заголовок `Content-Security-Policy` обмежує, звідки сторінка може завантажувати скрипти. MDN радить для таких обмежень одноразовий токен (nonce) або хеш скрипта і застерігає, що списки дозволених доменів складно підтримувати. Почати можна з режиму `Content-Security-Policy-Report-Only`: він нічого не блокує, але показує порушення; працює він лише як HTTP-заголовок, задати його через тег `` не можна. Звідси висновок для історії з Plerdy: політика, яка дозволяє скрипти з `a.plerdy.com`, не відрізнила б справжній main.js від підміненого на тому ж домені, бо CSP обмежує джерело, а не вміст файлу.

Subresource Integrity (SRI): що це і коли працює

Атрибути `integrity` і `crossorigin` змушують браузер порівняти скрипт із хешем і відмовитися його завантажувати, якщо файл змінили; сервер постачальника скрипта для цього має віддавати CORS-заголовок. MDN прямо описує це як захист від атаки через ланцюг постачання. OWASP застерігає: хеш треба оновлювати щоразу, коли постачальник змінює файл, інакше браузер його заблокує і скрипт просто перестане працювати. На практиці це означає, що для трекера, який постачальник оновлює сам, SRI або ламає його роботу, або вимагає узгодження оновлень, а для статичних бібліотек із CDN вона працює добре.

Власна копія скрипта

OWASP згадує дзеркалювання скрипта на власній інфраструктурі: копія не зміниться без вас. Ціна в тому, що актуальність копії тепер ваша справа, а деякі постачальники забороняють таке використання, тож спершу прочитайте їхні умови.

Менеджер тегів

За OWASP, менеджери тегів підвищують ризик, бо людина без технічної підготовки може змінити те, що виконується на сторінці. Обмежте, хто публікує теги, і переглядайте зміни так само, як код.

Що робити з телефонами співробітників

Попросіть співробітників, які між 27 серпня і 3 вересня відкривали сайти з телефона, оновити iOS або Android і Chrome: для оновлених систем ці ланцюги не працюють (застереження див. вище). Те саме радить і Plerdy. Якщо хтось користувався неоновленим пристроєм, змініть паролі, зокрема від Wi-Fi, і вийдіть з відкритих сесій, адже кампанія крала cookie, дані сесій і паролі від мереж. Що ще варто привести до ладу в мережі, зібрано в матеріалі про те, як захистити корпоративну мережу, поки офіс відпочиває.

Якщо ви оператор критичної інфраструктури або обробляєте персональні дані клієнтів, уточніть у юриста, чи потрібно повідомляти про такий інцидент.

Часті запитання про Plerdy і сторонні скрипти

За даними Sekoia, у файл a.plerdy.com/public/js/click/main.js додали код, який підвантажував окремий скрипт для збору параметрів браузера й пристрою (fingerprinting), а далі сервер віддавав ланцюги експлойтів для iPhone і Android. Кампанія тривала з 27 серпня по 3 вересня 2026 року, трекер завантажували тисячі сайтів, переважно українських. Plerdy у власній заяві підтвердила компрометацію в цей період і пише, що код прибрано 3 вересня 2026 року.

Пошукайте в шаблоні, плагінах і менеджері тегів plerdy.com та a.plerdy.com/public/js/click/main.js. Щоб зрозуміти, чи скрипт працював у вікні з 27 серпня по 3 вересня, дивіться журнали змін сайту, бекапи шаблонів і версії контейнера менеджера тегів на ці дати. Чи був саме цей файл у зміненому вигляді, власник сайту сам не перевірить; Plerdy на запит надає список своїх доменів та індикатори компрометації для порівняння.

Content-Security-Policy обмежує, звідки сторінка може завантажувати скрипти, але не перевіряє вміст файлу: політика, що дозволяє a.plerdy.com, не відрізнила б справжній main.js від підміненого на тому ж домені. Subresource Integrity (атрибути integrity і crossorigin) змушує браузер порівняти скрипт із хешем і не завантажувати його, якщо файл змінили. Для трекера, який вендор оновлює сам, SRI або ламає функцію, або вимагає узгодження оновлень, а для статичних бібліотек із CDN працює добре.

За Sekoia, усі описані ланцюги спираються на вже виправлені вразливості, тож користувач із оновленою операційною системою від цих атак захищений. Є два застереження: для CVE-2025-27038 (драйвер графіки Adreno) NVD не вказує виправленої версії, а виправлення залежать від виробника телефона; для старіших iPhone, які не оновлюються вище iOS 16–17, чи закриває це ланцюг, ми не з’ясували, тому перевіряйте Apple Security Releases.

Розсилка «Радар»

Що змінилося в законах для бізнесу — раз на тиждень

Нові закони, рішення регуляторів і дедлайни простою мовою, з кроками для компанії. Без реклами.

Натискаючи «Підписатися», ви погоджуєтесь отримувати розсилку DELO.NET.UA. Відписатися можна одним кліком у будь-якому листі. Політика конфіденційності

Поділитися матеріалом

Ізометрична мініатюрна промислова сортувальна система з мережею конвеєрів, що сходяться до центрального механізму з прихованим золотистим модулем. Окремі пакунки позначені золотом і перенаправляються на ізольовану лінію обробки, тоді як решта продовжує звичайний рух. Візуальна метафора компрометації стороннього аналітичного сервісу Plerdy, через який шкідливий код потрапив на тисячі сайтів і створив ризик для їхніх відвідувачів. Темно-сині, сірі та кремові відтінки, стримані золотисті акценти, чистий корпоративно-редакційний стиль, панорамна композиція 21:9. Plerdy і сторонні скрипти на сайті: що перевірити власнику бізнесу після звіту Sekoia IT delo.net.ua

Куди поділитися