# Dependabot yeniləməsi qurd tərəfindən dərc olundu. 22 paket.

Published: 2026-09-17

Bot çəkmə sorğusu açır. İnsan onu 24 dəqiqə sonra birləşdirir. Bundan 95 dəqiqə sonra, qurd CI-də tapdığı token ilə onun adından, 22 npm paketinin 110 zərərli versiyasını dərc etdi.

Canonical: https://thedailydiff.dev/az/video/2026-09-17-dependabot-tanstack/

## Bu videoda nələr əhatə olunur

- Bot, insan, qurd
- Necə baş verdi, niyə npm buna icazə verdi, günah kimdədir
- Zaman cədvəli: zəhərlənmiş keş
- 21:48 — Dependabot yeniləməsi
- Niyə işləyir

## Fəsillər

- 0:00 Bot, insan, qurd
- 0:20 Necə baş verdi, niyə npm buna icazə verdi, günah kimdədir
- 0:30 Zaman cədvəli: zəhərlənmiş keş
- 1:15 21:48 — Dependabot yeniləməsi
- 1:50 Niyə işləyir
- 2:20 git blame
- 2:45 Partlama radiusu
- 3:00 Hökm

## Tərcümə olunmuş transkript

Orijinal ingilis dilindəki nəqldən tərcümə edilmişdir. Mövcud audio və subtitrlər YouTube tərəfindən idarə olunur.

### Bot, insan, qurd

0:00 Bir bot bir çəkmə sorğusu açır; bir insan iyirmi dörd dəqiqə sonra onu birləşdirir. Doxsan beş dəqiqə sonra, bir qurd dərc etdi onun yüz on versiyasını paketlərini, onun adından. TanStack-ın ölüm sonrası hesabatında əsas vaxt möhürləri var, aşağıdakı təminatçının qalanı var, və Hacker News ona on bir yüz xal və bir ad verir: Mini Şay-Hulud. Necə baş verir, niyə npm buna icazə verir, günah kimdədir.

### Necə baş verdi, niyə npm buna icazə verdi, günah kimdədir

0:21 Bu, The Daily Diff, ölüm sonrası hesabatıdır. 11 may, səhər. Adı dəyişdirilmiş çəngəl TanStack Router-ə qarşı çəkmə sorğusu açır. O, bir saat ərzində bağlanır, lakin bir benchmark iş axını artıq öz kodunu işlətmişdir və

### Zaman cədvəli: zəhərlənmiş keş

0:33 buraxılış iş axınının istifadə edəcəyi açar altında zəhərlənmiş keş saxladı. On doqquz iyirmi. Qanuni birləşmə buraxılışı işlədir. Keş geri qayıdır, bir ikilik fayl işlədicinin yaddaşını oxuyur, dərc etmə tokenini götürür və qırx iki paket üzrə səksən dörd versiya göndərir, etibarlı mənşə ilə. Testlər uğursuz olur. Yenə də dərc edir. On doqquz qırx altı, bir StepSecurity tədqiqatçısı məsələni qeydə alır; UTC doqquza qədər hər şey köhnəlmişdir və tövsiyə çıxır.

0:55 Köhnəlmiş yox olmur: npm asılılıqları olan heç bir şeyi yayımdan çıxarmaqdan imtina edir, beləliklə, saatlarla quraşdırıla bilər olaraq qalır. İyirmi bir qırx səkkiz. Doqquz ulduzlu aviasiya məlumat layihəsində, Dependabot öz müntəzəm çəkmə sorğusunu açır: dev-dependencies qrupunu yeniləyin, on üç yeniləmə. İkisi zəhərlənmiş TanStack versiyasıdır. İyirmi iki on iki: birləşdirildi. Dərc etmə iş axını npm C-I-ni token ilə işlədir

### 21:48 — Dependabot yeniləməsi

1:15 sahədə; bir hazırlıq skripti onu oxuyur və iyirmi iki on yeddidə qurd dərc edir onun adından. Tokenin çatdığı hər paketin beş versiyası, hətta köhnə bir yan layihə: hər şey üçün bir klassik token. Doxsan beş dəqiqədə yüz on versiya. O, gecədən sonra e-poçtla öyrənir. Niyə işləyir. Bir: npm install standart olaraq yadların həyat dövrü skriptlərini işlədir, və bir git asılılığının hazırlıq skripti sayılır.

1:39 İki: qurd bir şey istəyir: ikinci faktor olmadan dərc edən bir token. Sonra qeydiyyatdan soruşur ki, həmin təminatçı daha nəyə sahibdir, və hər şeyi özü ilə birlikdə yenidən dərc edir. Üç: zəncirdə heç bir şey insan deyil.

### Niyə işləyir

1:51 Bir bot təklif edir, bir boru kəməri quraşdırır, və qurd lütfü qaytarır: onun dead-drop filialları dependabot slash github-actions slash fremen adlanır. git blame. npm-in quraşdırma modeli, əlli beş faiz: skriptlər quraşdırıldıqda işləyir, köhnəlmiş quraşdırıla bilər olaraq qalır, iki faktorlu bypass tokenləri mövcuddur. TanStack-ın CI, iyirmi beş: keşə yazma icazəsi ilə fork kodunu işlədən yoxlanılmamış çəkmə sorğusu hədəf iş axını. keşə yazma icazəsi ilə fork kodunu işlədən yoxlanılmamış çəkmə sorğusu hədəf iş axını. Yeniləmə vərdişi, on beş: iyirmi dörd dəqiqədə birləşdirilmiş on üç yeniləmə, otaqda token.

2:17 Dependabot, beş: o qədər etibarlı ki, qurd onun formasını geyinir.

### git blame

2:20 Partlama radiusu: qırx iki TanStack paketi. Doqquz ulduzlu bir layihədən iyirmi iki aşağı axın. Qurd Mistral-a çatdıqdan sonra ekosistemdə yüz altmışdan çox. Hər əsas versiya etibarlı imza daşıyırdı: rəsmi tərəfindən qurulmuşdur boru kəməri. Doğru. Hökm, ölüm sonrası hesabat: SHIP IT. Hər iki təminatçı bir gün ərzində vaxt möhürlü ölüm sonrası hesabatlar dərc edir; üç gün ərzində, aşağı axın boru kəməri ignore-scripts ilə quraşdırılır, qurmağı dərcdən ayırır və uzunmüddətli tokeni ləğv edir.

### Partlama radiusu

2:47 npm-in standartları dəyişməyib. Bazar ertəsi: quraşdırarkən ignore-scripts, və onu işlədən işdən dərc tokeni. Hələ danışmağa icazə verilməyən hadisəni mənə göndərin, şərhlərdə, və ya thedailydiff.dev ünvanında. Və bu, bu gün üçün fərqdir.

### Hökm

3:00 Mən Axrisi-dən Nikoyəm. Məsuliyyətlə birləşdirin.

## Mənbələr

- [TanStack postmortem (Tanner Linsley, May 11, refined May 15)](https://tanstack.com/blog/npm-supply-chain-compromise-postmortem) — tanstack.com
- [TanStack "Hardening TanStack After the npm Compromise" (May 12)](https://tanstack.com/blog/incident-followup) — tanstack.com
- [TanStack/router#7383 — the StepSecurity detection issue](https://github.com/TanStack/router/issues/7383) — github.com
- [Downstream incident post, @squawk/\* (May 12)](https://github.com/neilcochran/squawk/discussions/251) — github.com
- [Downstream hardening post (May 14)](https://github.com/neilcochran/squawk/discussions/264) — github.com
- [The Dependabot PR #246 (opened 21:48 UTC, merged 22:12)](https://github.com/neilcochran/squawk/pull/246) — github.com
- [@tan\_stack advisory post, 21:19 UTC](https://x.com/tan_stack/status/2053948103766716630) — x.com
- [StepSecurity — worm internals, bypass\_2fa search, Dependabot-style branch names](https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem) — www.stepsecurity.io
- [Socket](https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack) — socket.dev
- [Aikido — "over 160 packages, including Mistral"](https://www.aikido.dev/blog/mini-shai-hulud-is-back-tanstack-compromised) — www.aikido.dev
- [Hacker News (1,097 points)](https://news.ycombinator.com/item?id=48100706) — news.ycombinator.com
