PureScript орнатушысы бар npm бумасының тәуелділіктерінде зиянды өзгерістер анықталды

PureScript орнатушысы бар npm бумасына байланысты анықталды буманы орнату әрекеті кезінде пайда болатын зиянды код таза жазу. Зиянды код тәуелділіктер арқылы ендірілген cwd-немесе-npm-ден жүктеу и тарифтік карта. Бір қызығы, осы тәуелділіктері бар пакеттерге техникалық қызмет көрсетуді PureScript орнатушысы бар npm бумасының түпнұсқа авторы жүзеге асырады, ол соңғы уақытқа дейін осы npm бумасын қолдап келген, бірақ шамамен бір ай бұрын пакет басқа қолдаушыларға жіберілген.

Мәселені npm бумасының түпнұсқа авторымен көптеген келіспеушіліктер мен жағымсыз пікірталастардан кейін техникалық қызмет көрсету құқығы берілген пакеттің жаңа қолдаушыларының бірі тапты. Жаңа техникалық қызмет көрсетушілер PureScript компиляторына жауапты және NPM бумасы мен оның орнатушысына сыртқы тарап емес, сол қызмет көрсетушілер қызмет көрсетуі керек деп талап етті. PureScript орнатушысы бар npm бумасының авторы ұзақ уақыт бойы келіспеді, бірақ содан кейін репозиторийге рұқсат беріп, рұқсат берді. Дегенмен, кейбір тәуелділіктер оның бақылауында болды.

Өткен аптада PureScript 0.13.2 компиляторы шығарылды және
жаңа қызмет көрсетушілер npm бумасының сәйкес жаңартуын орнатушымен дайындады, оның тәуелділіктерінде зиянды код анықталған. PureScript орнатушысы бар npm бумасының авторы, ол өзінің қызмет көрсетуші лауазымынан алынып тасталды, оның тіркелгісін белгісіз шабуылдаушылар бұзғанын айтты. Дегенмен, оның қазіргі түрінде зиянды кодтың әрекеттері пакетті орнатуды саботаждаумен шектелді, бұл жаңа қызмет көрсетушілердің бірінші нұсқасы болды. Зиянды әрекеттер «npm i -g purescript» пәрменімен буманы орнату әрекеті кезінде қате туралы хабары бар циклге тең болды.

Екі шабуыл анықталды. Таза npm бумасының жаңа нұсқасының ресми шығарылымынан бірнеше сағат өткен соң біреу load-from-cwd-or-npm 3.0.2 тәуелділігінің жаңа нұсқасын жасады, оның өзгерістері оның орнына loadFromCwdOrNpm() шақыруына әкелді. екілік файлдарды орнату үшін қажетті тізімнің қайтарылған ағыны Арқылы өту, кіріс сұрауларын шығыс мәндері ретінде көрсету.

4 күннен кейін әзірлеушілер сәтсіздіктердің көзін анықтап, тәуелділіктерден cwd-немесе-npm-ден жүктеуді алып тастау үшін жаңартуды шығаруға дайындалғаннан кейін, шабуылдаушылар cwd-немесе-npm-ден жүктеу деген басқа жаңартуды шығарды. 3.0.4, онда зиянды код жойылған. Дегенмен, бірден дерлік басқа тәуелділіктің жаңартуы шығарылды, rate-map 1.0.3, ол жүктеу кері қоңырауды блоктау үшін түзетуді қосты. Анау. екі жағдайда да load-from-cwd-or-npm және rate-map жаңа нұсқаларындағы өзгерістер айқын диверсиялық сипатта болды. Сонымен қатар, зиянды кодта жаңа қызмет көрсетушілерден шығарылымды орнату кезінде ғана қате әрекеттерді тудыратын тексеру болды және ескі нұсқаларды орнату кезінде ешбір жолмен пайда болмады.

Әзірлеушілер проблемалық тәуелділіктер жойылған жаңартуды шығару арқылы мәселені шешті. PureScript бағдарламасының проблемалық нұсқасын орнату әрекетінен кейін бұзылған кодтың пайдаланушы жүйелерінде орналасуына жол бермеу үшін node_modules каталогтары мен package-lock.json файлдарының мазмұнын жойып, содан кейін 0.13.2 таза сценарий нұсқасын орнату ұсынылады. төменгі шегі.

Ақпарат көзі: opennet.ru

пікір қалдыру