# ଏକ ଡିପେଣ୍ଡାବଟ୍ ବମ୍ପ୍ ଏକ ୱାର୍ମ ପ୍ରକାଶିତ କଲା। 22ଟି ପ୍ୟାକେଜ୍।

Published: 2026-09-17

ଏକ ବଟ୍ ଏକ ପୁଲ୍ ଅନୁରୋଧ ଖୋଲିଲା। ଜଣେ ମନୁଷ୍ୟ 24 ମିନିଟ୍ ପରେ ଏହାକୁ ମିଶାଇଲେ। ତା’ର 95 ମିନିଟ୍ ପରେ, ଏକ ୱାର୍ମ ତା’ର CI ରେ ମିଳିଥିବା ଏକ ଟୋକେନ୍ ସହିତ ତା’ର ନାମରେ 22 npm ପ୍ୟାକେଜ୍ ର 110ଟି ଦୂଷିତ ସଂସ୍କରଣ ପ୍ରକାଶିତ କରିଛି।

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

## ଏହି ଭିଡିଓରେ କ'ଣ ଅଛି

- ଏକ ବଟ୍, ଜଣେ ମନୁଷ୍ୟ, ଏକ ୱାର୍ମ
- ଏହା କିପରି ହେଲା, npm କାହିଁକି ଏହାକୁ ଅନୁମତି ଦେଲା, ଦୋଷ କାହାକୁ ମିଳେ
- ସମୟରେଖା: ବିଷାକ୍ତ କ୍ୟାଶ୍
- 21:48 — ଡିପେଣ୍ଡାବଟ୍ ବମ୍ପ୍
- ଏହା କାହିଁକି କାମ କରେ

## ଅଧ୍ୟାୟଗୁଡ଼ିକ

- 0:00 ଏକ ବଟ୍, ଜଣେ ମନୁଷ୍ୟ, ଏକ ୱାର୍ମ
- 0:20 ଏହା କିପରି ହେଲା, npm କାହିଁକି ଏହାକୁ ଅନୁମତି ଦେଲା, ଦୋଷ କାହାକୁ ମିଳେ
- 0:30 ସମୟରେଖା: ବିଷାକ୍ତ କ୍ୟାଶ୍
- 1:15 21:48 — ଡିପେଣ୍ଡାବଟ୍ ବମ୍ପ୍
- 1:50 ଏହା କାହିଁକି କାମ କରେ
- 2:20 git blame
- 2:45 ବିସ୍ଫୋରଣ ବ୍ୟାସାର୍ଦ୍ଧ
- 3:00 ରାୟ

## ଅନୁବାଦିତ ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ

ମୂଳ ଇଂରାଜୀ ବର୍ଣ୍ଣନାରୁ ଅନୁବାଦିତ। ଉପଲବ୍ଧ ଅଡିଓ ଏବଂ କ୍ୟାପ୍ସନ୍ଗୁଡ଼ିକ YouTube ଦ୍ୱାରା ନିୟନ୍ତ୍ରିତ।

### ଏକ ବଟ୍, ଜଣେ ମନୁଷ୍ୟ, ଏକ ୱାର୍ମ

0:00 ଏକ ବଟ୍ ଏକ ପୁଲ୍ ଅନୁରୋଧ ଖୋଲିଲା; ଜଣେ ମନୁଷ୍ୟ ଚବିଶ ମିନିଟ୍ ପରେ ଏହାକୁ ମିଶାଇଲେ। ପଞ୍ଚାନବେ ମିନିଟ୍ ପରେ, ଏକ ୱାର୍ମ ପ୍ରକାଶିତ କରିଛି ତା’ର ଏକ ଶହ ଦଶଟି ସଂସ୍କରଣ ପ୍ୟାକେଜ୍, ତା’ର ନାମରେ। TanStack ର ପୋଷ୍ଟମର୍ଟେମ୍ ରେ ଉପରମୁହାଁ ସମୟଷ୍ଟାମ୍ପ୍ ଅଛି, ତଳମୁହାଁ ରକ୍ଷଣାବେକ୍ଷଣକାରୀଙ୍କର ବାକିତକ ଅଛି, ଏବଂ ହ୍ୟାକର୍ ନ୍ୟୁଜ୍ ଏହାକୁ ଏକ ହଜାର ଏକ ଶହ ପଏଣ୍ଟ ଏବଂ ଏକ ନାମ ଦେଇଛି: ମିନି ସାଇ-ହୁଲୁଡ୍। ଏହା କିପରି ହୁଏ, npm କାହିଁକି ଏହାକୁ ଅନୁମତି ଦିଏ, ଦୋଷ କାହାକୁ ମିଳେ।

### ଏହା କିପରି ହେଲା, npm କାହିଁକି ଏହାକୁ ଅନୁମତି ଦେଲା, ଦୋଷ କାହାକୁ ମିଳେ

0:21 ଏହା ହେଉଛି The Daily Diff, ପୋଷ୍ଟମର୍ଟେମ୍। ମେ 11, ସକାଳ। ଏକ ନାମ ପରିବର୍ତ୍ତିତ ଫର୍କ TanStack Router ବିରୁଦ୍ଧରେ ଏକ ପୁଲ୍ ଅନୁରୋଧ ଖୋଲିଲା। ଏହା ଘଣ୍ଟାକ ଭିତରେ ବନ୍ଦ ହୋଇଗଲା, କିନ୍ତୁ ଏକ ବେଞ୍ଚମାର୍କ ୱାର୍କଫ୍ଲୋ ଏହାର କୋଡ୍ ଚଳାଇ ସାରିଥିଲା ​​ଏବଂ

### ସମୟରେଖା: ବିଷାକ୍ତ କ୍ୟାଶ୍

0:33 ରିଲିଜ୍ ୱାର୍କଫ୍ଲୋ ବ୍ୟବହାର କରିବାକୁ ଥିବା କି' ତଳେ ଏକ ବିଷାକ୍ତ କ୍ୟାଶ୍ ସଞ୍ଚୟ କରିଥିଲା। ୧୯୨୦। ଏକ ବୈଧ ମିଶ୍ରଣ ରିଲିଜ୍ ଚଳାଇଲା। କ୍ୟାଶ୍ ଫେରିଆସେ, ଏକ ବାଇନାରୀ ରନର୍ ର ମେମୋରୀ ପଢେ, ପ୍ରକାଶନ ଟୋକେନ୍ ଉଠାଏ, ଏବଂ ବୈଧ ପ୍ରମାଣ ସହିତ ବୟାଳିଶଟି ପ୍ୟାକେଜ୍ ରେ ଚଉରାଅଶୀଟି ସଂସ୍କରଣ SHIP IT କରେ। ପ୍ୟାକେଜ୍, ବୈଧ ପ୍ରମାଣ ସହିତ। ପରୀକ୍ଷାଗୁଡ଼ିକ ବିଫଳ ହୁଏ। ଏହା ତଥାପି ପ୍ରକାଶିତ କରେ। ୧୯୪୬, ଏକ StepSecurity ଗବେଷକ ପ୍ରସଙ୍ଗ ଦାଖଲ କରନ୍ତି; ନଅ UTC ସୁଦ୍ଧା ସବୁକିଛି ଅବହେଳିତ ହୋଇଯାଏ ଏବଂ ପରାମର୍ଶ ବାହାରେ।

0:55 ଅବହେଳିତ ମାନେ ଯାଇନାହିଁ: npm ନିର୍ଭରଶୀଳ କୌଣସି ଜିନିଷକୁ ଅପ୍ରକାଶିତ କରିବାକୁ ମନା କରେ, ତେଣୁ ଏହା ଘଣ୍ଟା ଘଣ୍ଟା ଧରି ଇନଷ୍ଟଲ୍ ହୋଇପାରିବାରେ ରହେ। ୨୧୪୮। ଏକ ନଅ-ଷ୍ଟାର୍ ବିମାନ ଚଳାଚଳ-ଡାଟା ପ୍ରୋଜେକ୍ଟରେ, ଡିପେଣ୍ଡାବଟ୍ ଏହାର ନିୟମିତ ପୁଲ୍ ଅନୁରୋଧ ଖୋଲିଲା: ଡେଭ୍-ଡିପେଣ୍ଡେନ୍ସି ଗ୍ରୁପ୍ ବମ୍ପ୍ କର, ତେରଟି ଅପଡେଟ୍। ଦୁଇଟି ହେଉଛି ବିଷାକ୍ତ TanStack ସଂସ୍କରଣ। ୨୨୧୨: ମିଶ୍ରିତ। ପ୍ରକାଶନ ୱାର୍କଫ୍ଲୋ ସ୍କୋପ୍ ରେ ଥିବା ଟୋକେନ୍ ସହିତ npm C-I ଚଳାଏ;

### 21:48 — ଡିପେଣ୍ଡାବଟ୍ ବମ୍ପ୍

1:15 ଏକ ପ୍ରସ୍ତୁତି ସ୍କ୍ରିପ୍ଟ ଏହାକୁ ପଢେ, ଏବଂ ୨୨୧୭ ରେ ୱାର୍ମ ତା'ର ନାମରେ ପ୍ରକାଶିତ କରେ। ଟୋକେନ୍ ପହଞ୍ଚୁଥିବା ପ୍ରତ୍ୟେକ ପ୍ୟାକେଜ୍ ର ପାଞ୍ଚଟି ସଂସ୍କରଣ, ଏପରିକି ଏକ ପୁରୁଣା ପାର୍ଶ୍ୱ ପ୍ରୋଜେକ୍ଟ: ସବୁକିଛି ପାଇଁ ଏକ କ୍ଲାସିକ୍ ଟୋକେନ୍। ପଞ୍ଚାନବେ ମିନିଟ୍ ରେ ଏକ ଶହ ଦଶଟି ସଂସ୍କରଣ। ସେ ମଧ୍ୟରାତ୍ରି ପରେ ଇମେଲ୍ ମାଧ୍ୟମରେ ଜାଣିଲେ। ଏହା କାହିଁକି କାମ କରେ। ଏକ: npm install ଡିଫଲ୍ଟ ଭାବରେ ଅପରିଚିତ ବ୍ୟକ୍ତିଙ୍କ ଲାଇଫସାଇକେଲ୍ ସ୍କ୍ରିପ୍ଟ୍ ଚଳାଏ, ଏବଂ ଏକ git ଡିପେଣ୍ଡେନ୍ସି ର ପ୍ରସ୍ତୁତି ସ୍କ୍ରିପ୍ଟ ଗଣନା କରେ।

1:39 ଦୁଇ: ୱାର୍ମ ଗୋଟିଏ ଜିନିଷ ଚାହୁଁଛି: ଏକ ଟୋକେନ୍ ଯାହା ଦ୍ୱିତୀୟ କାରକ ବିନା ପ୍ରକାଶିତ କରେ। ତା’ପରେ ଏହା ରେଜିଷ୍ଟ୍ରିକୁ ପଚାରେ ଯେ ସେହି ରକ୍ଷଣାବେକ୍ଷଣକାରୀଙ୍କର ଆଉ କ’ଣ ଅଛି, ଏବଂ ନିଜକୁ ଭିତରେ ରଖି ସବୁକିଛି ପୁନଃପ୍ରକାଶିତ କରେ। ତିନି: ଶୃଙ୍ଖଳରେ କେହି ଜଣେ ବ୍ୟକ୍ତି ନାହିଁ।

### ଏହା କାହିଁକି କାମ କରେ

1:51 ଏକ ବଟ୍ ପ୍ରସ୍ତାବ ଦିଏ, ଏକ ପାଇପଲାଇନ୍ ଇନଷ୍ଟଲ୍ କରେ, ଏବଂ ୱାର୍ମ ଅନୁକୂଳତା ଫେରାଏ: ଏହାର ଡେଡ୍-ଡ୍ରପ୍ ଶାଖାଗୁଡ଼ିକର ନାମ ହେଉଛି dependabot slash github-actions slash fremen। git blame. npm ର ଇନଷ୍ଟଲ୍ ମଡେଲ୍, ପଞ୍ଚାବନ ପ୍ରତିଶତ: ଇନଷ୍ଟଲ୍ ଉପରେ ସ୍କ୍ରିପ୍ଟ୍ ଚଳାଏ, ଅବହେଳିତ ଇନଷ୍ଟଲ୍ ଯୋଗ୍ୟ ରହେ, ଦୁଇ-କାରକ-ବାଇପାସ୍ ଟୋକେନ୍ ବିଦ୍ୟମାନ। TanStack ର CI, ପଚିଶ: ଏକ ଅନାବୃତ ପୁଲ୍ ଅନୁରୋଧ ଟାର୍ଗେଟ୍ ୱାର୍କଫ୍ଲୋ ଚାଲୁଅଛି କ୍ୟାଶ୍ ରେ ଲେଖିବା ଅନୁମତି ସହିତ ଫର୍କ କୋଡ୍। ବମ୍ପ୍ ଅଭ୍ୟାସ, ପନ୍ଦର: ଚବିଶ ମିନିଟ୍ ରେ ତେରଟି ଅପଡେଟ୍ ମିଶ୍ରିତ, କୋଠରୀରେ ଟୋକେନ୍।

2:17 ଡିପେଣ୍ଡାବଟ୍, ପାଞ୍ଚ: ଏତେ ବିଶ୍ୱସ୍ତ ଯେ ୱାର୍ମ ଏହାର ୟୁନିଫର୍ମ ପିନ୍ଧେ।

### git blame

2:20 ବିସ୍ଫୋରଣ ବ୍ୟାସାର୍ଦ୍ଧ: ବୟାଳିଶଟି TanStack ପ୍ୟାକେଜ୍। ନଅ ଷ୍ଟାର୍ ଥିବା ଏକ ପ୍ରୋଜେକ୍ଟରୁ ବାଇଶଟି ତଳମୁହାଁ। ଥରେ ୱାର୍ମ Mistral ରେ ପହଞ୍ଚିବା ପରେ ଶହେ ଷାଠିଏ ରୁ ଅଧିକ ଇକୋସିଷ୍ଟମ୍-ବ୍ୟାପକ। ପ୍ରତ୍ୟେକ ଉପରମୁହାଁ ସଂସ୍କରଣ ଏକ ବୈଧ ସ୍ୱାକ୍ଷର ବହନ କରିଥିଲା: ଅଧିକାରିକ ଦ୍ୱାରା ନିର୍ମିତ ପାଇପଲାଇନ୍। ସତ। ରାୟ, ପୋଷ୍ଟମର୍ଟେମ୍: SHIP IT। ଉଭୟ ରକ୍ଷଣାବେକ୍ଷଣକାରୀ ଦିନକ ମଧ୍ୟରେ ସମୟଷ୍ଟାମ୍ପଡ୍ ପୋଷ୍ଟମର୍ଟେମ୍ ପୋଷ୍ଟ କରନ୍ତି; ତିନି ଦିନ ମଧ୍ୟରେ, ତଳମୁହାଁ ପାଇପଲାଇନ୍ ignore-scripts ସହିତ ଇନଷ୍ଟଲ୍ କରେ, ବିଲ୍ଡ ରୁ ପ୍ରକାଶନକୁ ବିଭକ୍ତ କରେ, ଏବଂ ଦୀର୍ଘକାଳୀନ ଟୋକେନ୍ ଛାଡିଦିଏ।

### ବିସ୍ଫୋରଣ ବ୍ୟାସାର୍ଦ୍ଧ

2:47 npm ର ଡିଫଲ୍ଟଗୁଡ଼ିକ ଗତି କରିନାହାଁନ୍ତି। ସୋମବାର: ଇନଷ୍ଟଲ୍ ଉପରେ ignore-scripts, ଏବଂ ଜବ୍ ରୁ ପ୍ରକାଶନ ଟୋକେନ୍ ଯାହା ଏହାକୁ ଚଳାଏ। ମୋତେ ଘଟଣା ପଠାନ୍ତୁ ଯାହା ବିଷୟରେ ଆପଣ ଏପର୍ଯ୍ୟନ୍ତ କଥାବାର୍ତ୍ତା କରିବାକୁ ଅନୁମତିପ୍ରାପ୍ତ ନୁହଁନ୍ତି, କମେଣ୍ଟରେ, କିମ୍ବା thedailydiff.dev ରେ। ଏବଂ ତାହା ହେଉଛି ଆଜି ପାଇଁ ଡିଫ୍।

### ରାୟ

3:00 ମୁଁ Axrisi ରୁ Niko। ଦାୟିତ୍ୱର ସହିତ ମିଶାନ୍ତୁ।

## ଉତ୍ସଗୁଡ଼ିକ

- [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
