+− THE DAILY DIFFdev & AI news
SHIP IT

Dependabot-ի թարմացումը որդ է հրապարակել։ 22 փաթեթ։

Բոտը քաշելու հարցում է բացում։ Մարդը միաձուլում է այն 24 րոպե անց։ Դրանից 95 րոպե հետո որդը հրապարակել է իր 22 npm փաթեթների 110 վնասակար տարբերակ՝ իր անունով, իր CI-ում գտած թոքենով։

Բոտը քաշելու հարցում է բացում։ Մարդը միաձուլում է այն 24 րոպե անց։ Դրանից 95 րոպե հետո որդը հրապարակել է իր 22 npm փաթեթների 110 վնասակար տարբերակ՝ իր անունով, իր CI-ում գտած թոքենով։

Կարդացեք գրավոր տարբերակը (անգլերեն) ↗

Ինչ է ընդգրկում այս տեսանյութը

  • Բոտ, մարդ, որդ
  • Ինչպես դա տեղի ունեցավ, ինչու npm-ը թույլ տվեց, ում է մեղքը
  • Ժամանակացույց. թունավորված քեշը
  • 21:48 — Dependabot-ի թարմացումը
  • Ինչու է այն աշխատում

Թարգմանված արձանագրություն

Թարգմանվել է բնօրինակ անգլերեն պատմությունից։ Հասանելի աուդիո և ենթագրերը վերահսկվում են YouTube-ի կողմից։

Բոտ, մարդ, որդ

0:00 Բոտը քաշելու հարցում է բացում, մարդը միաձուլում է այն քսանչորս րոպե անց։ Իննսունհինգ րոպե անց որդը հրապարակել է նրա հարյուր տասը տարբերակները փաթեթները, որպես ինքը։ TanStack-ի հետմահու զեկույցում կան վերին հոսանքի ժամանակային դրոշմները, ներքին հոսանքի սպասարկողի մոտ մնացածն է, իսկ Hacker News-ը դրան տալիս է տասնմեկ հարյուր միավոր և անուն՝ Mini Շայ-Հուլուդ։ Ինչպես է դա տեղի ունենում, ինչու է npm-ը թույլ տալիս դա, ում է մեղքը։

Ինչպես դա տեղի ունեցավ, ինչու npm-ը թույլ տվեց, ում է մեղքը

0:21 Սա The Daily Diff-ն է, հետմահու զեկույց։ Մայիսի 11, առավոտ։ Վերանվանված ֆորկը քաշելու հարցում է բացում TanStack Router-ի դեմ։ Այն փակվում է մեկ ժամվա ընթացքում, բայց բենչմարքի աշխատանքային հոսքն արդեն գործարկել է իր կոդը և

Ժամանակացույց. թունավորված քեշը

0:33 պահել է թունավորված քեշը այն բանալիով, որը կօգտագործի թողարկման աշխատանքային հոսքը։ Տասնինը քսան։ Օրինական միաձուլումը գործարկում է թողարկումը։ Քեշը վերադառնում է, բինարին կարդում է աշխատանքը կատարողի հիշողությունը, վերցնում է հրապարակման թոքենը և առաքում ութսունչորս տարբերակ քառասուներկու փաթեթների միջոցով, վավերական ծագումով։ Թեստերը ձախողվում են։ Այնուամենայնիվ, այն հրապարակում է։ Տասնինը քառասունվեցին StepSecurity-ի հետազոտողը խնդիր է բացում. UTC ժամով իննին ամեն ինչ հնացած է, և խորհրդատվությունը դուրս է եկել։

0:55 Հնացածը չի անհետացել. npm-ը հրաժարվում է հեռացնել որևէ բան կախյալներով, այսպիսով, այն մնում է տեղադրելի ժամերով։ Քսանմեկ քառասունութ։ Ինը աստղանի ավիացիոն տվյալների նախագծում, Dependabot-ը բացում է իր սովորական քաշելու հարցումը՝ թարմացնել dev-dependencies խումբը, տասներեք թարմացում։ Երկուսը թունավորված TanStack տարբերակներ են։ Քսաներկու-տասներկու. միաձուլված։ Հրապարակման աշխատանքային հոսքը գործարկում է npm C-I-ը թոքենով

21:48 — Dependabot-ի թարմացումը

1:15 շրջանակում. նախապատրաստական սկրիպտը կարդում է այն, և քսաներկու-տասնյոթին որդը հրապարակում է որպես ինքը։ Թոքենին հասանելի յուրաքանչյուր փաթեթի հինգ տարբերակ, նույնիսկ հին կողմնակի նախագիծ՝ մեկ դասական թոքեն ամեն ինչի համար։ Հարյուր տասը տարբերակ իննսունհինգ րոպեում։ Նա պարզում է էլեկտրոնային փոստով, կեսգիշերից հետո։ Ինչու է այն աշխատում։ Մեկ. npm install-ը լռելյայն գործարկում է անծանոթների կյանքի ցիկլի սկրիպտերը, և git կախվածության նախապատրաստական սկրիպտը հաշվի է առնվում։

1:39 Երկու. որդը մեկ բան է ուզում՝ թոքեն, որը հրապարակում է առանց երկրորդ գործոնի։ Այնուհետև այն հարցնում է ռեգիստրին, թե ուրիշ ինչ ունի այդ սպասարկողը, և վերահրապարակում է ամբողջը իր ներսում։ Երեք. շղթայում ոչինչ մարդ չէ։

Ինչու է այն աշխատում

1:51 Բոտն առաջարկում է, խողովակաշարը տեղադրում է, իսկ որդը պատասխանում է փոխադարձաբար. դրա մահացած-կաթիլային ճյուղերը կոչվում են dependabot slash github-actions slash fremen։ git blame. npm-ի տեղադրման մոդելը, հիսունհինգ տոկոս. սկրիպտերն աշխատում են տեղադրման ժամանակ, հնացածը մնում է տեղադրելի, գոյություն ունեն երկգործոնային շրջանցման թոքեններ։ TanStack-ի CI, քսանհինգ. չստուգված քաշելու հարցման թիրախային աշխատանքային հոսքը գործարկում է ֆորկ կոդ՝ քեշի վրա գրելու հասանելիությամբ։ Թարմացման սովորությունը, տասնհինգ. տասներեք թարմացում միաձուլված քսանչորս րոպեում, թոքենը սենյակում։

2:17 Dependabot, հինգ. այնքան վստահելի, որ որդը կրում է նրա համազգեստը։

git blame

2:20 Պայթյունի շառավիղը. քառասուներկու TanStack փաթեթ։ Քսաներկու ներքին հոսանքում, ինը աստղ ունեցող նախագծից։ Ավելի քան հարյուր վաթսուն էկոհամակարգի մասշտաբով, երբ որդը հասնում է Mistral-ին։ Յուրաքանչյուր վերին հոսանքի տարբերակ ուներ վավեր ստորագրություն. կառուցվել է պաշտոնական խողովակաշարով։ Ճիշտ է։ Դատավճիռ, հետմահու զեկույց. SHIP IT։ Երկու սպասարկողներն էլ ժամանակային դրոշմով հետմահու զեկույցներ են հրապարակում մեկ օրվա ընթացքում. երեքի ընթացքում, ներքին հոսանքի խողովակաշարը տեղադրվում է ignore-scripts-ով, բաժանում է կառուցումը հրապարակումից և հեռացնում երկարակյաց թոքենը։

Պայթյունի շառավիղը

2:47 npm-ի լռելյայն պարամետրերը չեն փոխվել։ Երկուշաբթի. ignore-scripts տեղադրման ժամանակ, և հրապարակման թոքենը այն աշխատանքից դուրս է, որը գործարկում է այն։ Ուղարկեք ինձ այն միջադեպը, որի մասին դուք դեռ չեք թույլատրվում խոսել, մեկնաբանություններում, կամ thedailydiff.dev հասցեով։ Եվ սա է այսօրվա տարբերությունը։

Դատավճիռ

3:00 Ես Նիկոն եմ Axrisi-ից։ Միաձուլեք պատասխանատվությամբ։

Աղբյուրներ

  1. TanStack postmortem (Tanner Linsley, May 11, refined May 15)tanstack.com
  2. TanStack "Hardening TanStack After the npm Compromise" (May 12)tanstack.com
  3. TanStack/router#7383 — the StepSecurity detection issuegithub.com
  4. Downstream incident post, @squawk/* (May 12)github.com
  5. Downstream hardening post (May 14)github.com
  6. The Dependabot PR #246 (opened 21:48 UTC, merged 22:12)github.com
  7. @tan_stack advisory post, 21:19 UTCx.com
  8. StepSecurity — worm internals, bypass_2fa search, Dependabot-style branch nameswww.stepsecurity.io
  9. Socketsocket.dev
  10. Aikido — "over 160 packages, including Mistral"www.aikido.dev
  11. Hacker News (1,097 points)news.ycombinator.com

Հարակից տեսանյութեր

postmortem · hy · 25 սեպ, 2026 թ.

Մեկ միլիվայրկյանի սխալը կանգնեցրել է Մեծ Բրիտանիայի ավիափոխադրումները։ Վեց ժամով։

Սեպտեմբերի 8-ի երեքշաբթի, ժամը 10:00-ին, NATS-ի Ազգային Օդային Տարածքի Համակարգի (NAS) ներսում սքվոք կոդի մեկ սովորական հարցումն ընդհատվում է ավելի բարձր առաջնահերթության հաղորդագրությամբ, մինչ այն մա

3:06 ↗
postmortem · hy · 22 սեպ, 2026 թ.

Վերագործարկումը Telstra-ին ուղարկեց 2006 թվական: Ինը միլիոն հեռախոս:

Մելբուրնի ինժեներն առավոտյան ժամը 2:50-ին միացնում է ժամանակաչափման շասսին, և մինչև նախաճաշ Ավստրալիայի ամենամեծ բջջային ցանցը համաձայնում է, որ դա 2006 թվականի նոյեմբերն է։ 2026 թվականի հուլիսի 8. Te

3:15 ↗