የአቅርቦት ሰንሰለት ደህንነት npm

npm የአቅርቦት ሰንሰለት ደህንነት፡ የተጋላጭነት ስካነርዎ የተሳሳተ ነገር እየፈለገ ነው

TL;DR: ከተጋላጭነት ስካነር ባሻገር የ npm አቅርቦት ሰንሰለት ደህንነት

የ npm የአቅርቦት ሰንሰለት ደህንነት ማለት የጃቫስክሪፕት ፕሮጀክቶችዎ የሚጭኑት እያንዳንዱ ጥቅል ህጋዊ፣ ያልተሻሻለ እና ደህንነቱ የተጠበቀ መሆኑን የማረጋገጥ ልምምድ ነው፣ ከሚታወቁ ተጋላጭነቶች ነፃ ብቻ አይደለም።

  • ክፍተቱ፡ ክላሲክ የnpm ተጋላጭነት ስካነር ፓኬጆችን ከCVE የውሂብ ጎታዎች ጋር ያዛምዳል። ተንኮል አዘል ፓኬጅ CVE የለውም፣ ስለዚህ ያልፋል።
  • ማስረጃው፡- በመጋቢት 2026፣ የተጠለፈ የደንበኛ መለያ ሳምንታዊ 100 ሚሊዮን+ ውርዶችን የያዘውን አክሲዮስ ለሶስት ሰዓታት ያህል ወደ ማልዌር ማድረሻ ቻናል ቀይሮታል።
  • የመግቢያ ነጥብ፡ አብዛኛዎቹ የnpm ጥቃቶች የሚከናወኑት በጫኝ ስክሪፕቶች ነው፣ ይህም እርስዎ በሚተይቡበት ቅጽበት ይፈጸማል። npm install.
  • ማስተካከያ ፓኬጆች ሲታተሙ ተንኮል አዘል ባህሪን መለየት፣ CVE ከታየ በኋላ አይደለም፣ እና ጭነቶች እንዴት እንደሚሄዱ ማጠንከር።

መጋቢት 31፣ 2026፣ በሺዎች የሚቆጠሩ ገንቢዎች በጃቫስክሪፕት ውስጥ በጣም የተለመደውን ትዕዛዝ አስገብተዋል፡ npm installአንዳንዶቹ አዲስ የአክሲዮስ ስሪት አውጥተዋል፣ ይህም በዓለም ላይ ካሉት የድር መተግበሪያዎች ውስጥ ከፍተኛ ድርሻ ያለው የኤችቲቲፒ ደንበኛ ነው። የጥገኝነት ስካነሮቻቸው አረንጓዴ ሆነው ቆይተዋል። ግንባታዎቻቸው አልፈዋል። እና የርቀት መዳረሻ ትሮጃን በማሽኖቻቸው ላይ በጸጥታ አረፈ።

በዚያ ታሪክ ውስጥ ምንም አይነት ተጋላጭነትን የሚያካትት ነገር የለም። ለዚህም ነው ብዙ የnpm የደህንነት ፕሮግራሞች ይህንን ያላገኙት።

አክሲዮስ ምን ሆነ?

ጥቃቱ ቀላል እና ታጋሽ ነበር። እንደ ደንቡ የአክሲዮስ ጠባቂዎች የራሳቸው የሞት ቅጣት በኋላሁለት ተንኮል አዘል ስሪቶች፣ 1.14.1 እና 0.30.4፣ በዋናው አስተናጋጅ በተጠለፈው መለያ በኩል ታትመዋል። አጥቂው አንድም የአክሲዮስ ኮድ መስመር አልነካም። አንድ አዲስ ጥገኝነት አክለዋል፣ plain-crypto-js, ይህም አንድ ሮጧል postinstall ሁለተኛ ደረጃ የክፍያ ጭነትን የሚያመጣ ስክሪፕት።

የማይክሮሶፍት እስራት ኢንተለጀንስ መሠረተ ልማቱን እንደገለጸው ለሰሜን ኮሪያ የመንግስት ተዋናይ ለሆነችው ሳፋየር ስሌት። የተመረዙት ስሪቶች ከቀኑ 7 ሰዓት በፊት ለሶስት ሰዓታት ያህል ተሰራጭተዋል። ለማንኛውም CI pipeline ወይም በዚያ መስኮት ውስጥ የተጫነ ላፕቶፕ፣ ሶስት ሰዓት በቂ ነበር።

ይህ ብቻውን የተፈጠረ ጉዳይ አልነበረም። በሴፕቴምበር 2025፣ የሻይ-ሁሉድ ትል በመቶዎች የሚቆጠሩ የnpm ፓኬጆችን በማሰራጨት የጥበቃ ቶከኖችን በመስረቅ እና እራሱን እንደገና በማተም ተሰራጭቷል። የተለየ ቴክኒክ፣ ተመሳሳይ ትምህርት፡ በnpm፣ መተማመን በራስ-ሰር ይወረሳል፣ እና አጥቂዎች ይህንን ያውቃሉ።

የእርስዎ የnpm ተጋላጭነት ስካነር ምንም ያልተናገረበት ምክንያት

አብዛኛዎቹ ቡድኖች የnpm የአቅርቦት ሰንሰለት ደህንነትን እንደ የተጋላጭነት ችግር አድርገው ይመለከቱታል። የnpm የተጋላጭነት ስካነር ያካሂዳሉ፣ የጥገኝነት ዛፋቸውን ከሚታወቁ ጉድለቶች የውሂብ ጎታዎች ጋር ያወዳድራል፣ እና የሚዘግበውን ያስተካክላሉ። ያ ስራ አስፈላጊ ነው። የተለየ ጥያቄን ብቻ ይመልሳል።

ስፉትተጋላጭ የሆነ ጥቅልተንኮል አዘል ጥቅል
ምንድን ነውስህተት ያለበት ሕጋዊ ኮድኮድ የተፃፈው እርስዎን ለመጉዳት ነው
ሲቪኢ አለው?አብዛኛውን ጊዜ፣ በመጨረሻምበፍጹም
አደገኛ በሚሆንበት ጊዜጉድለቱ ሊደረስበት እና ጥቅም ላይ ሊውል የሚችል ሲሆንበሚጫንበት ቅጽበት
ምን ይይዘዋል?የተጋላጭነት የውሂብ ጎታ ፍለጋየጥቅሉ ራሱ የባህሪ ትንተና
የተለመደው የምላሽ ጊዜ ያስፈልጋልከቀናት እስከ ሳምንታትከደቂቃዎች እስከ ሰአታት

የተጋላጭነት ዳታቤዝ አንድ ሰው አስቀድሞ የተተነተነውን እና የተመዘገበውን ነገር ብቻ ነው የሚገልጸው። ከአንድ ሰዓት በፊት የታተመ ተንኮል አዘል ፓኬጅ በየትኛውም ቦታ ምንም ግቤት የለውም። ስለዚህ ስካነሩ ንፁህ ሆኖ ይመለሳል፣ እና ጽዳት ደህንነቱ የተጠበቀ እንደሆነ ይነበባል።

ይህ በ npm የአቅርቦት ሰንሰለት ደህንነት ውስጥ ያለው ዋና ለውጥ ነው፡ ጥያቄው ከአሁን በኋላ "ይህ ፓኬጅ የታወቀ ጉድለት አለበት?" የሚለው አይደለም ነገር ግን "ይህ ፓኬጅ የማይገባውን እያደረገ ነው?" የሚለው ነው።

አጥቂዎች ወደ node_modulesዎ የሚገቡባቸው አራት መንገዶች

  • የመለያ ቁጥጥር። የአንድን ሰው የባለቤትነት ማረጋገጫ ወይም ቶከን ሰርቅና ሰዎች አስቀድመው የሚያምኑበትን የጥቅል የተመረዘ ስሪት ያትሙ። ይህ የአክሲዮን መጽሐፍ ነው፣ እና ለመለየት በጣም ከባድ ነው፣ ምክንያቱም የጥቅሉ ስም በትክክል ትክክል ነው።
  • የታይፖስኳቲንግ. አትም axois or reqeusts እና የተሳሳተ ስም ለመጠቆም የፊደል ስህተት፣ ከመጥፎ አጋዥ ስልጠና ቅጂ-ለጥፍ ወይም የAI ኮድ ረዳት እስኪመጣ ይጠብቁ።
  • የጥገኝነት ግራ መጋባት. ከውስጣዊ ፓኬጆችዎ ውስጥ ከአንዱ ጋር ተመሳሳይ ስም ያለው ይፋዊ ፓኬጅ ያትሙ። የመዝገብዎ ማዋቀር ይፋዊውን የሚመርጥ ከሆነ የአጥቂውን ኮድ ይጭናሉ።
  • ስክሪፕቶችን ጫን። ከላይ በተጠቀሱት ሁሉም ማለት ይቻላል ውስጥ ያለው የተለመደ ክር። npm ፓኬጆች እንዲሰሩ ያስችላቸዋል preinstall ና postinstall ስክሪፕቶች በራስ-ሰር ስለሚሰሩ፣ ማንኛውም ሰው ማንኛውንም ነገር ከማስመጣቱ በፊት ተንኮል አዘል ኮድ ይፈጸማል። CISየኤ መመሪያ በአክሲዮኖች ስምምነት ላይ ቅንብርን ይመክራል ignore-scripts=true ለቅድመ ዝግጅትcisለዚህ ምክንያት።

በተግባር የ npm አቅርቦት ሰንሰለት ደህንነት ምን ይመስላል

እያንዳንዱን ጥቃት በአንድ ቁጥጥር አታቆምም። በጥቂት ልማዶች ራስህን የበለጠ አስቸጋሪ ኢላማ ማድረግ ትችላለህ፡

  1. Commit የመቆለፊያ ፋይልዎን እና ከ ጋር ይጫኑት npm ci. ግንባታዎች የተገመገመውን በትክክል መጫን አለባቸው፣ መዝገቡ በዚያ ጠዋት ምንም ቢያቀርብም።
  2. በነባሪነት የመጫኛ ስክሪፕቶችን ያሰናክሉ። አዘጋጅ ignore-scripts=true እና ስክሪፕቶችን በእውነት ለሚያስፈልጋቸው ፓኬጆች ብቻ ይፍቀዱ።
  3. የውስጥ ፓኬጆችዎን ወሰን ያድርጉ። ያልተገለጹ ውስጣዊ ስሞች የጥገኝነት ግራ መጋባትን የሚጋብዙ ክፍት ግብዣዎች ናቸው።
  4. አመጣጥን ያረጋግጡ። የኤንፒኤም ድጋፎች የመነሻ መግለጫዎች የታተመ ፓኬጅን ከምንጩ እና ከግንባታው ጋር የሚያገናኝ። ያለእነሱ ድንገተኛ መልቀቅ፣ በተለምዶ እነሱን ካለው ፕሮጀክት፣ በራስ-ሰር ሊሰራ የሚገባ ቀይ ባንዲራ ነው።
  5. የተጋላጭነት ቅኝትን ከማልዌር ማወቂያ ጋር ያጣምሩ። የnpm ተጋላጭነት ስካነርዎን ለሚታወቁ ጉድለቶች ያስቀምጡት፣ እና አዳዲስ ፓኬጆች በትክክል ምን እንደሚያደርጉ የሚተነትን ማወቂያ ያክሉ።

አምስተኛው ልማድ አብዛኛዎቹ ቡድኖች የሚዘለሉት ሲሆን፣ የአክሲዮኖች ጥቃት ያጋለጠውም ልማድ ነው።

ተንኮል አዘል ፓኬጁ ስም ከመያዙ በፊት ይያዙት

የዚጄኒ የማልዌር ቅድመ ማስጠንቀቂያ (MEW) በሕዝብ መዝገቦች ላይ አዳዲስ ፓኬጆችን ይቃኛል፣ npm ተካትቷል፣ ልክ እንደታተሙ፣ እና የሚታወቅ ፊርማ ከመጠበቅ ይልቅ የኮድ ባህሪያቸውን ይተነትናል። አንድ ፓኬጅ ሲጠቆም፣ የተጎዱ ተጠቃሚዎች በኢሜይል፣ በመልዕክት መድረኮች ወይም በድር በኩል ማሳወቂያ ይደርሳቸዋል።hooksእና ፓኬጁ ተገልሎ የተቀመጠ ስለሆነ በአንተ ላይ ማቆም ትችላለህ CI/CD guardrails.

በዙሪያው፣ የዚጄኒ open source security ከላይ ያሉት አራት የጥቃት መንገዶች የሚተማመኑባቸውን ቀሪ ክፍሎች ይይዛል፡ የፊደል አጻጻፍ፣ የጥገኝነት ግራ መጋባት፣ አጠራጣሪ የመጫኛ ስክሪፕቶች እና ያልተገለጹ ውስጣዊ የnpm ክፍሎች። እንዲሁም ከNVD፣ OSV እና GitHub የታወቁ ተጋላጭነቶችን ይሸፍናል፣ ይህም በተደራሽነት ቅድሚያ የተሰጠው ሲሆን ይህም በትክክል ሊበዘበዝ የሚችለውን በራስ-ሰር እንዲያስተካክሉ ያስችልዎታል። pull requests ለጥገናዎቹ።

MEW በነጻው የገንቢ ዕቅድ ውስጥ ተካትቷል። በነፃ ይጀምሩ እና የመጀመሪያዎቹን የ npm ፕሮጀክቶችዎን በደቂቃዎች ውስጥ ይቃኙ።

በየጥ

የ npm የአቅርቦት ሰንሰለት ደህንነት ምንድን ነው?

የ npm የአቅርቦት ሰንሰለት ደህንነት የጃቫስክሪፕት ፕሮጀክቶችዎ በሚመኩባቸው ፓኬጆች ውስጥ የሚመጣውን እያንዳንዱን አደጋ ይሸፍናል፤ የሚታወቁ ተጋላጭነቶች፣ ተንኮል አዘል ፓኬጆች፣ የተጎዱ የአስተዳዳሪ መለያዎች፣ የፊደል አጻጻፍ እና የጥገኝነት ግራ መጋባት። የሚጭኑት ነገር ህጋዊ መሆኑን ለማረጋገጥ ከተጋላጭነት ቅኝት በላይ ይሄዳል።

የnpm ተጋላጭነት ስካነር ተንኮል አዘል ዌርን ያገኛል?

ብዙውን ጊዜ አይደለም። ባህላዊ የnpm ተጋላጭነት ስካነር ፓኬጆችን ከሚታወቁ ተጋላጭነቶች የውሂብ ጎታዎች ጋር ያጣራል። አዲስ የታተመ ተንኮል አዘል ፓኬጅ የውሂብ ጎታ ግቤት የለውም፣ ስለዚህ መሣሪያው የጥቅል ባህሪን ካልተገነዘበ በስተቀር ያልፋል።

Is npm audit ይበቃል?

npm audit ለሚታወቁ ተጋላጭነቶች ጠቃሚ የሆነ ነፃ የመነሻ መስመር ነው። አዲስ የታተሙ ማልዌር፣ የፊደል ግድፈቶችን ወይም የጥገኝነት ግራ መጋባትን አያገኝም፣ እና ተጋላጭ የሆነ ተግባር ከኮድዎ ማግኘት ይቻል እንደሆነ አይነግርዎትም።

አንድ ፓኬጅ ተንኮል አዘል መሆኑን እንዴት አውቃለሁ?

የማስጠንቀቂያ ምልክቶች የርቀት ኮድ የሚያወርዱ ወይም የሚፈጽሙ የመጫኛ ስክሪፕቶችን፣ የተደበቀ ኮድ፣ ከጥቅሉ ዓላማ ጋር ያልተያያዙ የአውታረ መረብ ጥሪዎች፣ የምንጭ ማከማቻው ፈጽሞ የማይጠቅሰው አዲስ ጥገኝነት እና ፕሮጀክቱ በተለምዶ የሚያትመው ምንጭ የሌለው መለቀቅን ያካትታሉ።

sca-tools-software-composition-analyse-tools
የሶፍትዌር አደጋዎችዎን ቅድሚያ ይስጡ፣ ያስተካክሉ እና ይጠብቁ
ነፃ መለያ ያግኙ።
ምንም ዱቤ ካርድ አያስፈልግም።

የሶፍትዌርዎን ልማት እና አቅርቦት ደህንነት ይጠብቁ

ከ Xygeni Product Suite ጋር