TL, DR
2025 оны 9-р сарын 14-нд судлаачид тодорхойлсон Шай Хулуд, дотор нь нуугдсан өөрөө үрждэг өт npm багцууд, ердийн хамаарлын шинэчлэлтийг бүрэн хэмжээний болгон хувиргах хангамжийн гинжин халдлагаАнх ажиглагдсан @ctrl/tinycolor Даниел дос Сантос Перейрагийн багцаар Шай-Хулуд нууцыг цуглуулж, GitHub репозитор болон ажлын урсгалаар дамжуулан шүүрдэж, хулгайлагдсан итгэмжлэлүүдийг ашиглан бүртгэлд дахин нийтэлдэг. Хэдхэн хоногийн дотор халдвар авсан багцын тоо хэдэн арван багцаас хэдэн зуу болж өссөн нь үүнийг баталж байна. Шайхулуд нь зүгээр л нэг троян биш, харин npm экосистемд автоматаар тархахаар бүтээгдсэн өт юм.
Үр нөлөө: Олон нийтийн npm багцуудыг суулгаж буй аливаа хөгжүүлэгч эсвэл CI runner эрсдэлд орно.
Яаралтай арга хэмжээ: мэдэгдэж буй хувилбаруудыг хаах, зөвхөн түгжих файлын суулгалт руу шилжих, npm болон GitHub токенуудыг эргүүлэх, ажлын урсгалыг аудит хийх, буулт хийх үзүүлэлтүүдийг (IoCs) хянах.
Юу болох вэ?
The Шай-Хулуд хангамжийн сүлжээнд npm багцуудад халдлага гарсан нь сүүлийн үеийн хамгийн их сүйрлийн ослын нэг юм. Тусдаа троянуудаас ялгаатай нь энэ өт холилддог итгэмжлэлийн хулгай, автоматжуулсан нүүлгэн шилжүүлэлт болон өөрийгөө хуулбарлахҮүний үр дүнд халдварын хугацаа хэдэн долоо хоногоос хэдхэн цаг болж богиноссон.
DevOps багуудын хувьд хичээл тодорхой байна: хэрэв суулгалт бүр кодыг ажиллуулж чадвал хамаарлын шинэчлэлт бүр болзошгүй зөрчлийн цэг болно.
Анхны вектор болон зорилтот итгэмжлэлүүд байж болох
Эрт үеийн дүн шинжилгээ халдлага эхэлсэн байх магадлалтайг харуулж байна хулгайлагдсан итгэмжлэлүүдЖишээлбэл, фишинг кампанит ажил нь npm-ийг хуурдаг login эсвэл MFA хүсэлтүүд нь хөгжүүлэгчийн токенуудыг авсан байж болзошгүй. Халдагчид анхны байр сууриа олж авсны дараа өт нь өөрийгөө npm багцуудад суулгаж, дараахаас илүү олон нууцыг хулгайлж тархдаг:
- npm тохиргооны файлууд шиг
.npmrc, ихэвчлэн нийтлэх токенуудыг агуулдаг. - Хүрээлэн буй орчны хувьсагчид болон GitHub PAT-уудтай тохиргоо хийх болон CI/CD нууцууд.
- Үүлэн мета өгөгдлийн төгсгөлийн цэгүүд (AWS, GCP, Azure) нь хажуугийн хөдөлгөөнд богино хугацааны итгэмжлэл өгдөг.
Тиймээс итгэмжлэлийн хулгай нь эхлүүлэх цэг болсон. Хүчинтэй npm токен болон GitHub нууцлалын тусламжтайгаар Shai-Hulud нь хүний нэмэлт хүчин чармайлтгүйгээр олон багц болон репозиторт өөрөө хуулбарлах боломжтой болсон.
Шай-Хулуд хангамжийн сүлжээний халдлагын гүйцэтгэх нөлөө
Шай-Хулуд өнөөдөр ч идэвхтэй хэвээр байна. Энэ өт нь нөлөөллийн хугацааг хурдасгадаг. Троянтай хэдэн долоо хоног үргэлжилсэн зүйл одоо хэдэн цагийн дотор дэлгэрдэг. Үүний үр дүнд, тархалт нь илүү хурдан бөгөөд барихад хэцүү байдаг. Энэ нь дараах байдлаар урагшилдаг:
- npm нийтлэх жетон болон GitHub нууцыг хулгайлах.
- Өөрийгөө бусад npm багцууд руу дахин нийтэлж байна.
- Тогтвортой байдлыг хангахын тулд хортой GitHub Actions ажлын урсгалыг нэмж байна.
Хэн нөлөөлж байна:
Олон нийтийн npm багцуудыг суулгасан аливаа баг эрсдэлд ордог. Түүнчлэн, кэшлэгдсэн npm эсвэл GitHub токентой хөгжүүлэгчид өндөр эрсдэлтэй тулгардаг. Өргөн хүрээтэй нууцыг ашигладаг CI runners нь мөн эмзэг байдаг.
Бизнесийн эрсдэл
Бизнесийн нөлөө хурдацтай өсч байна. Хулгайлагдсан токенууд нь дансыг булаан авах, багцыг булаан авах, тэр ч байтугай үүлэн тооцооллыг буруу ашиглахад хүргэж болзошгүй. Үүнээс гадна, GitHub ажлын урсгалд үлдэх нь цэвэрлэхэд хэцүү болгодог. Тиймээс, багууд Шай-Хулудыг хаалттай биш, харин үргэлжилж буй үйл явдал гэж үзэх ёстой.
Шай-Хулуд хангамжийн сүлжээний халдлага нь npm багцуудад хэрхэн ажилладаг вэ
Довтлогчийн зорилго, сэдэл
Кампанит ажил нь гурван зүйлийг оновчтой болгодог:
- Эхний зорилго бол итгэмжлэлийг өргөн хүрээнд хулгайлах хөгжүүлэгч зөөврийн компьютер болон CI runner-ээс. Үүнд npm нийтлэх токен, GitHub токен, үүлэн тооцооллын итгэмжлэлүүд багтана. Үнэндээ олон шинжилгээ нь TruffleHog ажиллуулах, үүлэн мета өгөгдлийн төгсгөлийн цэгүүдийг асуух зэрэг системчилсэн нууц цуглуулгыг баталгаажуулдаг.
- Хоёр дахь зорилго нь автоматаар тархах эвдэрсэн засвар үйлчилгээний эзэмшигчдийн нийтлэх эрхийг урвуулан ашигласнаар. Үүний үр дүнд, хүний нэмэлт хүчин чармайлтгүйгээр бусад багцуудын шинэ халдвар авсан хувилбарууд гарч ирдэг тул нэг тулгуур нь хурдан олон болж өргөждөг.
- Гурав дахь зорилго нь найдвартайгаар тэсвэрлэж, шүүрч авна GitHub дэд бүтцээр дамжуулан. Халдагчид давхар суурьтай “Шай-Хулуд” нэртэй олон нийтийн репозитор үүсгэдэг64 data.jsonмөн үүнээс гадна тэд цувралжуулдаг ажлын урсгалыг тарьдаг ${{ toJSON(нууц) }} мөн үүнийг статик вэбхук руу байршуулдаг.
Үүний үр дүнд бүртгэл болон эх код руу удаан хугацаанд нэвтрэх, үүлэн данс руу хурдан шилжих, хангамжийн сүлжээг цаашид зэвсэглэх сонголт зэрэг боломжууд багтаж магадгүй юм. Олон нийтийн тайланд хувийн репозиторууд олон нийтэд нээлттэй болсон нь харагдаж байна. "-шилжилт" дагавар нь өгөгдлийн илрэл болон эрч хүчийг нэмэгдүүлдэг
Шай-Хулудын ачааны дотор: багц.js npm багцуудад
Шай-Хулуд хөлөг онгоцоор ... том хэмжээтэй, Вэбпакет багцалсан бөгөөд маш их хэмжээгээр жижигрүүлсэн JavaScript файл (багц.js, ойролцоогоор 3–3.7 MB) нь суулгасны дараах дэгээнд оруулах багц.jsonҮүний үр дүнд, Суулгалт бүр нь ачааллыг автоматаар идэвхжүүлдэг. Энэхүү загвар нь танигчдыг нууж, удирдлагын урсгалыг шахаж, бүх логикийг суулгалтын явцад ажилладаг нэг артефакт руу түлхдэг. Шинжээчид Webpack багцлал, ер бусын файлын хэмжээ, суулгалтын хугацааны гүйцэтгэлийг байнга баталж байдаг.
Дээжүүдээс харагдах бүдгэрүүлэлт ба шинжилгээний эсрэг шинж чанарууд:
- Минификацилагдсан модулийн график тоон модулийн ID, сийрэг тайлбар, хавтгайрсан удирдлагын урсгалтай. Түүнчлэн, Энэ бүтэц нь гараар хянах ажлыг маш хэцүү болгодог.
- Утас нуух base64 давхаргууд болон барилгын туслахуудаар дамжуулан. Жишээлбэл, base64 кодчилол болон декодчилол давтагдах нь ихэвчлэн exfiltration rut-ийн эргэн тойронд гарч ирдэг.
- Динамик диспетчер дамжуулан үнэлгээ-style patterns болон үүсгэсэн функцийн биетүүд, ингэснээр код нь ажиллах үеийн зан төлөвийг өөрчлөх боломжийг олгодог.
- Үйлдлийн системийн шүүлтүүр ялангуяа CI ажиллуулагч болон хөгжүүлэгчийн зөөврийн компьютер дээр Linux болон macOS-ийн гүйцэтгэлийг илүүд үзэх.
Функциональ өнцгөөс харахад багц нь модульчлагдсан байдаг. Writeups нь үйлдлийн системийг илрүүлэх, файлын систем болон git нууц сканнердах, үүлэн SDK хандалт, GitHub API үйлдлүүд болон засварлагчийн эзэмшдэг бусад багцуудыг засварладаг тархалтын хөдөлгүүрийн модулиудыг тайлбарладаг. Үнэндээ StepSecurity болон ReversingLabs хоёулаа хортой дэгээгээр багцуудыг автоматаар шинэчилдэг функцийг онцолдог.
Шай-Хулуд дахь суулгах хугацааны гүйцэтгэл: npm багцууд нь өтийг хэрхэн идэвхжүүлдэг вэ
Довтолгоо хэзээ эхэлдэг вэ postinstall нь зангилааг ажиллуулдаг багц.js. Энэ үед скрипт нь санах ой дахь ажлын төлөвийг эхлүүлж, задалдаг бөгөөд энэ нь өтний бүрэн ажиллагаатай байх үе шатыг тавьдаг.
Нээлт ба ургац хураалт
- Ачаа нь process.env файлыг задалж, өндөр энтропийн нууцлал болон токены угтваруудыг локал файлуудаас шалгадаг. Үүнээс гадна, энэ нь TruffleHog-г ажиллуулснаар хамрах хүрээг өргөжүүлдэг.
- Энэ нь богино хугацааны итгэмжлэл цуглуулахын тулд үүлэн мета өгөгдлийн төгсгөлийн цэгүүдийг асуудаг. Жишээлбэл, руу залгадаг
169.254.169.254AWS дээр эсвэлmetadata.google.internalGCP дээр халдвар авсан хостуудад ихэвчлэн гарч ирдэг. - Үүний үр дүнд, Олдсон аливаа итгэмжлэлийг шинэ npm багцуудыг нийтлэх эсвэл GitHub ажлын урсгалыг түлхэхэд нэн даруй ашиглах боломжтой болно.
Шүүрэлт
- Өт нь нэртэй шинэ GitHub репозитор үүсгэдэг. Шай Хулуд мөн давхар base64-кодлогдсон гэж бичдэг
data.jsonплатформын дэлгэрэнгүй мэдээлэл, орчны мэдээлэл болон нууцуудтай. Харж байгаачлан, хамгаалагчид хаанаас хайхаа мэддэг бол энэхүү чимээ шуугиантай зан авирыг илрүүлэхэд хялбар байдаг. - Энэ нь мөн GitHub Actions ажлын урсгалыг ихэвчлэн нэртэй салбар дээр суулгадаг. Шай-хулуд, энэ нь цувралжуулдаг
${{ toJSON(secrets) }}мөн өгөгдлийг статик вэбхук руу байршуулдаг. Цаашилбал, энэ ажлын урсгал хэн нэгэн үүнийг идэвхтэйгээр устгах хүртэл үргэлжилнэ.
Тархалт
- Илэрсэн npm токентой үед payload нь эвдэрсэн засварлагчийн эзэмшдэг бүх багцуудыг тоолно. Дараа нь энэ нь tarball бүрийг татаж аваад, bundle.js болон postinstall оруулгыг оруулж, багцыг дахин нийтэлнэ.
- Үүний үр дүнд хэдхэн цагийн дотор хэдэн арван халдвар авсан багц гарч ирэх бөгөөд энэ нь экосистем даяарх дэлбэрэлтийн радиусыг үржүүлдэг.
Тэсвэр тэвчээр ба өртөлт
Энэ өт нь хортой ажлын урсгалыг амьд байлгаж, хэд хэдэн тохиолдолд хувийн репозиторуудыг public болгож хувиргадаг. "-шилжилт" дагавар. Нийтдээ энэ нь халдагчийг байр сууриа хадгалж, өгөгдлийн алдагдлыг хамгийн их байлгах боломжийг олгодог.
Түлхүүр илрүүлэх тэмдэглэл
Энэхүү ер бусын хэрэглээ ${{ toJSON(secrets) }} Үйлдлүүдэд ажлын урсгал ховор байдаг. Тиймээс, Багууд үүнийг ан агнуурын үеэр өндөр дохионы индикатор гэж үзэх хэрэгтэй.
Таны хайх ёстой ариутгасан ажлын урсгалын хэв маяг
Энэхүү ер бусын хэрэглээ to JSON(нууцууд) in Actions нь энэ тохиолдолд өндөр дохионы индикатор юм.
Өндөр түвшний тархалтын псевдо-код (аюулгүй, тайлбарлах)
Шинжээчид энэ гогцоог өргөн хүрээнд ажигласан нь халдвар авсан багцын тоо хэдэн арван хүнээс хэдэн зуун болж огцом өссөнийг тайлбарлаж байна.
Энэ яагаад багц экосистем дэх өт вэ
Өт гэдэг нь үе шат бүрт операторын гарын авлагын алхам шаарддаггүйгээр өөрөө тархдаг хортой програм хангамж юм. Үйлдлийн системд өтнүүд нь ихэвчлэн нэг машинаас нөгөө машин руу шилжихийн тулд сүлжээний эмзэг байдлыг ашигладаг. Үүний эсрэгээр Shai-Hulud нь npm бүртгэлийн дотор ажилладаг. Үүний үр ашигтай зам нь ... итгэмжлэлийг дахин ашиглах.
Энэ өт нь хулгайлагдсан npm нийтлэх токенуудыг ашигладаг. Хүчинтэй итгэмжлэлүүдийг авмагцаа халдвар авсан хувилбаруудыг ижил засварлагчийн эзэмшдэг бусад багцууд дор дахин нийтэлдэг. Үүний дараа эдгээр багцуудыг сэжиггүй хөгжүүлэгчид эсвэл CI ажиллуулагчид суулгаж, мөчлөг давтагддаг.
Ийм учраас аюулгүй байдлын шинжээчид, түүний дотор Харанхуй унших, Шай-Хулудыг дараах байдлаар ангилна өөрийгөө үржүүлдэг өт энгийн троян эсвэл бичгийн алдааны ослын оронд. Ялгаа нь чухал: троян нь ихэвчлэн нэг хостыг эрсдэлд оруулдаг бол өт нь экосистемд автоматаар нөлөөллөө нэмэгдүүлдэг.
"Энэ хэрхэн ажилладаг вэ" хууран мэхлэх хуудас
Шай-Хулудын амьдралын мөчлөгийг нэгтгэн дүгнэхэд энд нэг сул тал байнаcisтүүний үндсэн үе шатуудын задлан шинжилгээ:
- Багцтай суулгасны дараах суулгасан бөгөөд
bundle.jsгүйцэтгэдэг. - Ачаа нь орчны хувьсагчдыг хааж, файлууд болон git түүхийг сканнердаж, ажиллуулдаг. ТрюфельХог, мөн үүлэн мета өгөгдлийн үйлчилгээнд лавлагаа өгдөг. Үүний үр дүнд олдсон аливаа нууц нь тэр даруй хэрэг болно.
- Экспресси нь хоёр аргаар явагддаг: нэгдүгээрт, нэртэй олон нийтийн репозитор үүсгэх замаар Шай Хулуд давхар base64 кодлогдсон
data.jsonхоёрдугаарт, GitHub Actions-д бичлэг оруулдаг ажлын урсгалыг бий болгосноор${{ toJSON(secrets) }}вэбхук руу. - Хулгайлагдсан npm токеныг ашиглан өт нь эвдэрсэн засварлагчийн эзэмшдэг бусад бүх багцыг ижил хортой дэгээгээр дахин нийтэлдэг. Ингэснээр халдвар хурдан үрждэг.
- Эцэст нь халдагч илүү их нууц, тараах илүү их багцыг хадгалдаг бөгөөд тууштай байдал GitHub данс болон репозитор дотор.
Энэ төрлийн халдлагаас хэрхэн зайлсхийх вэ, практик дээр
Шай-Хулуд бол сэрэмжлүүлэх дуудлага юм. Токен хулгайлж, өөрийгөө дахин нийтэлдэг өт бол ирээдүйн эрсдэл биш, харин ... дотор оршин байдаг. npm багцын экосистем өнөөдөр. Энэ төрлийн хангамжийн гинжин халдлага, багуудад програмчлагдах, автоматжуулах, шууд хэрэгжүүлэх боломжтой хяналтууд хэрэгтэй CI/CD pipelineЭдгээр нь таны аль хэдийн хэрэгжүүлж болох ижил хамгаалалтууд юм Ксигени.
Хаалган дээр муу эд өлгийн зүйлсийг зогсоо
Та npm багцууд болон tarballs-г хөгжүүлэгчид эсвэл CI ажлуудад хүрэхээс нь өмнө сканнердах хэрэгтэй. Хэт том хэмжээтэй. bundle.js файлууд, сэжигтэй суулгалтын дараа hooks, болон төөрөгдөлд оруулах тэмдэглэгээнүүд бүгд эрт үеийн аюулын дохио болж өгдөг. Түүнчлэн, хөргөлтийн хугацаа болон тэмдэглэгдсэн хувилбаруудыг хэрэгжүүлэх pipelines нь шинэхэн, шалгагдаагүй ялгаралтыг автоматаар хэрэглэхээс сэргийлдэг.
Харден CI/CD Анхны утгаараа
Guardrails in CI/CD зайлшгүй шаардлагатай. Тэд шинэ скрипт эсвэл хоёртын файлуудыг нэвтрүүлдэг нэгтгэх эсвэл суулгахыг татгалздаг. Үүний зэрэгцээ тэд нууцыг цувралчлах эсвэл гадаад бичлэг хийхийг оролддог ажлын урсгалыг хаадаг. Багууд мөн зөвхөн түгжээтэй файл суулгахыг шаардах ёстой (npm ci) бүх талаараа pipelineТиймээс хамаарлын багцууд нь дахин бүтээгдэж, аюулгүй хэвээр байна.
Токен тэсрэлтийн радиусыг багасгах
Нууцууд нь бүтэлгүйтлийн ганц цэг болж болохгүй. Код, тохиргоо болон бусад зүйлсийг тасралтгүй сканнердах хэрэгтэй. pipeline зориулсан гаралт ил болсон итгэмжлэлүүдТокенуудыг нарийхан хүрээнд, богино хугацаанд ашиглах боломжтой, мөн өртөлт илэрсэн үед автоматаар эргүүлэх хэрэгтэй. Дүрмээр бол, сэжигтэй postinstall гүйцэтгэсэн хост дээр ашигласан аливаа токеныг эвдэрсэн гэж үзнэ.
Хорхойн зан авирыг эрт харах
Аномали илрүүлэх гол түлхүүр юм. Жишээлбэл, npm нийтлэх үйл явдлуудын гэнэтийн огцом өсөлт, шалтгаангүйгээр гарч ирэх шинэ ажлын урсгалууд, эсвэл хачин кодлогдсон файлуудаар дүүрсэн шинэ нийтийн репозиторууд нь бүгд өтний үйл ажиллагааг дохиолж болно. Тиймээс багууд сэрэмжлүүлгийг хурдан гаргаж, эдгээр анхааруулах тэмдгийг харуулсан аливаа засвар үйлчилгээ үзүүлэгч эсвэл ажиллуулагчийг тусгаарлах хэрэгтэй.
Барилгыг эвдэхгүйгээр хурдан засах
Хурд болон аюулгүй байдал хамтдаа байх ёстой. Автоматжуулсан. pull requests эвдэрсэн npm багцуудыг шалгагдсан хувилбаруудаар сольж болно. Үүнээс гадна, хүрэх боломжтой байдал болон ашиглах чадвар Шинжилгээ нь шинэчлэлтүүдийг хамгийн бага бөгөөд тогтвортой байлгахыг баталгаажуулдаг. Эцэст нь, өртөлт батлагдсаны дараа нөлөөлөлд өртсөн CI runners-ийг цэвэр зургуудаас сэргээж, халдлага цаашид тархахаас сэргийлнэ.
Буулт хийх үзүүлэлтүүд (IoCs)
Шай-Хулудыг шинжлэхдээ багууд хоёуланг нь анхаарч үзэх хэрэгтэй статик IoC-ууд файлууд дотор болон зан үйлийн IoC-ууд in pipelineЭдгээр дохионууд нь халдварыг эрт илрүүлж, өт цааш тархахаас өмнө хариу үйлдэл үзүүлэхэд тусалдаг.
Статик IoC-ууд
Дараах SHA-256 дайжестүүдийн тохирол ажиглагдсан bundle.js дээжүүд:
- 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
- 81d2a004a1bca6ef87a1caf7d0e0b355ad1764238e40ff6d1b1cb77ad4f595c3
- dc67467a39b70d1cd4c1f7f7a459b35058163592f4a9e8fb4dffcbba98ef210c
Үүнээс гадна эдгээр давтагдах хэв маягийг анхаарч үзээрэй:
- A
bundle.jsбагцын үндэс дээр. "postinstall": "node bundle.js"дотрооpackage.json.- Нэрлэгдсэн сангууд Шай Хулуд.
- GitHub ажлын урсгалуудыг агуулсан
${{ toJSON(secrets) }}.
Зан үйлийн IoC-ууд
Файлын гарын үсгээс гадна өтний үйл ажиллагаа нь зан төлөвөөрөө илэрдэг. Жишээлбэл:
- Нэг засварлагчаас npm-ийн гэнэтийн дэлбэрэлтүүд үйл явдлуудыг нийтэлдэг.
- Өгөгдлийг гадаад төгсгөлийн цэгүүд рүү түлхдэг шинэ ажлын урсгалууд.
- CI runner-үүдээс өдөөгдсөн гадагшаа POST хүсэлтүүд.
- Саяхан кодлогдсон blobs бүхий олон нийтийн репозиторуудыг үүсгэсэн.
Хурдан ан хийх
Дүгнэлт: Шай-Хулудын сургамж
The Шай-Хулуд хангамжийн сүлжээний халдлага npm багцууд дахь нь өнөөгийн програм хангамжийн хангамжийн сүлжээ хэр эмзэг болсныг харуулж байна. Энэ өт хорхой нь хортой код нэмэхээс илүү ихийг хийсэн. Энэ нь токен хулгайлж, өгөгдөл илгээж, дараа нь өөрийгөө автоматаар дахин нийтэлсэн. Үүнээс болж халдлага хэдэн долоо хоногийн оронд хэдэн цагийн дотор тархсан.
Хөгжүүлэгчид болон DevOps багуудын хувьд хичээлүүд нь тодорхой байна:
- Суулгалт бүр кодыг ажиллуулдаг. Нийтлэг npm багц хүртэл postinstall өтийг нууж чаддаг.
- Токен бүр өндөр үнэ цэнэтэй байдаг. Хулгайлагдсаны дараа үүнийг хортой програм хангамжийг цаашид тараахад ашиглаж болно.
- бүр pipeline чек шаардлагатай. ямар ч guardrails хамаарал, ажлын урсгал болон нууцын талаарх нэг буулт нь үйлдвэрлэлд хурдан нөлөөлж болзошгүй.
Тиймээс Шай-Хулуд шиг халдлагыг зогсоохын тулд автомат бөгөөд хэрэгжүүлэхэд хялбар удирдлага шаардлагатай. Багууд суулгахаасаа өмнө npm багцуудыг сканнердах, lockfile бүтээлтийг ашиглах, хачин нийтлэх үйл ажиллагааг илрүүлэх, токенуудыг богино хугацаанд хадгалах хэрэгтэй. Эдгээр алхмууд нь заавал хийх албагүй. Үүний оронд эдгээр нь орчин үеийн тогтвортой байдлын үндэс суурь юм. pipelines.
Xygeni дээр бид Шай-Хулуд хангамжийн сүлжээний халдлагыг нээлттэй эхийн экосистемийн бүхэл бүтэн анхааруулга гэж харж байна. Цаашдын тогтвортой арга бол хангамжийн сүлжээний аюулгүй байдлыг код, npm багцууд болон бусад зүйлсийн хөгжлийн процесст шууд оруулах явдал юм. pipelineхолболт.
Шай-Хулуд дээр эвдэрсэн гэж мэдээлсэн npm багц болон хувилбаруудын бүрэн жагсаалтыг доор харуулав. Үүнийг ашиглан түгжээний файл, бүртгэл болон CI-гээ шалгана уу. pipelineөртөлтийн хувьд s.
Эвдэрсэн багцуудын жагсаалт
📦 Алдагдсан npm багцуудын урьдчилсан тойм
| Багцын нэр | хувилбар | Огноо хэвлэн нийтлэх |
|---|---|---|
| json-rules-engine-хялбаршуулсан | 0.2.1 | 2025-09-14T17:58:51.203Z |
| нисгэгч | 0.8.8 | 2025-09-14T18:35:07.600Z |
| mcp-мэдлэгийн-граф | 1.2.1 | 2025-09-14T18:35:09.494Z |
| агаарын толгойлогч | 0.3.1 | 2025-09-14T18:35:09.521Z |
| jumpgate | 0.0.2 | 2025-09-14T18:35:09.651Z |
| тви-кли | 0.1.5 | 2025-09-14T18:35:10.996Z |
| @thangved/буцааж дуудах цонх | 1.1.4 | 2025-09-14T20:31:38.479Z |
| @tnf-dev/api | 1.0.8 | 2025-09-14T20:31:39.547Z |
| @tnf-dev/js | 1.0.8 | 2025-09-14T20:31:41.251Z |
| @tnf-dev/mui | 1.0.8 | 2025-09-14T20:31:41.259Z |
| @tnf-dev/core | 1.0.8 | 2025-09-14T20:31:42.728Z |
| @teselagen/react-table | 6.10.20 | 2025-09-14T20:37:08.597Z |
| @hestjs/демо | 0.1.2 | 2025-09-14T20:45:52.348Z |
| @nexe/eslint-config | 0.1.1 | 2025-09-14T20:45:53.625Z |
| @hestjs/eslint-config | 0.1.2 | 2025-09-14T20:45:55.044Z |
| @nexe/config-manager | 0.1.1 | 2025-09-14T20:45:55.066Z |
| @nexe/logger | 0.1.3 | 2025-09-14T20:45:55.170Z |
| @hestjs/logger | 0.1.6 | 2025-09-14T20:45:55.197Z |
| @hestjs/баталгаажуулалт | 0.1.6 | 2025-09-14T20:45:55.595Z |
| @hestjs/core | 0.2.1 | 2025-09-14T20:45:55.888Z |
➡️ Алдагдсан багцуудын бүрэн жагсаалтыг үзэх
| Багцын нэр | хувилбар | Огноо хэвлэн нийтлэх |
|---|---|---|
| json-rules-engine-хялбаршуулсан | 0.2.1 | 2025-09-14T17:58:51.203Z |
| нисгэгч | 0.8.8 | 2025-09-14T18:35:07.600Z |
| mcp-мэдлэгийн-граф | 1.2.1 | 2025-09-14T18:35:09.494Z |
| агаарын толгойлогч | 0.3.1 | 2025-09-14T18:35:09.521Z |
| jumpgate | 0.0.2 | 2025-09-14T18:35:09.651Z |
| тви-кли | 0.1.5 | 2025-09-14T18:35:10.996Z |
| @thangved/буцааж дуудах цонх | 1.1.4 | 2025-09-14T20:31:38.479Z |
| @tnf-dev/api | 1.0.8 | 2025-09-14T20:31:39.547Z |
| @tnf-dev/js | 1.0.8 | 2025-09-14T20:31:41.251Z |
| @tnf-dev/mui | 1.0.8 | 2025-09-14T20:31:41.259Z |
| @tnf-dev/core | 1.0.8 | 2025-09-14T20:31:42.728Z |
| @teselagen/react-table | 6.10.20 | 2025-09-14T20:37:08.597Z |
| @hestjs/демо | 0.1.2 | 2025-09-14T20:45:52.348Z |
| @nexe/eslint-config | 0.1.1 | 2025-09-14T20:45:53.625Z |
| @hestjs/eslint-config | 0.1.2 | 2025-09-14T20:45:55.044Z |
| @nexe/config-manager | 0.1.1 | 2025-09-14T20:45:55.066Z |
| @nexe/logger | 0.1.3 | 2025-09-14T20:45:55.170Z |
| @hestjs/logger | 0.1.6 | 2025-09-14T20:45:55.197Z |
| @hestjs/баталгаажуулалт | 0.1.6 | 2025-09-14T20:45:55.595Z |
| @hestjs/core | 0.2.1 | 2025-09-14T20:45:55.888Z |
| @hestjs/cqrs | 0.1.6 | 2025-09-14T20:45:55.966Z |
| @hestjs/скаляр | 0.1.7 | 2025-09-14T20:45:56.386Z |
| ng2-файл байршуулах | 7.0.3 | 2025-09-15T02:44:29.555Z |
| конденсатор-мэдэгдэл зохицуулагч | 0.0.2 | 2025-09-15T04:54:48.431Z |
| конденсатор-залгуур-вонаж | 1.0.2 | 2025-09-15T04:54:48.501Z |
| конденсатор-залгаас-эрүүл мэндийн апп | 0.0.2 | 2025-09-15T04:54:48.704Z |
| конденсатор болон Android-ын зөвшөөрөл | 0.0.4 | 2025-09-15T04:54:48.753Z |
| voip-callkit | 1.0.2 | 2025-09-15T04:54:49.223Z |
| конденсатор-залгуур-ihealth | 1.1.8 | 2025-09-15T04:55:08.113Z |
| @art-ws/common | 2.0.22 | 2025-09-15T05:21:15.411Z |
| @art-ws/config-eslint | 2.0.4 | 2025-09-15T05:21:17.199Z |
| ngx-ws | 1.1.5 | 2025-09-15T05:21:17.514Z |
| @art-ws/slf | 2.0.15 | 2025-09-15T05:21:17.524Z |
| @art-ws/http-сервер | 2.0.21 | 2025-09-15T05:21:17.745Z |
| pm2-gelf-json | 1.0.4 | 2025-09-15T05:21:18.413Z |
| @art-ws/di | 2.0.28 | 2025-09-15T05:21:18.488Z |
| @art-ws/di-node | 2.0.13 | 2025-09-15T05:21:18.849Z |
| @art-ws/config-ts | 2.0.7 | 2025-09-15T05:21:19.408Z |
| @art-ws/db-context | 2.0.21 | 2025-09-15T05:21:19.814Z |
| @art-ws/openapi | 0.1.9 | 2025-09-15T05:21:19.969Z |
| @art-ws/вэб апп | 1.0.3 | 2025-09-15T05:21:20.383Z |
| @art-ws/ssl-info | 1.0.9 | 2025-09-15T05:21:20.927Z |




