TL; DR
ተመራማሪዎች ህዳር 24፣ 2025 ላይ ቫይረሱን አገኙ ሻይ ሑሉድ፡ ዳግመኛ መምጣት፣ አዲስ ማዕበል የኤንፒኤም የአቅርቦት ሰንሰለት ጥቃት የnpm ፓኬጆችን እንደገና የሚያበክል፣ የምስክር ወረቀቶችን የሚሰርቅ እና በገንቢ ማሽኖች ላይ የሚሰራጭ CI/CD pipelines. ከመጀመሪያው ክስተት በተለየ፣ ይህ ስሪት የቡን የስራ ጊዜ በፍጥነት ይጭናል፣ የተደበቁ የጂቲኤችቲ አክሽንስ የኋላ በሮችን ያሰማራል፣ እና በሊኑክስ፣ ማኮስ እና ዊንዶውስ ላይ ያሉትን ሁሉንም የቤት ማውጫዎች ለማጥፋት የሚያስችል አጥፊ መጥረጊያ ያካትታል። በጥቂት ሰዓታት ውስጥ፣ የተጎዱት ፓኬጆች ቁጥር ከ830 በላይ አልፏል፣ ይህም ይህ ቀላል አማራጭ ሳይሆን የ… የመጀመሪያው ትል.
ተፅዕኖ፦ ማንኛውም ገንቢ ወይም የCI ሯጭ public npm ፓኬጆችን የሚጭን ሊሆን ይችላል። የጃቫ ቡድኖች በበሽታው የተያዙ ፓኬጆች በራስ-ሰር ወደ Maven Central ከተገለበጡ በኋላም አደጋ ላይ ናቸው።
አፋጣኝ እርምጃዎች የሚታወቁ ተንኮል አዘል ስሪቶችን ማገድ፣ የመቆለፊያ ፋይል-ብቻ ጭነቶችን ማስፈጸም፣ npm፣ GitHub እና የደመና ምስክርነቶችን ማዞር፣ የማይታወቁ የራስ-አስተናጋጅ ሯጮችን ማስወገድ እና እንደ setup_bun.js፣ bun_environment.js እና “Sha1-Hulud: The Second Coming” ያሉ አጠራጣሪ የGitHub ማከማቻዎችን መከታተል።
ምን ተለወጠ፡ ሻይ ህሉድ በNPM የአቅርቦት ሰንሰለት ጥቃት ወደ ማቨን ሲዘል
የሻይ ሁሉድ ጥቃት ሁለተኛው ማዕበል ከፍተኛ ጭማሪ አስገኝቷል። በመጀመሪያው ዘመቻ፣ ትሉ በnpm ሥነ-ምህዳር ውስጥ ቀረ። በዚህ ጊዜ፣ ማልዌር ወደ ውስጥ ገባ። ማቨን ሴንትራል, npm ን ፈጽሞ ያልነኩ የጃቫ ቡድኖችን አጋልጧል።
የጊዜ መስመር እና የቶከን መስኮት
ጥቃቱ የተጀመረው እ.ኤ.አ. November 24, 2025፣ npm ከመድረሱ በፊት የድሮውን የማረጋገጫ ቶከኖቹን በ ላይ አቁሟል ታኅሣሥ 9.
እነዚህ አሮጌ ቶከኖች ለመስረቅ እና እንደገና ጥቅም ላይ ለማዋል ቀላል ነበሩ። አጥቂዎቹ በዚህ መስኮት ውስጥ አሁንም እነሱን ማግኘት ስለቻሉ፣ ከመጥፋቱ በፊት በመቶዎች የሚቆጠሩ ተንኮል አዘል ስሪቶችን በከፍተኛ ፍጥነት እንደገና ማተም ችለዋል።
ማልዌር ወደ ማቨን እንዴት እንደደረሰ
የምዝገባ መስቀለኛ መንገድ ዝላይ የተከሰተው በ mvnpmየnpm ፓኬጆችን ወደ Maven ቅርሶች የሚቀይር አውቶማቲክ የመስታወት መሳሪያ።
mvnpm የደህንነት ፍተሻዎችን አያደርግም። npm የሚያትመውን ማንኛውንም ነገር እንደገና ያሽገዋል።
ከዚህ የተነሳ:
- የተጎዳ የnpm ጥቅል (ለምሳሌ posthog-node@4.18.1)
- ወደ ማቨን ቅርስ በራስ-ሰር ተቀይሯል
org.mvnpm:posthog-node:4.18.1 - እና ማንም ሰው በበሽታው መያዙን ከማወቁ በፊት ለሜቨን ሴንትራል ታትሟል።
ይህ ማለት የጃቫ ገንቢዎች የ npm ጥሰት ሰለባ ሆነዋልምንም እንኳን የnpm ጥቅል ባይጭኑም።
ይህ ለምን አስፈላጊ ነው?
ይህ ነው ለመጀመሪያ ጊዜ የታወቀው የመስቀል-መዝገብ ትልየአቅርቦት ሰንሰለት ጥቃት ከአንዱ ሥነ-ምህዳር ወደ ሌላው በአውቶሜሽን ብቻ የሚሰራጭበት።
በዚህ ምክንያት፣ የፍንዳታ ራዲየስ አሁን ጃቫን፣ የJVM የስራ ጫናዎችን እና enterprise በሜቨን ሴንትራል ላይ የተመሰረቱ ስርዓቶችን ይገንቡ።
ሻይ ሁሉድ 2.0ን በጣም ከባድ የሚያደርገው ምንድን ነው?
የቡን ሩጫ ጊዜ ለይቶ ለማወቅ ጥቅም ላይ ይውላል
አጥቂዎቹ ከNode.js ወደ Bun runtime ተቀይረዋል። ማልዌር Bunን በመብረር ላይ እያለ ይጭናል setup_bun.js በጥቅሉ ጭነት ወቅት። ይህ የኖድ-ተኮር ክትትልን ያስወግዳል እና አጥቂዎች በጣም ትልቅ የተደበቀ የክፍያ ጭነት እንዲኖራቸው ፈጣን አፈፃፀም ይሰጣቸዋል።
የጂትሆብ እርምጃዎች እንደ የትዕዛዝ የኋላ በር ያገለግላሉ
አንዴ ከተጫነ በኋላ፣ ተንኮል አዘል ዌር በ GitHub Actions ውስጥ የተደበቀ በራስ የሚስተናገድ ሯጭ ይፈጥራል $HOME/.dev-env/ይህ በዊንዶውስ፣ ማክሮስ እና ሊኑክስ ላይ ይሰራል። አጥቂዎቹ በጂትሁብ ውይይቶች ላይ መልዕክቶችን በተጎዳ ማከማቻ ላይ በመለጠፍ ትዕዛዞችን ማስኬድ ይችላሉ። የስራ ፍሰት ፋይል እነዚያን መልዕክቶች ያስኬዳል እና እንደ ሼል ትዕዛዞች ያስፈጽማቸዋል።
አብሮ የተሰራ መጥረጊያ
ማልዌር በጂትሆብ ወይም በnpm ማረጋገጥ ካልቻለ የተጎጂውን የቤት ማውጫ ያጸዳል።
- በዊንዶውስ ላይ ጥቅም ላይ ይውላል የ, rd, እና ሳይፈር /ወ ፋይሎችን ለማጽዳት።
- በሊኑክስ እና ማኮስ ላይ ውሂብን በሚከተለው ይተካዋል ቆራርጦ እና ከዚያ ማውጫዎችን ያስወግዳል።
በጣም ጫጫታ የተሞላበት ዘመቻ
ምንም እንኳን ማልዌር የተወሰነ ድብቅነትን ቢጠቀምም (ለምሳሌ፣ ቡን በመጠቀም)፣ አጠቃላይ ዘመቻው ጸጥ ያለ ነው። የተበላሹ ፓኬጆችን በኃይል እንደገና ያትማል፣ በመቶዎች ወይም በሺዎች የሚቆጠሩ አዳዲስ ማከማቻዎችን ይፈጥራል፣ የምስክርነት ቆሻሻዎችን በብዛት ይሰቅላል፣ እና ለረጅም ጊዜ እራሳቸውን የሚያስተናግዱ ሯጮችን በገንቢ ማሽኖች ላይ ይጭናል። ከእነዚህ ውስጥ አንዳቸውም ዝቅተኛ መገለጫ ባህሪ አይደሉም። የዚህ ጥቃት ስፋት፣ ፍጥነት እና የአሠራር “ድምፅ” ከአብዛኞቹ የአቅርቦት ሰንሰለት ስምምነቶች ጋር ሲነጻጸር ጎልቶ ይታያል፣ ይህም በተቻለ መጠን ለረጅም ጊዜ ሳይታይ እንዲቆይ ቅድሚያ ይሰጣል።.
ሰፊ ተጽዕኖ
አጥቂዎቹ በሚሊዮን የሚቆጠሩ ወርሃዊ ውርዶችን በመጠቀም ብዙ የታወቁ ፓኬጆችን አበላሽተዋል፤ ከእነዚህም ውስጥ የሚከተሉት ይገኙበታል፦
ዛፒየር፣ የENS ዶሜይንስ፣ ፖስትማን፣ ፖስትሆግ፣ አሲንክኤፒአይ እና ቮይስፍሎው።
ሊሆኑ የሚችሉ የባለቤትነት ምልክቶች
እዚህ ላይ ባለቤትነት አስቸጋሪ ነው፣ እና ከዘመቻው ጀርባ የተረጋገጠ ምንጭ የለም። አንድ ዋና የደህንነት ድርጅት ክዋኔው ከቀድሞው የሻይ-ሁሉድ ትል ጋር እንደሚመሳሰል ገልጿል፣ ነገር ግን የክፍያ ጭነቱ እንዴት እንደተገነባ እና የማልዌር ስርጭት እንዴት እንደሆነ ያለው ልዩነት የተለያዩ የኦፕሬተሮች ስብስብ የመኖሩን እድል ያሳያል። የእነሱ ግምገማ እንደሚያሳየው በርካታ አካባቢዎች የተጠቁትን ፓኬጆች ከnpm ከማስወገዳቸው በፊት አውርደዋል፣ ይህም ለአጭር ጊዜ የሚቆይ ሙከራ ሳይሆን በእውነተኛ ዓለም ውስጥ መጋለጥን ያሳያል።
ስልቶች የመጀመሪያውን ማዕበል የሚያስተጋቡ ቢሆኑም፣ በተለይም በክፍያ መዋቅር፣ በስርጭት አመክንዮ እና በአሠራር “ቅጥ” ውስጥ ባሉ ቁልፍ ቦታዎች ላይ የሚለያዩ በመሆናቸው፣ የቅጂ ሁኔታው ተቀባይነት አለው። አጥቂዎቹ ከሻይ-ሁሉድ ሀሳቦችን ተውሰው ሊሆን ይችላል ነገር ግን የራሳቸውን መሳሪያዎች ተግባራዊ አድርገዋል። ይህ ሌላ ቡድን ቀደም ሲል የነበረውን ዘመቻ ለመምሰል የሚሞክርን ሙሉ በሙሉ ሊወክል ይችላል።
በዚህ ነጥብ ላይ፣ ከማንኛውም የታወቀ ተዋናይ፣ ከገንዘብ ጋር የተያያዘ ቡድን ወይም ከመንግስት ጋር ግንኙነት ካለው አካል ጋር የሚያገናኝ ጠንካራ ማስረጃ የለም። ከመጀመሪያው ትል ጋር ያለው መደራረብ እውነት ነው፣ ነገር ግን ልዩነቶቹ ባለቤትነትን በ"ያልተረጋገጠ" ምድብ ውስጥ ለማቆየት በቂ አስፈላጊ ናቸው።
ወደ ማቨን ተሰራጨ
አንድ ዋና የደህንነት ድርጅት ተንኮል አዘል የ npm ፓኬጆች በራስ-ሰር ወደ Maven በኩል እንደገና መታተማቸውን አረጋግጧል። mvnpmየ npm ፓኬጆችን በእጅ ሳይገመግሙ ወደ Maven ቅርሶች የሚቀይር መሳሪያ።
የሚከተለው ጥቅል ወደ ማቨን ሴንትራል ተላልፏል፡ org.mvnpm:posthog-node:4.18.1
mvnpm npm የሚያትመውን ማንኛውንም ነገር እንደገና ስለሚያሸግረው፣ የተበከሉት ስሪቶች ማንም ሰው ሳያውቀው በጃቫ ሥነ-ምህዳር ውስጥ ተንፀባርቀዋል።
ማቨን ሴንትራል በኖቬምበር 25፣ 2025 የተጎዱትን ቅርሶች አስወግዶ ተመሳሳይ የምዝገባ ችግሮች እንዳይከሰቱ ለመከላከል ቁጥጥሮችን ማጠናከር ጀመረ።
ይህ ማለት ከ npm ጋር ቀጥተኛ ግንኙነት የሌላቸው የጃቫ ፕሮጀክቶች አሁንም ሊጋለጡ ይችሉ ነበር ማለት ነው።
የሻይ ሑሉድ 2.0 ጥቃት እንዴት እንደሚሰራ
የኢንፌክሽን ፍሰት
- ተንኮለኛ ቅድመ-ጭነት ስክሪፕት ታክሏል ወደ package.json.
- setup_bun.js ከተበላሸ በተጎጂው ማሽን ላይ ቡን ይጭናል።
- bun_environment.js (ከ480ሺህ በላይ የተደበቀ ኮድ መስመሮች) ከበስተጀርባ ይሰራል።
- ማልዌር ከትሩፍልሆግ ጋር ተመሳሳይ የሆኑ ቴክኒኮችን በመጠቀም ምስክርነቶችን ይቃኛል።
- AWS፣ GCP እና Azure ቁልፎች
- የጂትሆብ ቶከኖች
- የnpm ቶከኖች
- የሲአይ ስርዓት ምስጢሮች
- AWS፣ GCP እና Azure ቁልፎች
- የተሰረቀ መረጃ “Sha1-Hulud: The Second Repository” የሚል መግለጫ ወደተሰጣቸው የህዝብ የጂትሆብ ማከማቻዎች ይሰቀላል።
- የተቀረጹ ቶከኖችን በመጠቀም፣ ማልዌር የተበላሹ የፓኬጆችን ስሪቶች ያትማል፣ ተደራሽ የሆኑ የጂቲኤችቲኤች ማከማቻዎችን ያጠቃል፣ እና ለርቀት ኮድ አፈፃፀም ቀጣይነት ያላቸውን የራስ-አስተናጋጅ ሯጮችን ይጭናል።
ተንኮል አዘል የጂቲኤችቲ የስራ ፍሰቶች
በሁለተኛው የሻይ-ሁሉድ NPM የአቅርቦት ሰንሰለት ጥቃት ወቅት፣ ማልዌር ተፈጠረ ሁለት የተደበቁ የጂቲኤችቲ እርምጃዎች የስራ ፍሰቶች በተጎዱ የውሂብ ማከማቻዎች ውስጥ። እነዚህ የስራ ፍሰቶች ለአጥቂዎች የርቀት ኮድ አፈፃፀም፣ የረጅም ጊዜ ጽናት እና የስርዓት ምስጢሮችን ሙሉ መዳረሻ ይሰጣሉ።
1. የኋላ በር የስራ ፍሰት (discussion.yaml)
በጣም አደገኛ የሆነው የስራ ፍሰት ያዳምጣል የጂትሆብ ውይይቶች ክስተቶች። የውይይት መልእክት ሲፈጠር ወይም ሲስተካከል፣ የስራ ፍሰቱ የመልእክቱን አካል ያነባል እና እንደ የሼል ትዕዛዝ በተጎጂው ማሽን ላይ።
ከታች ከተስተዋሉ ናሙናዎች የተገነባው ቀለል ያለ የተንኮል አዘል የስራ ፍሰት ስሪት ነው፡
ወሳኝ መስመሩ የሚከተለው ነው፡
ይህ ማለት አጥቂው ማንኛውንም ትዕዛዝ በጂትሃብ ውይይት ውስጥ መለጠፍ ይችላል፣ እና እራሱን የሚያስተናግደው ሯጭ ወዲያውኑ ያስፈጽመዋል። እራሳቸውን የሚያስተናግዱ ሯጮች ብዙውን ጊዜ ወደ ውስጣዊ አውታረ መረቦች፣ የደመና ምስክርነቶች እና የCI ምስጢሮች መዳረሻ ስላላቸው፣ ይህ የኋላ በር አጥቂው በሻይ ሁሉድ NPM የአቅርቦት ሰንሰለት ጥቃት ወቅት ሙሉ የርቀት ኮድ አፈፃፀም ይሰጠዋል።
የኮማንድ መርፌ ብዝበዛ
ይህ የስራ ፍሰት የጂቲኤችቲ እርምጃዎች አገላለጾችን እንዴት እንደሚያስኬድ አላግባብ ይጠቀማል። ግብዓቱን ወደ ደህንነታቸው በተጠበቁ ሕብረቁምፊዎች ከመገደብ ይልቅ፣ ጥሬ የውይይት ይዘትን ያነባል እና በቀጥታ ወደ ቅርፊቱ ያስተላልፋል። በዚህም ምክንያት፣ አጥቂው የሚከተለውን መልእክት መለጠፍ ብቻ ነው የሚያስፈልገው፡
ይህ ባህሪ በሻይ ሁሉድ NPM የአቅርቦት ሰንሰለት ጥቃት ወቅት በተደጋጋሚ ስለታየ፣ ማልዌር የጂቲኤችቢ እርምጃዎችን እንደ የርቀት ትዕዛዝ ቻናል እየተጠቀመ መሆኑን የሚያሳዩ ግልጽ ምልክቶች አንዱ ሆነ።
በራሳቸው የሚስተናገዱ ሯጮች ይህንን ሁኔታ ያባብሳሉ ምክንያቱም፡
- በኩባንያ አውታረ መረቦች ውስጥ ማስኬድ
- ደመና ይያዙ ወይም CI/CD ምስክርነቶች
- በተጠቃሚው ፈቃድ ያከናውኑ
- የጂትሆብ ሳንድቦክሲንግ ወይም ማግለል የለዎትም
ይህ አጥቂዎች ወደ ውስጣዊ አካባቢዎች የማያቋርጥ የትዕዛዝ ቻናል ይሰጣቸዋል።
የሚስጥር እና የስርዓት አሰባሰብ የስራ ፍሰት
ከጀርባ በር በተጨማሪ፣ ማልዌር ከተበከለው ስርዓት ሚስጥራዊ መረጃዎችን መሰብሰብ እና ማከማቸት የሆነ ሌላ የስራ ፍሰትን ያስወግዳል።
እነዚህ የስራ ፍሰቶች ይሰበሰባሉ፦
- የደመና ምስክርነቶች
- የአካባቢ ተለዋዋጮች
- የማውጫ ዝርዝሮች
- የትሩፍልሆግ አይነት ሚስጥራዊ ቅኝቶች
የተሰበሰበውን መረጃ በሚከተሉት ፋይሎች ውስጥ ያከማቻሉ፡
- ክላውድ.ጄሰን
- አካባቢ.ጄሰን
- ይዘቶች.json
- truffleSecrets.json
እነዚህ ፋይሎች ከዚያም ወደ አጥቂ ቁጥጥር የሚደረግባቸው የጂቲአብ ማከማቻዎች የተሰቀሉ ሲሆን እነዚህም በአጥቂ ቁጥጥር ስር ባሉ የጂቲአብ ማከማቻዎች ላይ ተለጥፈዋል። “ሻ1-ሁሉድ፡ ሁለተኛው መምጣት”በመቶዎች ወይም በሺዎች የሚቆጠሩ ቆሻሻዎች የታዩበት።
የመደራደር አመላካቾች
| ፋይል | SHA256 |
|---|---|
| setup_bun.js | a3894003ad1d293ba96d77881ccd2071446dc3f65f434669b49b3da92421901a |
| bun_environment.js | 62ee164b9b306250c1172583f138c9614139264f889fa99614903c12755468d0 |
ሌሎች ቀይ ባንዲራዎች
- .github/workflows/discussion.yaml
- $HOME/.dev-env/ ያልተጠበቁ ሯጮችን የያዘ
- “Sha1-Hulud: The Second Repos” የያዘ በአካውንትዎ ላይ የተፈጠረ የህዝብ GitHub ማከማቻዎች
የተዘመኑ መለኪያዎች (እ.ኤ.አ. ህዳር 26፣ 2025)
| ሜትሪክ | ቁጠር |
|---|---|
| የኤንፒኤም ፓኬጆች ተጎድተዋል | 830 + |
| የተበከሉ የጂቲኤችቲ ማከማቻዎች | 28,000 + |
| ሚስጥራዊ ፋይሎች ተሰቅለዋል | 5,000 + |
| የተሰበሰቡ አጠቃላይ ምስጢሮች | 11,858 |
| ትክክለኛ ሚስጥሮች | 2,298 |
አሁን ምን ማድረግ አለብዎት፡ ለሻይ ሁሉድ NPM የአቅርቦት ሰንሰለት ጥቃት ምላሽ መስጠት
የሻይ ሁሉድ NPM የአቅርቦት ሰንሰለት ጥቃት ፈጣን እና የተዋቀረ ምላሽ ይፈልጋል። ይህ ሁለተኛ ማዕበል በ npm፣ በ GitHub፣ በገንቢ ማሽኖች እና በማቨን ሴንትራል እንኳን ስለሚሰራጭ፣ ቡድኖች ማንኛውንም ተጋላጭነት ለመለየት፣ ለመያዝ እና ሙሉ በሙሉ ለማስተካከል በፍጥነት መንቀሳቀስ አለባቸው። ከዚህ በታች ያሉት እርምጃዎች በትክክለኛው ቅደም ተከተል ምላሽ እንዲሰጡ እና ተጨማሪ ስምምነት የመጣል አደጋን ለመቀነስ ይረዱዎታል።
ማግኘት
- “Sha1-Hulud: The Second Repos” የሚለውን መግለጫ የያዘውን ማከማቻ ለማግኘት GitHub ን ይፈልጉ።
- በጥቅል ጭነቶች ወቅት የቡን የመጫኛ ምዝግብ ማስታወሻዎችን ይፈልጉ።
- በተለይ ያልተጠበቁ የህይወት ዑደት ስክሪፕቶችን ለማግኘት package.json ፋይሎችን ይመርምሩ ቅድመ-ጭነት.
- ይፈትሹ $HOME/.dev-env/ በገንቢ ወይም በCI ስርዓቶች ላይ።
- አጠራጣሪ ልቀቶችን ለማግኘት የጂቲኤችቲ እና የnpm የህትመት ምዝግብ ማስታወሻዎችን ይገምግሙ።
መያዣ
- ሁሉንም ምስክርነቶች ያሽከርክሩ፦ GitHub፣ npm፣ cloud፣ CI secrets፣ API keys።
- የማይታወቁ የራስ-አስተናጋጅ ሯጮችን ያሰናክሉ እና ያስወግዱ።
- የሪፖ መፍጠርን ለጊዜው ቆልፍ።
- የተበከሉ ስሪቶችን ከጥገኝነት ግራፍዎ ያስወግዱ።
ማረም
- የተጎዱ ስርዓቶችን ማጽዳት።
- ለተከተቡ ፋይሎች ሁሉንም የጂቲኤችቲ እርምጃዎች የስራ ፍሰቶችን ይገምግሙ።
- ያልተለመዱ ትዕዛዞችን ወይም ሩጫዎችን ለማግኘት የCI ምዝግብ ማስታወሻዎችዎን ይፈልጉ።
ከታወቁ-ጥሩ የጥቅል ስሪቶች እንደገና ይገንቡ።
ዢጌኒ እንደ ሻይ-ሁሉድ ያሉ ጥቃቶችን ለማስቆም የሚረዳው እንዴት ነው?
እንደ ሻይ-ሁሉድ ሁለተኛ መምጣት ያለ ኃይለኛ ዘመቻ ካደረጉ በኋላ፣ ቡድኖች በእጅ ከሚደረጉ ፍተሻዎች የበለጠ ያስፈልጋቸዋል። ማልዌር ወደ ገንቢዎች፣ ወደ CI ሯጮች ወይም የምርት ስርዓቶች ከመድረሱ በፊት የሚያግድ አውቶማቲክ ጥበቃ ያስፈልጋቸዋል። Xygeni ትልቅ ጥቅም የሚሰጠው እዚህ ነው።
የማልዌር ቅድመ ማስጠንቀቂያ (MEW): ስጋቶች ከመስፋፋታቸው በፊት ለይተው ይወቁ
የXygeni የቅድመ ማስጠንቀቂያ ሞተር አዳዲስ እና የተዘመኑ ክፍት ምንጭ ፓኬጆችን በእውነተኛ ጊዜ ይቃኛል። የሚከተሉትን የመሳሰሉ አጠራጣሪ ባህሪያትን ያሳያል፡
- የተደበቀ ጃቫስክሪፕት ወይም ግዙፍ የተጠቀለለ ኮድ
- እንደ ቡን ያሉ ውጫዊ የሩጫ ጊዜዎችን የሚጭኑ የህይወት ዑደት ስክሪፕቶች
- ከGitHub፣ npm ወይም cloud endpoints ጋር ያልተጠበቁ ግንኙነቶች
- የሚጽፉ Droppers
$HOME,.dev-env/ወይም የስራ ፍሰት አቃፊዎች
MEW በሁለቱም የሻይ-ሁሉድ ሞገዶች ውስጥ ጥቅም ላይ የዋሉ ቅጦችን አግኝቷል፣ ይህም አጥቂዎች ኢንፌክሽኑን የበለጠ ከማሰራጨታቸው በፊት ቡድኖች ምላሽ እንዲሰጡ ይረዳቸዋል።
Guardrails in CI/CD ተንኮል አዘል ፓኬጆችን አግድ
Xygeni ያስፈጽማል guardrails ደህንነታቸው ያልተጠበቀ ስራዎችን በራስ-ሰር የሚያቆም፡
- CI pipelines የተደበቁ ቅድመ-ጭነት ወይም ድህረ-ጭነት ስክሪፕቶች ያላቸውን ፓኬጆችን መጫን አይችልም
- አንድ ጥቅል እንደ የስራ ፍሰቶችን ለመፍጠር ሲሞክር ግንባታዎች ይከሽፋሉ
.github/workflows/discussion.yaml - Pipelineከማይታመኑ ምንጮች ወይም ለመጀመሪያ ጊዜ ከታዩ መለያዎች የታተሙ ጥገኝነቶችን ውድቅ ማድረግ
ይህ የጥቃቱን ገጽታ በከፍተኛ ሁኔታ ይቀንሳል እና ተንኮል አዘል ዌር በCI ስራዎች ውስጥ እንዳይሰራ ይከላከላል።
የምስጢር ጥበቃ የፍንዳታ ራዲየስን ይቀንሳል
ሻይ-ሁሉድ የደመና ቁልፎችን፣ የጂትሃብ ቶከኖችን፣ የnpm ቶከኖችን እና የCI ምስጢሮችን ስለሚሰርቅ፣ ጥበቃ በማረጋገጫዎች ላይም ማተኮር አለበት።
- በኮድ፣ ምዝግብ ማስታወሻዎች፣ የስራ ፍሰቶች እና የአካባቢ ፋይሎች ውስጥ የተገለጹ ምስጢሮችን ያገኛል
- ከፍተኛ አደጋ ያላቸውን ምስክርነቶች በራስ-ሰር ያሽከረክራል
- የረጅም ጊዜ ስምምነትን ለመገደብ የአጭር ጊዜ ቶከኖችን ያስፈጽማል
አንድ አጥቂ የመጀመሪያውን መዳረሻ ቢያገኝም እንኳ የተሰረቁ ቁልፎች በፍጥነት ዋጋ ቢስ ይሆናሉ።
የመጨረሻ ማስታወሻዎች፡ የሻይ ሁሉድ ኤንፒኤም የአቅርቦት ሰንሰለት ጥቃት አሁንም አስፈላጊ የሆነው ለምንድን ነው?
የ ሻይ-ሁሉድ ሁለተኛ መምጣት ክስተት ዘመናዊነትን በቀላሉ እንዴት ማሳየት እንደሚቻል ያሳያል የኤንፒኤም የአቅርቦት ሰንሰለት ጥቃት በሥነ-ምህዳሮች ውስጥ ሊንቀሳቀስ ይችላል። በዚህ ሁኔታ፣ ማልዌር ከ npm ወደ Maven ዘለለ ምክንያቱም እንደ አውቶማቲክ የመስታወት መሳሪያዎች ያሉ mvnpm ያለ ማረጋገጫ የተጠቁ ፓኬጆችን እንደገና አሳትመዋል። በዚህም ምክንያት፣ የጃቫ ቡድኖች በቀጥታ npm ባይጠቀሙም እንኳ ተጋልጠዋል። ይህም የምዝገባ ፍሰቶች ፈጣን ግምገማ እና ጠንካራ ጥበቃዎች እንደሚያስፈልጋቸው ግልጽ ያደርገዋል።
ከዚህም በላይ የዚህ ዘመቻ ስፋትና ባህሪ አጥቂዎች ዛሬ እንዴት እንደሚንቀሳቀሱ ያሳያል። ዝም ከማለት ይልቅ፣ በአንድ ጊዜ በመቶዎች የሚቆጠሩ ፓኬጆችን ያትማሉ፣ የተደበቁ የጂትሃብ ሯጮችን ያሰማራሉ፣ ምስጢሮችን በብዛት ይሰርቃሉ፣ እና የሆነ ነገር ካልተሳካ አጥፊ መጥረጊያ እንኳን ያካትታሉ። በዚህም ምክንያት፣ በእጅ የሚሰጡ ግምገማዎች ከዚህ የአውቶሜሽን እና የፍጥነት ደረጃ ጋር አይጣጣሙም። ቡድኖች በጥቅሉ፣ በምንጩ እና በጥቅሉ ላይ ቀጣይነት ያለው፣ በእውነተኛ ጊዜ ጥበቃ ያስፈልጋቸዋል። pipeline ንብርብሮች.
ለምን ቀጣይነት ያለው Pipeline Security አሁን አስፈላጊ ነው
እንደ ሻይ-ሁሉድ ሁለተኛ መምጣት መሻሻሉን ይቀጥላል። ስለዚህ፣ የሚቀጥለውን ሞገድ መከላከል በራስ-ሰር በውስጡ የሚሰሩ መቆጣጠሪያዎችን ይፈልጋል። CI/CDከስምምነቱ በኋላ አይደለም። ዘመናዊ መከላከያ ቀደምት የማልዌር ማወቂያን፣ ጥብቅ የጥገኝነት ማረጋገጫን፣ የፖሊሲ አፈፃፀምን እና ሚስጥራዊ ጥበቃን ማዋሃድ አለበት፣ ስለዚህ ተንኮል አዘል ኮድ በልማት አካባቢዎች ውስጥ ሳይስተዋል እንዳይንቀሳቀስ።
Xygeni አውቶማቲክ በሆነ መንገድ በማቅረብ ይህንን ለውጥ ይደግፋል guardrails በመላው የሶፍትዌር አቅርቦት ሰንሰለት። ከመጫኑ በፊት አጠራጣሪ ፓኬጆችን ይለያል፣ ደህንነቱ የተጠበቀ የጥገኝነት ስሪቶችን ያስፈጽማል፣ ደህንነታቸው ያልተጠበቁ የስራ ፍሰቶችን ያግዳል፣ የተጋለጡ ምስጢሮችን ያገኛል እና ያልተለመዱ ነገሮችን በተመለከተ ማንቂያዎችን ይሰጣል። pipeline እንቅስቃሴ። በዚህም ምክንያት፣ የአቅርቦት ሰንሰለት ጥቃቶች በፍጥነት ሲሰራጩ እና የስነ-ምህዳር ወሰኖችን ሲያቋርጡ እንኳን ቡድኖች ጥበቃ ይደረግላቸዋል።
የተጎዱ ፓኬጆች ዝርዝር
የተጎዱ ፓኬጆችን በመጠቀምም ማማከር ይቻላል #ሻይ-ሁሉድ / #ሻይ-ሁሉድ-ሁለተኛ-መምጣት ውስጥ መለያ ያድርጉ OpenSourceMalware.com
| ጥቅል | ትርጉም |
|---|---|
| 02-ኢኮ | 0.0.7 |
| @accordproject/ኮንሰርቶ-ትንተና | 3.24.1 |
| @accordproject/ኮንሰርቶ-ሊንተር | 3.24.1 |
| @accordproject/concerto-linter-default-ruleset | 3.24.1 |
| @accordproject/concerto-metamodel | 3.12.5 |
| @accordproject/ኮንሰርቶ-አይነቶች | 3.24.1 |
| @accordproject/markdown-it-cicero | 0.16.26 |
| @accordproject/template-engine | 2.7.2 |
| @actbase/css-to-react-native-transform | 1.0.3 |
| @actbase/ተወላጅ | 0.1.32 |
| @actbase/node-server | 1.1.19 |
| @actbase/react-absolute | 0.8.3 |
| @actbase/react-daum-postcode | 1.0.5 |
| @actbase/react-kakaosdk | 0.9.27 |
| @actbase/react-native-actionsheet | 1.0.3 |
| @actbase/react-native-devtools | 0.1.3 |
| @actbase/react-native-fast-image | 8.5.13 |
| @actbase/react-native-kakao-channel | 1.0.2 |
| @actbase/react-native-kakao-navi | 2.0.4 |
| @actbase/react-native-less-transformer | 1.0.6 |
| @actbase/react-native-naver-login | 1.0.1 |
| @actbase/react-native-simple-video | 1.0.13 |
| @actbase/react-native-tiktok | 1.1.3 |
| @alexcolls/nuxt-socket.io | 0.0.7፣ 0.0.8 |
| @alexcolls/nuxt-ux | 0.6.2፣ 0.6.1 |
| @antstackio/eslint-config-antstack | 0.0.3 |
| @antstackio/express-graphql-proxy | 0.2.8 |
| @antstackio/graphql-body-parser | 0.1.1 |
| @antstackio/json-to-graphql | 1.0.3 |
| @antstackio/shelbysam | 1.1.7 |
| @aryanhussain/my-angular-lib | 0.0.23 |
| @asyncapi/dotnet-rabbitmq-template | 1.0.2፣ 1.0.1 |
| @asyncapi/edavisualer | 1.2.2፣ 1.2.1 |
| @asyncapi/go-watermill-template | 0.2.76፣ 0.2.77 |
| @asyncapi/java-template | 0.3.6፣ 0.3.5 |
| @asyncapi/ኪፐር | 0.0.3፣ 0.0.2 |
| @asyncapi/php-template | 0.1.2፣ 0.1.1 |
| @asyncapi/python-paho-template | 0.2.15፣ 0.2.14 |
| @asyncapi/server-api | 0.16.25፣ 0.16.24 |
| @asyncapi/ስቱዲዮ | 1.0.3፣ 1.0.2 |
| @asyncapi/web-component | 2.6.7፣ 2.6.6 |
| @browserbasehq/bb9 | 1.2.21 |
| @browserbasehq/director-ai | 1.0.3 |
| @browserbasehq/mcp | 2.1.1 |
| @browserbasehq/mcp-server-browserbase | 2.4.2 |
| @browserbasehq/sdk-functions | 0.0.4 |
| @browserbasehq/stagehand | 3.0.4 |
| @browserbasehq/stagehand-docs | 1.0.1 |
| @caretive/caret-cli | 0.0.2 |
| @clausehq/flows-step-httprequest | 0.1.14 |
| @clausehq/flows-step-jsontoxml | 0.1.14 |
| @clausehq/flows-step-mqtt | 0.1.14 |
| @clausehq/flows-step-sendgridemail | 0.1.14 |
| @clausehq/flows-step-taskscreateurl | 0.1.14 |
| @ጉዞ/አበባ | 1.0.3 |
| @commute/market-data | 1.0.2 |
| @commute/market-data-chartjs | 2.3.1 |
| @dev-blinq/ai-qa-logic | 1.0.19 |
| @dev-blinq/cucumber-js | 1.0.131 |
| @dev-blinq/cucumber_client | 1.0.738 |
| @dev-blinq/ui-systems | 1.0.93 |
| @ensdomains/address-encoder | 1.1.5 |
| @ensdomains/blacklist | 1.0.1 |
| @ensdomains/buffer | 0.1.2 |
| @ensdomains/ccip-read-cf-worker | 0.0.4 |
| @ensdomains/ccip-read-dns-gateway | 0.1.1 |
| @ensdomains/ccip-read-router | 0.0.7 |
| @ensdomains/ccip-read-worker-viem | 0.0.4 |
| @ensdomains/content-hash | 3.0.1 |
| @ensdomains/curvearithmetics | 1.0.1 |
| @ensdomains/cypress-metamask | 1.2.1 |
| @ensdomains/dnsprovejs | 0.5.3 |
| @ensdomains/dnssec-oracle-anchors | 0.0.2 |
| @ensdomains/dnssecoraclejs | 0.2.9 |
| @ensdomains/durin | 0.1.2 |
| @ensdomains/durin-middleware | 0.0.2 |
| @ensdomains/ens-archived-contracts | 0.0.3 |
| @ensdomains/ens-avatar | 1.0.4 |
| @ensdomains/ens-contracts | 1.6.1 |
| @ensdomains/ens-test-env | 1.0.2 |
| @ensdomains/ens-validation | 0.1.1 |
| @ensdomains/ensjs | 4.0.3 |
| @ensdomains/ensjs-react | 0.0.5 |
| @ensdomains/eth-ens-namehash | 2.0.16 |
| @ensdomains/hackathon-ሬጅስትራር | 1.0.5 |
| @ensdomains/hardhat-chai-matchers-viem | 0.1.15 |
| @ensdomains/hardhat-toolbox-viem-extended | 0.0.6 |
| @ensdomains/mock | 2.1.52 |
| @ensdomains/name-wrapper | 1.0.1 |
| @ensdomains/offchain-resolver-contracts | 0.2.2 |
| @ensdomains/op-resolver-contracts | 0.0.2 |
| @ensdomains/react-ens-address | 0.0.32 |
| @ensdomains/እድሳት | 0.0.13 |
| @ensdomains/renewal-widget | 0.1.10 |
| @ensdomains/reverse-records | 1.0.1 |
| @ensdomains/server-analytics | 0.0.2 |
| @ensdomains/solsha1 | 0.0.4 |
| @ensdomains/subdomain-registrar | 0.2.4 |
| @ensdomains/test-utils | 1.3.1 |
| @ensdomains/thorin | 0.6.51 |
| @ensdomains/ui | 3.4.6 |
| @ensdomains/unicode-confusables | 0.1.1 |
| @ensdomains/unruggable-gateways | 0.0.3 |
| @ensdomains/vite-plugin-i18next-loader | 4.0.4 |
| @ensdomains/web3modal | 1.10.2 |
| @everreal/react-charts | 2.0.1፣ 2.0.2 |
| @everreal/validate-esmoduleinterop-imports | 1.4.4፣ 1.4.5 |
| @everreal/web-analytics | 0.0.1፣ 0.0.2 |
| @faq-component/core | 0.0.4 |
| @faq-ክፍል/ምላሽ | 1.0.1 |
| @fishingbooker/browser-sync-plugin | 1.0.5 |
| @fishingbooker/react-loader | 1.0.7 |
| @fishingbooker/react-pagination | 2.0.6 |
| @fishingbooker/react-raty | 2.0.1 |
| @fishingbooker/react-swiper | 0.1.5 |
| @hapheus/n8n-nodes-pgp | 1.5.1 |
| @hover-design/core | 0.0.1 |
| @hover-design/react | 0.2.1 |
| @ifelsedeveloper/protocol-contracts-svm-idl | 0.1.2 |
| @ifings/design-system | 4.9.2 |
| @ifings/metatron3 | 0.1.5 |
| @kvytech/cli | 0.0.7 |
| @kvytech/ክፍሎች | 0.0.2 |
| @kvytech/habbit-e2e-test | 0.0.2 |
| @kvytech/medusa-plugin-announcement | 0.0.8 |
| @kvytech/medusa-plugin-management | 0.0.5 |
| @kvytech/medusa-plugin-newsletter | 0.0.5 |
| @kvytech/medusa-plugin-product-reviews | 0.0.9 |
| @kvytech/medusa-plugin-promotion | 0.0.2 |
| @kvytech/web | 0.0.2 |
| @lessondesk/api-client | 9.12.3፣ 9.12.2 |
| @lessondesk/babel-preset | 1.0.1 |
| @lessondesk/electron-group-api-client | 1.0.3 |
| @lessondesk/eslint-config | 1.4.2 |
| @lessondesk/material-icons | 1.0.3 |
| @lessondesk/react-table-context | 2.0.4 |
| @lessondesk/schoolbus | 5.2.2፣ 5.2.3 |
| @livecms/በቀጥታ-አርትዕ | 0.0.32 |
| @livecms/nuxt-live-edit | 1.9.2 |
| @louisle2/ኮር | 1.0.1 |
| @louisle2/cortex-js | 0.1.6 |
| @lpdjs/firestore-repo-service | 1.0.1 |
| @markvivanco/app-version-checker | 1.0.2፣ 1.0.1 |
| @ntnx/passport-wso2 | 0.0.3 |
| @ntnx/t | 0.0.101 |
| @orbitgtbelgium/mapbox-gl-draw-cut-polygon-mode | 2.0.5 |
| @orbitgtbelgium/mapbox-gl-draw-scale-rotate-mode | 1.1.1 |
| @orbitgtbelgium/orbit-components | 1.2.9 |
| @orbitgtbelgium/time-slider | 1.0.187 |
| @osmanekrem/bmad | 1.0.6 |
| @osmanekrem/error-handler | 1.2.2 |
| @ፖስትሆግ/ወኪል | 1.24.1 |
| @posthog/ai | 7.1.2 |
| @posthog/cli | 0.5.15 |
| @posthog/clickhouse | 1.7.1 |
| @posthog/ኮር | 1.5.6 |
| @posthog/jardhog-mode | 0.0.42 |
| @posthog/icons | 0.36.1 |
| @posthog/lemon-ui | 0.0.1 |
| @posthog/nextjs-config | 1.5.1 |
| @posthog/nuxt | 1.2.9 |
| @posthog/piscina | 3.2.1 |
| @posthog/plugin-contrib | 0.0.6 |
| @posthog/react-rrweb-player | 1.1.4 |
| @posthog/rrdom | 0.0.31 |
| @posthog/rrweb | 0.0.31 |
| @posthog/rrweb-player | 0.0.31 |
| @posthog/rrweb-record | 0.0.31 |
| @posthog/rrweb-replay | 0.0.19 |
| @posthog/rrweb-snapshot | 0.0.31 |
| @posthog/rrweb-utils | 0.0.31 |
| @posthog/siphash | 1.1.2 |
| @posthog/ጠንቋይ | 1.18.1 |
| @postman/ether-icons | 2.23.4፣ 2.23.3፣ 2.23.2 |
| @postman/csv-parse | 4.0.5፣ 4.0.3፣ 4.0.4 |
| @postman/node-keytar | 7.9.6፣ 7.9.4፣ 7.9.5 |
| @postman/tunnel-agent | 0.6.7፣ 0.6.6፣ 0.6.5 |
| @pradhumngautam/common-app | 1.0.2 |
| @pruthvi21/use-debounce | 1.0.3 |
| @quick-start-soft/quick-document-translator | 1.4.2511142126 |
| @quick-start-soft/quick-git-clean-markdown | 1.4.2511142126 |
| @quick-start-soft/quick-markdown | 1.4.2511142126 |
| @quick-start-soft/quick-markdown-compose | 1.4.2506300029 |
| @quick-start-soft/quick-markdown-image | 1.4.2511142126 |
| @quick-start-soft/quick-markdown-print | 1.4.2511142126 |
| @quick-start-soft/quick-markdown-translator | 1.4.2509202331 |
| @quick-start-soft/quick-remove-image-background | 1.4.2511142126 |
| @quick-start-soft/quick-task-refine | 1.4.2511142126 |
| @relyt/claude-context-core | 0.1.1 |
| @seezo/sdr-mcp-server | 0.0.5 |
| @seung-ju/next | 0.0.2 |
| @seung-ju/openapi-generator | 0.0.4 |
| @seung-ju/react-hooks | 0.0.2 |
| @seung-ju/react-native-action-sheet | 0.2.1 |
| @sme-ui/aoma-vevasound-ሜታዳታ-ሊብ | 0.1.3 |
| @strapbuild/react-native-date-time-picker | 2.0.4 |
| @strapbuild/react-native-perspective-image-cropper | 0.4.15 |
| @strapbuild/react-native-perspective-image-cropper-2 | 0.4.7 |
| @strapbuild/react-native-perspective-image-cropper-poojan31 | 0.4.6 |
| @suraj_h/medium-common | 1.0.5 |
| @thedelta/eslint-config | 1.0.2 |
| @tiaanduplessis/json | 2.0.3፣ 2.0.2 |
| @tiaanduplessis/react-progressbar | 1.0.2፣ 1.0.1 |
| @trefox/sleekshop-js | 0.1.6 |
| @trigo/atrix | 7.0.1 |
| @trigo/atrix-elasticsearch | 2.0.1 |
| @trigo/atrix-postgres | 1.0.3 |
| @trigo/atrix-pubsub | 4.0.3 |
| @trigo/atrix-soap | 1.0.2 |
| @trigo/atrix-swagger | 3.0.1 |
| @trigo/bool-expressions | 4.1.3 |
| @trigo/eslint-config-trigo | 3.3.1 |
| @trigo/fsm | 3.4.2 |
| @trigo/hapi-auth-signedlink | 1.3.1 |
| @trigo/pathfinder-ui-css | 0.1.1 |
| @trigo/trigo-hapijs | 5.0.1 |
| @trpc-rate-limiter/cloudflare | 0.1.4 |
| @trpc-rate-limiter/hono | 0.1.4 |
| @varsityvibe/api-client | 1.3.36፣ 1.3.37 |
| @varsityvibe/utils | 5.0.6 |
| @varsityvibe/validation-schemas | 0.6.7፣ 0.6.8 |
| @vishadtyagi / የሙሉ ዓመት-አቆጣጠር | 0.1.11 |
| @voiceflow/alexa-types | 2.15.60፣ 2.15.61 |
| @voiceflow/አንትሮፒክ | 0.4.4፣ 0.4.5 |
| @voiceflow/api-sdk | 3.28.58፣ 3.28.59 |
| @voiceflow/backend-utils | 5.0.2፣ 5.0.1 |
| @voiceflow/base-types | 2.136.3፣ 2.136.2 |
| @voiceflow/body-parser | 1.21.2፣ 1.21.3 |
| @voiceflow/chat-types | 2.14.59፣ 2.14.58 |
| @voiceflow/circleci-config-sdk-orb-import | 0.2.1፣ 0.2.2 |
| @ድምፅ ፍሰት/commitlint-config | 2.6.2፣ 2.6.1 |
| @voiceflow/common | 8.9.1፣ 8.9.2 |
| @voiceflow/default-prompt-wrappers | 1.7.4፣ 1.7.3 |
| @voiceflow/dependency-cruiser-config | 1.8.12፣ 1.8.11 |
| @voiceflow/dtos-interact | 1.40.2፣ 1.40.1 |
| @voiceflow/encryption | 0.3.3፣ 0.3.2 |
| @voiceflow/eslint-config | 7.16.4፣ 7.16.5 |
| @voiceflow/eslint-plugin | 1.6.2፣ 1.6.1 |
| @voiceflow/exception | 1.10.2፣ 1.10.1 |
| @voiceflow/fetch | 1.11.1፣ 1.11.2 |
| @voiceflow/general-types | 3.2.23፣ 3.2.22 |
| @voiceflow/git-branch-check | 1.4.4፣ 1.4.3 |
| @voiceflow/google-dfes-types | 2.17.12፣ 2.17.13 |
| @voiceflow/google-types | 2.21.12፣ 2.21.13 |
| @voiceflow/husky-config | 1.3.1፣ 1.3.2 |
| @voiceflow/logger | 2.4.3፣ 2.4.2 |
| @voiceflow/metrics | 1.5.2፣ 1.5.1 |
| @voiceflow/natural-language-commander | 0.5.2፣ 0.5.3 |
| @voiceflow/nestjs-common | 2.75.2፣ 2.75.3 |
| @voiceflow/nestjs-mongodb | 1.3.1፣ 1.3.2 |
| @voiceflow/nestjs-rate-limit | 1.3.3፣ 1.3.2 |
| @voiceflow/nestjs-redis | 1.3.1፣ 1.3.2 |
| @voiceflow/nestjs-timeout | 1.3.1፣ 1.3.2 |
| @voiceflow/npm-package-json-lint-config | 1.1.1፣ 1.1.2 |
| @voiceflow/openai | 3.2.2፣ 3.2.3 |
| @voiceflow/pino | 6.11.4፣ 6.11.3 |
| @voiceflow/pino-pretty | 4.4.2፣ 4.4.1 |
| @voiceflow/prettier-config | 1.10.2፣ 1.10.1 |
| @voiceflow/react-chat | 1.65.4፣ 1.65.3 |
| @የድምጽ ፍሰት/የሩጫ ጊዜ | 1.29.1፣ 1.29.2 |
| @voiceflow/runtime-client-js | 1.17.3፣ 1.17.2 |
| @voiceflow/sdk-runtime | 1.43.2፣ 1.43.1 |
| @voiceflow/secrets-provider | 1.9.3፣ 1.9.2 |
| @voiceflow/semantic-release-config | 1.4.2፣ 1.4.1 |
| @voiceflow/serverless-plugin-typescript | 2.1.7፣ 2.1.8 |
| @voiceflow/slate-serializer | 1.7.4፣ 1.7.3 |
| @voiceflow/stitches-react | 2.3.3፣ 2.3.2 |
| @voiceflow/storybook-config | 1.2.2፣ 1.2.3 |
| @voiceflow/stylelint-config | 1.1.1፣ 1.1.2 |
| @voiceflow/test-common | 2.1.1፣ 2.1.2 |
| @voiceflow/tsconfig | 1.12.2፣ 1.12.1 |
| @voiceflow/tsconfig-paths | 1.1.5፣ 1.1.4 |
| @voiceflow/utils-designer | 1.74.19፣ 1.74.20 |
| @voiceflow/verror | 1.1.5፣ 1.1.4 |
| @voiceflow/vite-config | 2.6.2፣ 2.6.3 |
| @voiceflow/vitest-config | 1.10.3፣ 1.10.2 |
| @voiceflow/voice-types | 2.10.59፣ 2.10.58 |
| @voiceflow/voiceflow-types | 3.32.45፣ 3.32.46 |
| @voiceflow/widget | 1.7.18፣ 1.7.19 |
| @zapier/ai-actions | 0.1.20፣ 0.1.19፣ 0.1.18 |
| @zapier/babel-preset-zapier | 6.4.2፣ 6.4.1፣ 6.4.3 |
| @zapier/browserslist-config-zapier | 1.0.4፣ 1.0.3፣ 1.0.5 |
| @zapier/secret-scrubber | 1.1.5፣ 1.1.4፣ 1.1.3 |
| አይ-ክሮል-ጋሻ | 1.0.7 |
| አርክ-ክሊ-ኤፍሲ | 1.0.1 |
| asynapi-preview | 1.0.2፣ 1.0.1 |
| አትሪክስ | 1.0.1 |
| አውቶሜሽን_ሞዴል | 1.0.491 |
| አክሲዮስ-ገንቢ | 1.2.1 |
| ሊሰረዝ የሚችል አክሲዮስ | 1.0.2፣ 1.0.1 |
| አክሲስ-ጊዜ ያለው | 1.0.2፣ 1.0.1 |
| ባርቦንስ-ሲኤስኤስ | 1.1.4፣ 1.1.3 |
| ቤንሞስቲን-ፍሬም-ህትመት | 1.0.1 |
| የበለጠጂፒዮመቆጣጠሪያ | 1.0.10 |
| ባለሁለት አቅጣጫ-አስማሚ | 1.2.2፣ 1.2.4፣ 1.2.5፣ 1.2.3 |
| blinqio-executions-cli | 1.0.41 |
| ብሎብ-ወደ-ቤዝ64 | 1.0.3 |
| bun-plugin-httpfile | 0.1.1 |
| ባይትኮድ-ቼከር-ክሊ | 1.0.11፣ 1.0.8፣ 1.0.9፣ 1.0.10 |
| ባይት-ወደ-x | 1.0.1 |
| የካል-ብድር-ወለድ | 1.0.4 |
| capacitor-plugin-apptrackingios | 0.0.21 |
| የካፓሲተር-ፕለጊን-ግዢ | 0.1.1 |
| capacitor-plugin-scgssigninwithgoogle | 0.0.5 |
| የካፓሲተር-ግዢ-ታሪክ | 0.0.10 |
| capacitor-voice-recorder-wav | 6.0.3 |
| የchrome-extension-ውርዶች | 0.0.3፣ 0.0.4 |
| ክላውድ-ቶከን-ማዘመኛ | 1.0.3 |
| coinmarketcap-api | 3.1.3፣ 3.1.2 |
| colors-regex | 2.0.1 |
| ትዕዛዝ-ኢራይል | 0.5.4 |
| compare-obj | 1.1.1፣ 1.1.2 |
| ኮምፖዚት-ሪዲዩሰር | 1.0.4፣ 1.0.3፣ 1.0.2፣ 1.0.5 |
| ወደ ታች መቁጠር | 1.0.2፣ 1.0.1 |
| የሲፒዩ-መመሪያዎች | 0.0.14 |
| create-direct-app | 0.1.1 |
| create-glee-app | 0.2.3፣ 0.2.2 |
| create-hardhat3-app | 1.1.4፣ 1.1.3፣ 1.1.1፣ 1.1.2 |
| ክሪፕቶ-addr-ኮዴክ | 0.1.9 |
| ሲኤስኤስ-ዴዱፕ | 0.1.2 |
| dashboard-ባዶ ሁኔታ | 1.0.3 |
| ዲዛይስቱዩይክስ | 1.0.1 |
| devstart-cli | 1.0.6 |
| የዲያግሎፍ ፍሰት-ኢዎች | 1.1.4፣ 1.1.3፣ 1.1.1፣ 1.1.2 |
| ዲስኮርድ-ቦት-ሰርቨር | 0.1.2 |
| docusasaurus-plugin-vanilla-extract | 1.0.3 |
| አትሂድ | 1.1.2 |
| ዶትኔት-ቴምፕሌት | 0.0.3፣ 0.0.4 |
| የ drop-events-on-property-plugin | 0.0.2 |
| የኢሜይል አቅርቦት ሞካሪ | 1.1.1 |
| የቅርንጫፍ-ስምን ማስፈጸሚያ | 1.1.3 |
| esbuild-plugin-brotli | 0.2.1 |
| esbuild-plugin-eta | 0.1.1 |
| esbuild-plugin-httpfile | 0.4.1 |
| eslint-config-nitpicky | 4.0.1 |
| eslint-config-trigo | 22.0.2 |
| eslint-config-zeallat-base | 1.0.4 |
| ኤተርየም-ኤንስ | 0.8.1 |
| evm-checkcode-cli | 1.0.15፣ 1.0.12፣ 1.0.13፣ 1.0.14 |
| ትክክለኛ-ቲከር | 0.3.5 |
| የኤክስፖ-ኦዲዮ-ክፍለ ጊዜ | 0.2.1 |
| ኤክስፕሬሶዎች | 1.1.3 |
| ወፍራም ጣት ያለው | 1.0.2፣ 1.0.1 |
| ባህሪ-መገልበጥ | 1.0.2፣ 1.0.1 |
| የእሳት አደጋ መደብር-የፍለጋ-ሞተር | 1.2.3 |
| fittxt | 1.0.3፣ 1.0.2 |
| ፍላሽስታኮች | 1.0.2፣ 1.0.1 |
| ጠፍጣፋ-ያልተስተካከለ | 1.0.2፣ 1.0.1 |
| formik-error-focus | 2.0.1 |
| ፎርሚክ-ሱቅ | 1.0.1 |
| ደብዛዛ ፈላጊ | 1.0.5፣ 1.0.6 |
| ጌት-evm-ቼክ-ኮድ2 | 2.0.3፣ 2.0.4፣ 2.0.5፣ 2.0.6 |
| የጌት-evm-መሳሪያዎች-ሙከራ | 1.0.7፣ 1.0.8፣ 1.0.5፣ 1.0.6 |
| gatsby-plugin-cname | 1.0.2፣ 1.0.1 |
| ጀነሬተር-ሜትሮ-ስቶክ | 0.1.6 |
| ጀነሬተር-ንግ-ኢቶቡዝ | 0.0.15 |
| ያግኙዋቸው-ክርክሮች | 1.3.3 |
| github-action-for-generator | 2.1.28፣ 2.1.27 |
| ጊትሳፍ | 1.0.5 |
| የሂድ-ቴምፕሌት | 0.1.8፣ 0.1.9 |
| gulp-injection-envs | 1.2.2፣ 1.2.1 |
| haufe-axera-api-client | 0.0.1፣ 0.0.2 |
| ተስፋ-ማፕቦክስድራው | 0.1.1 |
| ተስፋ 아니다 | 1.0.3 |
| የማንዣበብ-ንድፍ-ፕሮቶታይፕ | 0.0.5 |
| httpness | 1.0.3፣ 1.0.2 |
| ከፍተኛ-ሙላት | 1.0.3 |
| ሃይፐርተርም-ሂፕስተር | 1.0.7 |
| አይዲ-ሲኤስኤስ | 1.5.1 |
| አይዲዎች-enterprise-mcp-አገልጋይ | 0.0.2 |
| አይዲዎች-enterprise-ንግ | 20.1.6 |
| አይዲዎች-enterprise-ታይፕንግ | 20.1.6 |
| ምስል-ወደ-ዩሪ | 1.0.2፣ 1.0.1 |
| እንቅልፍ ማጣት-ፕለጊን-በዘፈቀደ-ፒክ | 1.0.4 |
| ኢንቮ | 0.2.2 |
| የብረት ጋሻ-ሚኒአፕ | 0.0.2 |
| ኢቶ-አዝራር | 8.0.3 |
| ኢቶቡዝ-አንጉላር | 0.0.1 |
| ኢቶቡዝ-አንጉላር-አውት | 8.0.11 |
| ኢቶቡዝ-አንጉላር-አዝራር | 8.0.11 |
| jacob-zuma | 1.0.2፣ 1.0.1 |
| የጃትቱት-ቫሪት-ሙከራ | 1.0.2 |
| ጃን-አሳሽ | 0.13.1 |
| jquery-bindings | 1.1.3፣ 1.1.2 |
| jsonsurge | 1.0.7 |
| ልክ-ቶስቲ | 1.7.1 |
| ኪል-ፖርት | 2.0.3፣ 2.0.2 |
| ኮሪያ-አስተዳደራዊ-አካባቢ-geo-json-util | 1.0.7 |
| ክዋሚ | 1.5.9፣ 1.5.10 |
| የላንግ-ኮዶች | 1.0.2፣ 1.0.1 |
| ፈቃድ-ኦ-ማቲክ | 1.2.2፣ 1.2.1 |
| lint-staged-imagemin | 1.3.1፣ 1.3.2 |
| ላይት-ሰርፐር-mcp-ሰርቨር | 0.2.2 |
| ሉኖ-አፒ | 1.2.3 |
| በእጅ የሚከፈልበት-ስርዓት-ሚኒአፕ-አፒ | 1.3.1 |
| medusa-plugin-announcement | 0.0.3 |
| medusa-plugin-logs | 0.0.17 |
| medusa-plugin-momo | 0.0.68 |
| medusa-plugin-product-reviews-kvy | 0.0.4 |
| medusa-plugin-zalopay | 0.0.40 |
| mod10-ቼክ-ዲጂት | 1.0.1 |
| mon-package-react-typescript | 1.0.1 |
| ማይ-ሰኢድ-ሊብ | 0.1.1 |
| n8n-ኖዶች-tmdb | 0.5.1 |
| n8n-ኖዶች-vercel-ai-sdk | 0.1.7 |
| n8n-ኖዶች-ቫይራል-መተግበሪያ | 0.2.5 |
| ናኖ ዳግም አስጀምር | 7.0.2፣ 7.0.1 |
| ቀጣይ-ክብ-ጥገኝነት | 1.0.3፣ 1.0.2 |
| next-simple-google-analytics | 1.1.1፣ 1.1.2 |
| next-styled-nprogress | 1.0.4፣ 1.0.5 |
| ngx-useful-swiper-prosenjit | 9.0.2 |
| ngx-wooapi | 12.0.1 |
| መደበኛ-መደብር | 1.3.1፣ 1.3.4፣ 1.3.3፣ 1.3.2 |
| obj-to-css | 1.0.3፣ 1.0.2 |
| okta-react-router-6 | 5.0.1 |
| ክፍት ኢንተርኔት | 0.1.1 |
| ምህዋር-ቦክሲኮኖች | 2.1.3 |
| ኦርቢት-ኔቡላ-ድራም-መሳሪያዎች | 1.0.10 |
| ኦርቢት-ኔቡላ-አርታኢ | 1.0.2 |
| ምህዋር-ሳሙና | 0.43.13 |
| ኦርኬስትሪክስ | 12.1.2 |
| የጥቅል ሞካሪ | 1.0.1 |
| የፓርክል-ፕለጊን-አሴት-ኮፒየር | 1.1.3፣ 1.1.2 |
| ፒዲኤፍ-ማብራሪያ | 0.0.2 |
| ፒክላይት | 1.0.1 |
| ፒኮ-ኡይድ | 1.0.4፣ 1.0.3 |
| pkg-readme | 1.1.1 |
| ፖፐር-ሪአክት-ኤስዲኬ | 0.1.2 |
| ፖስትሆግ-ዶክሳሩስ | 2.0.6 |
| ፖስትሆግ-ጄኤስ | 1.297.3 |
| ፖስትሆግ-ኖድ | 4.18.1፣ 5.13.3፣ 5.11.3 |
| posthog-plugin-hello-world | 1.0.1 |
| ፖስትሆግ-ሪአክቲቭ-ኔቲቭ | 4.11.1፣ 4.12.5 |
| ድህረ-ሆግ-ሪአክሽን-ተወላጅ-ክፍለ-ጊዜ-ድጋሚ ጨዋታ | 1.2.2 |
| ፕራይም-ዋን-ጠረጴዛ | 0.0.19 |
| ፕሮምፕል-ኢንግ | 1.0.50 |
| puny-req | 1.0.3 |
| ra-auth-firebase | 1.0.3 |
| ra-data-firebase | 1.0.8፣ 1.0.7 |
| የሪአክት-ክፍል-መለያዎች | 0.1.9 |
| ወደ ውጭ ለመላክ ምላሽ-ውሂብ | 1.0.1 |
| የሪአክሽን-ኤለመንት-ፕሮምፕት-ኢንስፔክተር | 0.1.18 |
| ምላሽ-ፋቪክ | 1.0.2 |
| ምላሽ-መንጠቆ-ቅርጽ-ቋሚ | 3.0.2፣ 3.0.1 |
| የሪአክት-ጃም-አይኮኖች | 1.0.2፣ 1.0.1 |
| የመልስ-ቁልፍ-አውድ | 1.0.8፣ 1.0.9 |
| የሪአክት-ላይብረሪ-ማዋቀር | 0.0.6 |
| ምላሽ-መስመራዊ-ጫኚ | 1.0.2 |
| react-micromodal.js | 1.0.2፣ 1.0.1 |
| react-native-datepicker-modal | 1.3.1፣ 1.3.2 |
| ምላሽ-ተወላጅ-ኢሜይል | 2.1.1፣ 2.1.2 |
| ምላሽ-ተወላጅ-ፌች | 2.0.1፣ 2.0.2 |
| react-native-get-pixel-dimensions | 1.0.2፣ 1.0.1 |
| react-native-google-maps-directions | 2.1.2 |
| react-native-jam-icons | 1.0.2፣ 1.0.1 |
| ምላሽ-ቤተኛ-ሎግ-ደረጃ | 1.2.2፣ 1.2.1 |
| react-native-modest-checkbox | 3.3.1 |
| ምላሽ-ተወላጅ-መካከለኛ-ማከማቻ | 2.1.1 |
| ምላሽ-ተወላጅ-ስልክ-ጥሪ | 1.2.2፣ 1.2.1 |
| ምላሽ-ተወላጅ-ተመልሶ-ሊገኝ የሚችል-ማውጣት | 2.0.1፣ 2.0.2 |
| ምላሽ-ተወላጅ-አጠቃቀም-ሞዳል | 1.0.3 |
| ምላሽ-ተወላጅ-እይታ-ፈላጊ | 1.2.2፣ 1.2.1 |
| react-native-websocket | 1.0.4፣ 1.0.3 |
| የሪአክቲቭ-ኔቲቭ-ዎርክሌት-ተግባራት | 3.3.3 |
| ምላሽ-qr-image | 1.1.1 |
| ሬዲፍ | 1.0.5 |
| ሬዲፍ-ተመልካች | 0.0.7 |
| የሬዱክስ-ራውተር-ኪት | 1.2.2፣ 1.2.4፣ 1.2.3 |
| rollup-plugin-httpfile | 0.2.1 |
| የsa-company-registration-number-regex | 1.0.2፣ 1.0.1 |
| sa-id-gen | 1.0.4፣ 1.0.5 |
| ተመሳሳይ | 1.0.3 |
| scgs-capacitor-subscribe | 1.0.11 |
| የscgsffcreator | 1.0.5 |
| ስብስብ-ጎተራ-ፕሮፕ | 2.0.1፣ 2.0.2 |
| የሼል-ጅት-ክፍለ-ጊዜዎች | 0.1.2 |
| shell-exec | 1.1.4፣ 1.1.3 |
| ሺንሃን-ሊሚት-ስክራፕ | 1.0.3 |
| ክህሎቶችን መጠቀም | 0.1.2፣ 0.1.1 |
| የሰለሞን-ኤፒ-ታሪኮች | 1.0.2 |
| solomon-v3-stories | 1.15.6 |
| solomon-v3-ui-wrapper | 1.6.1 |
| በርቀት ደርድር | 2.0.1 |
| የደቡብ አፍሪካ-አይዲ-መረጃ | 1.0.2 |
| ስታቲስቲክስ-ኤፍኤንኤስ | 1.0.1 |
| ስቶር | 2.3.2 |
| እጅግ በጣም ጥሩcommit | 1.0.1 |
| svelte-autocomplete-select | 1.1.1 |
| ስቬልት-ቶስቲ | 1.1.3፣ 1.1.2 |
| tanstack-shadcn-table | 1.1.5 |
| ቲሲኤስፒ | 2.0.2 |
| የቲኤስፒ-ድራም-ሙከራ | 1.0.5 |
| tcsp-test-vd | 2.4.4 |
| ቴምፕሌት-ሊብ | 1.1.4፣ 1.1.3 |
| አብነት-ማይክሮ-አገልግሎት | 1.0.3፣ 1.0.2 |
| ጽኑ-አሳታፊ | 2.3.3፣ 2.3.2 |
| የሙከራ-አምፖዚሪ-መተግበሪያ | 1.0.4፣ 1.0.3፣ 1.0.2፣ 1.0.1 |
| test-hardhat-app | 1.0.4፣ 1.0.3፣ 1.0.2፣ 1.0.1 |
| test23112222-api | 1.0.1 |
| ቲያን | 1.0.2 |
| token.js-fork | 0.7.32 |
| ትሪጎ-ሪአክት-መተግበሪያ | 4.1.2 |
| የታይፕ አጥር | 1.2.2፣ 1.2.3 |
| የታይፐርም-ምህዋር | 0.2.27 |
| ደህንነቱ የተጠበቀ ያልሆነ | 1.0.4፣ 1.0.3 |
| አፕላንድዊ | 0.5.4 |
| ወደ ፕሌይ-ስቶር ስቀል | 1.0.2፣ 1.0.1 |
| url-encode-decode | 1.0.2፣ 1.0.1 |
| ያልተቀመጡ ለውጦችን ይጠቀሙ | 1.0.9 |
| ትክክለኛ-ደቡብ-አፍሪካ-መታወቂያ | 1.0.3 |
| vf-oss-template | 1.0.4፣ 1.0.3፣ 1.0.2፣ 1.0.1 |
| vite-plugin-httpfile | 0.2.1 |
| vue-browserupdate-nuxt | 1.0.5 |
| web-scraper-mcp | 1.1.4 |
| የድር አይነቶች-htmx | 0.1.1 |
| የድር አይነቶች-ተበራ | 0.1.1 |
| webpack-loader-httpfile | 0.2.1 |
| የጤንነት-ባለሙያ-ንግ-ጋለሪ | 5.1.1 |
| ዌንክ | 1.0.9፣ 1.0.10 |
| zapier-async-storage | 1.0.3፣ 1.0.2፣ 1.0.1 |
| zapier-platform-cli | 18.0.4፣ 18.0.3፣ 18.0.2 |
| zapier-platform-core | 18.0.4፣ 18.0.3፣ 18.0.2 |
| zapier-platform-schema | 18.0.4፣ 18.0.3፣ 18.0.2 |
| የዛፒየር-ስክሪፕቶች | 7.8.3፣ 7.8.4 |
| ዙፐር-ክሊ | 1.0.1 |
| ዙፐር-ኤስዲኬ | 1.0.57 |
| zuper-stream | 2.0.9 |





