Доменот polyfill.io е искористен за инфицирање на над 100 000 веб страници со малициозен код. Страницата го променила сопственикот, а од оваа година доменот го купила кинеска организација пренесе Register. Безбедносните експерти оваа недела речиси едногласно ги предупредија сите кои користат JavaScript код од polyfill.io да престанат да го прават ова и да го отстранат кодот од својата страница.
Популарната Javascript библиотека Polyfill.io овозможува надминување на разликите помеѓу новите и постарите верзии на прелистувачите. Кодирањето за да се надминат oвие разлики може да одземе доста време на девелоперите. Наместо ова поддршката за модерните функционалности се обезбедува преку “polyfilling”.
Според експертите Polyfill.io започнала од cdn.polyfill.io заедно со скриптите да „испорачува“ малициозен код. Како последица секогаш кога некој ќе посети страница која ги користи нивните библиотеки во прелистувачот ќе „работат“ и малициозните скрипти. Сервисот го користат JSTOR, Intuit, World Economic Forum и куп други сајтови.
„Доменот cdn.polyfill.io во моментов е дел од web supply chain напад. Порано хостираше сервис кој испорачуваше JavaScript pollyfill на страниците, но сега вметнува малициозен код во скриптите кој се испорачува до крајните корисници.“, вели безбедносниот експерт Карло Данџело.
„Pollyfilling“ е процес на додавање на функционалности кои му недостасуваат на прелистувачот со помош на JavaScript. На пример, ако на прелистувачот му недостасуваат функционалности како JavaScript методи или CSS properties програмерите може да користат polyfill за да ја додадат функционалноста. Ова овозможува пишување на модерен код и истовремено обезбедува дека сите функционалности кои недостасуваат ќе бидат заменети со еквивалентни. На пример ако сакате да користите Array.from() може да додадете polifyll за да обезбедите дека ќе функционира.
Неколку polyfill примери
fetch API Polyfill: Fetch API е модерен начин за воспоставување мрежни барања (request). За постарите прелистувачи на кои им недостасува поддршка, може да се вклучи polyfill како whatwg-fetch или isomorphic-fetch.Promise Polyfill: „Promises“ го поедноставуваат асинхрониот код. Ако прелистувачот не поддржува „ветувања“, можете да користите polyfill како es6-promise.
За да се намали опасноста и штетата од нападите Google ги блокира рекламите до страниците кои го користат сервисот.
Новиот сопственик на polifill.io доменот е компанијата Funnull која тврди дека е лоцирана во Словенија и има канцеларии низ целиот свет. Сепак адресата на компанијата е лоцирана на Филипини, а поради уште некои нелогичности постојат сомневања дека компанијата која е нов сопственик на доменот потекнува од Кина.
Дури и Ендрју Бетс кој го креираше pоlyfill.io ги предупреди корисниците да не ја користат библиотеката. Тој престанал да ја одржува на почетокот на годината откако заклучил дека повеќе не е потребна.