# এটা Dependabot বাম্পে এটা ৱৰ্ম প্ৰকাশ কৰিছিল। ২২টা পেকজ।

Published: 2026-09-17

এটা বটে এটা পুল ৰিকুৱেষ্ট খোলে। এজন মানুহে ইয়াক ২৪ মিনিট পিছত মাৰ্জ কৰে। তাৰ ৯৫ মিনিট পিছত, এটা ৱৰ্মে তাৰ CI-ত পোৱা এটা টোকেন ব্যৱহাৰ কৰি তাৰ ২২টা npm পেকজৰ ১১০টা দূষিত সংস্কৰণ তাৰ নামত প্ৰকাশ কৰে।

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

## এই ভিডিঅ’টোত কি আছে

- এটা বট, এজন মানুহ, এটা ৱৰ্ম
- ই কেনেকৈ হ’ল, npm-এ কিয় ইয়াক অনুমতি দিলে, কাক দোষ দিয়া হ’ব
- সময়ৰেখা: বিষাক্ত কেছ
- ২১:৪৮ — Dependabot বাম্প
- ই কিয় কাম কৰে

## অধ্যায়সমূহ

- 0:00 এটা বট, এজন মানুহ, এটা ৱৰ্ম
- 0:20 ই কেনেকৈ হ’ল, npm-এ কিয় ইয়াক অনুমতি দিলে, কাক দোষ দিয়া হ’ব
- 0:30 সময়ৰেখা: বিষাক্ত কেছ
- 1:15 ২১:৪৮ — Dependabot বাম্প
- 1:50 ই কিয় কাম কৰে
- 2:20 git blame
- 2:45 বিস্ফোৰণ ব্যাসাৰ্ধ
- 3:00 সিদ্ধান্ত

## অনূদিত ট্ৰান্সক্ৰিপ্ট

মূল ইংৰাজী বৰ্ণনাৰ পৰা অনুবাদ কৰা হৈছে। উপলব্ধ অডিঅ’ আৰু কেপচন ইউটিউবে নিয়ন্ত্ৰণ কৰে।

### এটা বট, এজন মানুহ, এটা ৱৰ্ম

0:00 এটা বটে এটা পুল ৰিকুৱেষ্ট খোলে; এজন মানুহে ২৪ মিনিট পিছত ইয়াক মাৰ্জ কৰে। ৯৫ মিনিট পিছত, এটা ৱৰ্মে প্ৰকাশ কৰিছে তাৰ এশ দহটা সংস্কৰণ পেকজ, তাৰ হিচাপে। TanStackৰ মৰণোত্তৰত উৰ্ধগতিৰ টাইমষ্টাম্প আছে, নিম্নগতিৰ মেণ্টেইনাৰৰ বাকীখিনি আছে, আৰু হেকাৰ নিউজে ইয়াক এঘাৰশ পইণ্ট আৰু এটা নাম দিছে: Mini Shai-Hulud। ই কেনেকৈ হয়, npm-এ কিয় ইয়াক অনুমতি দিয়ে, কাক দোষ দিয়া হয়।

### ই কেনেকৈ হ’ল, npm-এ কিয় ইয়াক অনুমতি দিলে, কাক দোষ দিয়া হ’ব

0:21 এইটো The Daily Diff, মৰণোত্তৰ। ১১ মে', পুৱা। পুনৰনামকৰণ কৰা ফৰ্কে TanStack Router-ৰ বিৰুদ্ধে এটা পুল ৰিকুৱেষ্ট খোলে। ই এক ঘণ্টাৰ ভিতৰত বন্ধ হয়, কিন্তু এটা বেঞ্চমাৰ্ক ৱৰ্কফ্ল'ৱে ইতিমধ্যে ইয়াৰ কোড চলাইছে আৰু

### সময়ৰেখা: বিষাক্ত কেছ

0:33 ৰিলিজ ৱৰ্কফ্ল'ৱে ব্যৱহাৰ কৰা চাবিৰ তলত এটা বিষাক্ত কেছ সংৰক্ষণ কৰিছে। ১৯:২০। এটা বৈধ মাৰ্জে ৰিলিজ চলায়। কেছটো উভতি আহে, এটা বাইনাৰীয়ে ৰানাৰৰ মেমৰি পঢ়ে, প্ৰকাশ টোকেনটো তুলি লয়, আৰু বৈধ প্ৰমাণৰ সৈতে ৪২টা পেকজত ৮৪টা সংস্কৰণ পঠিয়ায়। পেকজ, বৈধ প্ৰমাণৰ সৈতে। পৰীক্ষাবোৰ বিফল হয়। ই তথাপিও প্ৰকাশ কৰে। ১৯:৪৬, এজন StepSecurity গৱেষকে বিষয়টো ফাইল কৰে; ৯ UTC-ৰ ভিতৰত সকলো বোৰ ডীপ্ৰেকেটেড হয় আৰু পৰামৰ্শ প্ৰকাশ হয়।

0:55 ডীপ্ৰেকেটেড মানে নাইকিয়া নহয়: npm-এ নিৰ্ভৰশীলতা থকা একো অপ্ৰকাশ কৰিবলৈ অস্বীকাৰ কৰে, সেয়ে ই কেইবা ঘণ্টা ধৰি ইনষ্টল কৰিব পৰাকৈ থাকে। ২১:৪৮। এটা ন-তাৰকাযুক্ত বিমানচালনা-ডাটা প্ৰকল্পত, Dependabot-এ তাৰ নিয়মীয়া পুল ৰিকুৱেষ্ট খোলে: dev-dependencies গোটটো বাম্প কৰক, তেৰটা আপডেট। দুটা বিষাক্ত TanStack সংস্কৰণ। ২২:১২: মাৰ্জ কৰা হ’ল। প্ৰকাশ ৱৰ্কফ্ল'ৱে স্কোপত থকা টোকেনৰ সৈতে npm C-I চলায়;

### ২১:৪৮ — Dependabot বাম্প

1:15 এটা প্ৰস্তুতি স্ক্ৰিপ্টে ইয়াক পঢ়ে, আৰু ২২:১৭ বজাত ৱৰ্মে প্ৰকাশ কৰে তাৰ হিচাপে। টোকেনটো পোৱা প্ৰতিটো পেকজৰ পাঁচটা সংস্কৰণ, এটা পুৰণি চাইড প্ৰজেক্টো: সকলোৰে বাবে এটা ক্লাছিক টোকেন। ৯৫ মিনিটত এশ দহটা সংস্কৰণ। সি মধ্যৰাতিৰ পিছত ইমেইলৰ দ্বাৰা জানিব পাৰে। ই কিয় কাম কৰে। এক: npm install-এ স্বাভাৱিকভাৱে অচিনাকি মানুহৰ লাইফচকল স্ক্ৰিপ্ট চলায়, আৰু এটা git নিৰ্ভৰশীলতাৰ প্ৰস্তুতি স্ক্ৰিপ্টে গণনা কৰে।

1:39 দুই: ৱৰ্মে এটা বস্তু বিচাৰে: এটা টোকেন যিয়ে দ্বিতীয় কাৰক অবিহনে প্ৰকাশ কৰে। তাৰ পিছত ই ৰেজিষ্ট্ৰিক সুধে যে সেই মেণ্টেইনাৰৰ আৰু কি আছে, আৰু ইয়াৰ ভিতৰত নিজকে লৈ সেই সকলোবোৰ পুনৰ প্ৰকাশ কৰে। তিনি: শৃঙ্খলত একোৱেই মানুহ নহয়।

### ই কিয় কাম কৰে

1:51 এটা বটে প্ৰস্তাৱ কৰে, এটা পাইপলাইনে ইনষ্টল কৰে, আৰু ৱৰ্মে উপকাৰ উভতাই দিয়ে: ইয়াৰ মৃত-ড্ৰপ ব্ৰাঞ্চবোৰৰ নাম হৈছে dependabot স্লেছ github-actions স্লেছ 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-ত। আৰু এইটো আজিৰ বাবে diff।

### সিদ্ধান্ত

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
