← Të gjithë artikujt

npm firewall sjell kontrolle politikash gjatë instalimit të paketave

npm firewall sjell kontrolle politikash gjatë instalimit të paketave

npm firewall, tashmë i disponueshëm në public preview, mund të inspektojë paketat software para se ato të instalohen dhe të ndalojë shkarkimet që shkelin rregullat e sigurisë së një organizate. npm është një ekosistem që përdoret për shpërndarjen e komponentëve software të ripërdorshëm, të quajtur gjithashtu paketa ose dependency. GitHub thotë se funksioni aktualisht punon vetëm me npm dhe është i disponueshëm për të gjithë klientët e GitHub Enterprise Cloud, përfshirë klientët që përdorin versionin e shërbimit me të dhëna të ruajtura në vendndodhjen e tyre.

GitHub, një filial i Microsoft, e vendos këtë kontroll midis endpoints ose registries të brendshme të një organizate dhe upstream package repositories. Një endpoint mund të jetë stacioni i punës i një zhvilluesi, një coding agent ose një host për continuous integration and continuous delivery, që zakonisht shkurtohet CI/CD, i cili ndërton dhe vë automatikisht në përdorim software. Në vend që të kontaktojnë drejtpërdrejt një package registry publik, këto sisteme i dërgojnë kërkesat për metadata të paketave dhe shkarkimet përmes shtresës së re të inspektimit. Më pas, npm firewall zbaton politikat e zgjedhura nga administratorët e ndërmarrjes dhe refuzon shkarkimet që nuk i kalojnë këto kontrolle.

Kjo qasje gjatë instalimit synon të trajtojë pikën në të cilën një dependency e dëmshme mund të fillojë të ekzekutohet në një sistem. Rreziku është veçanërisht i rëndësishëm kur agjentët e inteligjencës artificiale dhe CI runners marrin automatikisht dependencies gjatë përfundimit të një detyre ose përgatitjes së një build, potencialisht pa miratimin e një personi për çdo instalim. Meqë instalimi i paketave mund të ekzekutojë software brenda një mjedisi zhvillimi ose build, një publikim keqdashës mund të ekspozojë sistemet dhe informacionin sensitiv përpara se një shqyrtim i mëvonshëm ta identifikojë problemin.

Një nga politikat e disponueshme i krahason versionet e kërkuara me njoftimet aktive për malware në GitHub Advisory Database. Një tjetër mund të bllokojë versionet e prekura nga dobësi të raportuara. Pragu i saj i parazgjedhur e parandalon instalimin vetëm për dobësitë e vlerësuara Critical, por administratorët mund të zgjedhin në vend të tij High ose më lart, Medium ose më lart, apo Any severity. Këto cilësime u lejojnë organizatave të vendosin sa kufizues duhet të jetë procesi i instalimit, megjithëse GitHub u kërkon administratorëve t’i konfigurojnë kontrollet që duan të zbatojnë.

npm firewall mund të kërkojë gjithashtu ndryshime në software provenance. Ai krahason attestations që i bashkëngjiten një versioni të kërkuar të paketës me ato të lidhura me publikimet e mëparshme dhe mund të ndalojë një version që nuk ka SLSA attestation, një record që tregon se si është prodhuar software. Kjo është krijuar për të parandaluar një attestation downgrade, ku një publikim më i ri nuk përmban më informacionin e provenance që ishte i disponueshëm për versionet e mëparshme.

Një kontroll i veçantë zbulon install scripts të shtuara rishtas. Këto janë komanda që një paketë mund t’i ekzekutojë automatikisht përmes hooks preinstall ose postinstall, para ose pas instalimit. GitHub thotë se këto hooks mund të keqpërdoren për të vjedhur të dhëna sensitive, ndaj politika mund të bllokojë një paketë që i ka shtuar ato së fundmi. Kjo e përqendron vëmendjen te një ndryshim domethënës në sjellje, në vend që çdo script pakete të trajtohet në të njëjtën mënyrë.

Administratorët mund të vendosin gjithashtu një cooldown period bazuar në moshën e paketës. Versionet më të reja se mosha minimale e zgjedhur pengohen të instalohen. Cilësimi pranon vlera nga 1 deri në 365 ditë, përdor 1 ditë si parazgjedhje dhe mund të çaktivizohet duke e vendosur në 0. Nëse një paketë e ligjshme bllokohet gabimisht ose nevojitet urgjentisht, përdoruesi mund të paraqesë një kërkesë për përjashtim që duhet të miratohet nga një administrator i ndërmarrjes ose menaxher sigurie.

Ideja e moshës së publikimit po mbërrin edhe në Rust, një gjuhë programimi me paketa të njohura si crates. Rust 1.100, publikimi i të cilit është planifikuar për 12 nëntor 2026, pritet të mbështesë një moshë minimale publikimi që mund të konfigurohet. Përdoruesit do të mund të përcaktojnë një periudhë pritjeje në ditë ose javë përmes opsionit global-min-publish-age në cargo/config.toml, një file konfigurimi që përdoret nga Cargo. Nëse nuk përcaktohet asnjë vlerë, parazgjedhja e planifikuar është një periudhë pritjeje shtatëditore, gjatë së cilës anashkalohen publikimet e bëra brenda atij intervali.

Gjatë vitit të kaluar, periudha të ngjashme pritjeje janë prezantuar në npm, Python, Microsoft Visual Studio Code, Ruby, Bun, pnpm dhe Yarn. Qëllimi i tyre është të zvogëlojnë mundësinë që një version i sapopublikuar dhe i pashqyrtuar të përfshihet menjëherë në një build të automatizuar. Ato mund të ngadalësojnë gjithashtu një sulm në të cilin dikush merr kontrollin e llogarisë së një mirëmbajtësi dhe publikon një version të infektuar të një dependency të përdorur gjerësisht, duke u dhënë studiuesve, mirëmbajtësve dhe registries më shumë kohë për ta identifikuar dhe bllokuar atë.

Një periudhë pritjeje nuk provon se një paketë më e vjetër është e sigurt. Socket vëren se edhe korrigjimet e ligjshme mund të vonohen, përveç rasteve kur zhvilluesit miratojnë një përjashtim, ndërsa kodi keqdashës që mbetet i pazbuluar thjesht mund ta tejkalojë cooldown period. Për pronarët e faqeve web dhe bizneset, mësimi praktik është që mosha minimale e paketës të trajtohet si një shtresë së bashku me njoftimet për malware, politikat për dobësitë, kontrollet e provenance dhe shqyrtimin e install scripts të reja, dhe jo si një garanci më vete.

Organizatat që kërkojnë mbështetje për sigurinë më të gjerë të mjedisit të tyre të build dhe hosting mund të marrin në konsideratë AEU-I për IT, infrastrukturë dhe konsulencë me sigurinë si përparësi. Pavarësisht modelit të mbështetjes që përdoret, kërkesat për përjashtim duhet t’i nënshtrohen një shqyrtimi të kujdesshëm, sepse miratimi i një kërkese heq pengesën specifike të politikës që e ndaloi paketën.

Disponueshëm edhe në: EnglishDeutschItaliano