Изследовател в областта на сигурността и системен администратор е разработил инструмент, който помага на потребителите да проверяват за несъответствия на проявленията в пакетите от регистъра на JavaScript софтуера NPM.
Миналата седмица Дарси Кларк, бивш инженерен мениджър в GitHub и NPM, предупреди за проблеми с „объркване на манифести“, които могат да създадат риск от скриване на зловреден софтуер в зависимостите или изпълнение на скриптове по време на инсталацията.
„Объркването на манифеста“ се отнася до проблем със сигурността в NPM (Node Package Manager) – мениджър на пакети за езика за програмиране JavaScript и този по подразбиране за средата Node.js.
Проблемът е свързан с несъответстващата информация между манифестните данни на даден пакет, както са показани в регистъра на NPM, и данните, присъстващи във файла „package.json“ на публикувания пакет.
Злонамерен хакер би могъл да манипулира манифестните данни на нов пакет, като елиминира определени скриптове или зависимости, така че те да не се появят в регистъра на NPM.
Тези скриптове или зависимости обаче все още ще присъстват във файла package.json и ще бъдат изпълнени при инсталирането на пакета, без потребителят да знае за това.
Този проблем потенциално излага разработчиците на рискове като отравяне на кеша, инсталиране на неизвестни зависимости, изпълнение на неизвестни скриптове и евентуално дори атаки за понижаване на нивото.
Тъй като GitHub все още не се е заел с проблема и не е ясно какво планира да направи платформата, Кларк предложи на поддържащите пакети да премахнат зависимостта от манифестните данни и да използват прокси на регистъра, за да извършват проверки за съгласуваност на данните.
Докато бъде приложено решение, системният администратор Феликс Панкрац пусна инструмент, базиран на Python, който може да помогне на разработчиците на софтуер да проверяват пакетите на NPM за несъответствия.
За да използвате инструмента, първо трябва да инсталирате мениджъра на пакети PIP на Python с „pip install -r requirements.txt“.
За да проверите отделен пакет, подайте името на пакета на скрипта като първи аргумент. Например:
$ ./npm-manifest-check.py darcyclarke-manifest-pkg
Изходът ще подчертае всички несъответствия във версията, зависимостите, скриптовете и името на пакета между манифеста и действителния файл package.json.
За пакет без никакви несъответствия изходът трябва да изглежда по следния начин:
$ ./npm-manifest-check.py color
Не са открити несъответствия за color.
За да проверят множество пакети, разработчиците могат да ги добавят във файл ‘packages. list’ (по един пакет на ред) и да използват обвиващия скрипт ‘check_packages.sh’, за да ги проверят. Инструментът ще докладва за всички открити несъответствия за всеки от проверените пакети.
За да разберете всички аспекти на използването на инструмента Pankratz, проверете командата help с:
./npm-manifest-check.py -h
Объркването на манифестите не е широко разпространен или критичен проблем в общността на NPM в момента, но пренебрегването му не е безопасно, тъй като заплахите могат да започнат да го използват за атаки по веригата за доставки.
АБОНИРАЙТЕ СЕ ЗА НАШИЯ Е-БЮЛЕТИН И ПОЛУЧАВАЙТЕ НОВИНИ И СЪВЕТИ НА ТЕМА КИБЕРСИГУРНОСТ.
© 2022 Фондация “Киберсигурност за Всеки” с ЕИК 206932045. Всички права запазени. Политики за поверителност.
ж.к. Гео Милев бл. 117, вх.А
София 1113, България
support[@]e-security.bg
Фондация “Киберсигурност за Всеки” с ЕИК 206932045 е ЮЛНЦ в обществена полза, регистрирано в ЕС, работещо в съответствие с мисията и целите си.
Моля, имайте предвид, че всички споменати продукти и/или имена на компании са търговски марки ™ или ® на съответните им притежатели. Уебсайтът/фондацията няма никаква свързаност и/или одобрение за/от тях – тези търговски марки се използват само за образователни цели като примери. Настоящият уебсайт е онлайн информационна платформа, управлявана от доброволна фондация в обществена полза. Благодарим ви, че сте тук и за всякакви допълнителни въпроси, не се колебайте да се свържете с нас.
Мисията на Фондация “Киберсигурност за Всеки” е да допринесе за подобряване на киберсигурността, информационна сигурност и защита на системите и да повиши културата на обществото и организациите по тези и свързани с тях теми. Ние насърчаване безопасността и поверителността на потребителите, като повишаваме осведомеността, информираме за най-добрите и нови практики и помагаме на хора и организации да преодолеят съвременните предизвикателства за сигурността на мрежата и опазването на техните дигиталните активи.
На посоченият от Вас e-mail е изпратено съобщение за потвърждаване на абонамента.
Моля, проверете електронната си поща за да потвърдите.