GitHub ve výchozím nastavení zakáže instalační skripty npm, aby zastavil útoky na dodavatelský řetězec

GitHub oznámil plány na výchozí vypnutí instalačních skriptů npm v rámci snahy o posílení bezpečnosti ekosystému JavaScriptu a ochranu před útoky na softwarový dodavatelský řetězec.

Co se mění a proč

Instalační skripty npm – konkrétně preinstall, install a postinstall – umožňují balíčkům spouštět libovolný kód v okamžiku, kdy jsou nainstalovány do vývojářského prostředí. Právě tato funkce se opakovaně ukázala jako zneužitelný vektor útoku. Škodlivé balíčky vložené do registru npm mohou prostřednictvím těchto skriptů okamžitě po instalaci spustit nebezpečný kód, aniž by si toho uživatel všiml.

GitHub, který je vlastníkem npm, chce toto riziko výrazně omezit tím, že instalační skripty ve výchozím nastavení zakáže. Vývojáři, kteří tyto skripty skutečně potřebují, budou muset jejich spouštění explicitně povolit. Cílem je přesunout bezpečné chování z volitelné možnosti na výchozí standard.

Dlouhodobý problém ekosystému

Útoky na dodavatelský řetězec prostřednictvím škodlivých npm balíčků patří k nejčastějším hrozbám v oblasti bezpečnosti open-source softwaru. Útočníci v minulosti opakovaně využívali instalační skripty k tomu, aby ihned po stažení balíčku spustili kód kradoucí přihlašovací údaje, kryptografické klíče nebo jiná citlivá data přímo z vývojářských strojů a prostředí CI/CD.

Mezi známé příklady patří kampaně zaměřené na vývojáře populárních projektů, kde škodlivé balíčky napodobovaly legitimní závislosti s nepatrně pozměněnými názvy – technika známá jako typosquatting.

Jak bude změna fungovat v praxi

Po zavedení nového chování budou instalační skripty ve výchozím stavu ignorovány. Pokud bude balíček takový skript obsahovat, npm na to uživatele upozorní, ale skript automaticky nespustí. Vývojáři si budou moci spouštění skriptů znovu zapnout pomocí příslušného příznaku nebo konfigurace, čímž vědomě přijmou s tím spojené riziko.

Tato změna se dotkne milionů vývojářů po celém světě a může mít dopad na řadu existujících pracovních postupů, které na instalačních skriptech závisí – například při nativní kompilaci modulů. GitHub proto plánuje poskytnout dostatečnou dobu pro přechod a jasnou dokumentaci.

Reakce komunity

Bezpečnostní odborníci tuto iniciativu vesměs vítají jako dlouho očekávaný krok správným směrem. Někteří vývojáři však upozorňují na možné problémy s kompatibilitou u projektů, které instalační skripty využívají k legitimním účelům, jako je kompilace nativních rozšíření nebo automatické nastavení prostředí.

Jde o součást širší snahy GitHubu o zvýšení bezpečnosti softwarového dodavatelského řetězce, která zahrnuje také rozšiřování podpory podepisování balíčků a zpřísňování pravidel pro publikování v registru npm.

Zdroj: thehackernews.com

Zdroj: IT SECURITY NETWORK NEWS