TGViewer
کدهالیک | codehalic کدهالیک | codehalic @codehalics · 4.15K subscribers
Post #606 662
کدهالیک | codehalic صبح زیباتون رو با خبر هک TanStack شروع کنیم؛ همون اکوسیستمی که React Query یا TanStack Query از دلش اومده. طبق گزارش Snyk، در حمله زنجیره تأمین npm، ده‌ها پکیج @tanstack آلوده منتشر شده و هدف اصلی هم سرقت اطلاعات و توکن‌های CI/CD بوده. https://tanstack.com/blog/npm…
حالا بهتر می‌فهمم چرا بعضی SDKهای جدید، مخصوصاً در اکوسیستم‌هایی مثل Telegram Mini Apps، تا این حد روی zero-dependency بودن حساس شده‌اند.

ماجرا فقط سبک‌تر شدن پکیج یا کم شدن حجم bundle نیست. بحث اصلی امنیت زنجیره تأمین است.

وقتی یک SDK وابستگی خارجی ندارد، یعنی با نصب آن، یک زنجیره بلند از پکیج‌های ناشناس، maintainerهای مختلف، workflowهای جداگانه و releaseهای غیرقابل‌ردیابی وارد پروژه نمی‌شود.

در اکوسیستم npm، خطر فقط خود پکیجی نیست که نصب می‌کنیم. خطر واقعی گاهی در dependencyهای عمیق‌تر است؛ همان پکیج‌های کوچکی که مستقیم نمی‌شناسیم، اما در زمان install یا build می‌توانند کد اجرا کنند.

اتفاق TanStack دقیقاً همین را دوباره یادآوری کرد. مهاجم لازم نداشت مستقیم به اپلیکیشن نهایی حمله کند. کافی بود بخشی از مسیر build، cache و release را آلوده کند تا نسخه‌های مخرب از چند پکیج منتشر شوند.

برای همین zero-dependency یک تصمیم صرفاً فنی نیست؛ یک تصمیم امنیتی است.

یعنی تیم توسعه می‌گوید تا وقتی واقعاً مجبور نیستیم، اعتمادمان را بین ده‌ها پکیج و maintainer پخش نمی‌کنیم. هر dependency جدید، فقط چند کیلوبایت کد اضافه نیست؛ یک نقطه اعتماد جدید است.

البته zero-dependency یعنی ریسک کمتر، نه امنیت مطلق. خود همان پکیج هم ممکن است compromise شود، release pipeline آن هم ممکن است آسیب ببیند، اما حداقل سطح حمله کوچک‌تر می‌شود.

پس وقتی می‌بینیم یک SDK جدی تلاش می‌کند بدون dependency خارجی کار کند، دلیلش فقط performance نیست. بخشی از ماجرا این است که هک کردنش سخت‌تر شود، audit کردنش ساده‌تر باشد و زنجیره اعتمادی که وارد پروژه می‌کند کوتاه‌تر بماند.

درس ساده ماجرا:

در دنیای امروز، هر دپندنسی یک تصمیم امنیتی است، نه فقط یک انتخاب فنی.

البته شما از tanstack استفاده کنین اینجا ایرانه چرخ از اول اختراع نکنین خواهشا خداروشکر ما ها اینترنت نداریم که هک بشیم ( البته کاش داشتیم هک میشدیم ولی وضعمون این نبود )

@codehalics | کدهالیک
  • 👍 5
More from @codehalics
  1. Oct 8, 2026بوت‌استرپ ۶ نسخه آلفا ۱ منتشر شد و جالب‌ترین تغییرش اینه که رسماً داره می‌ره سمت سبک تیلوی…
  2. Oct 8, 2026کتابخونه Replicant یه ابزار کاربردی تو دات‌نته که با اضافه کردن یه لایه کش رو دیسک برای Ht…
  3. Oct 7, 2026این نکته رو هم اضافه کنم که این مورد داره ۲ اصل از اصول SOLID رو رعایت میکنه ! اول DIP (مع…
  4. Oct 7, 2026توی NestJS اینکه چند تا پوشه مثل Orders و Payments بسازی معنیش کد ماژولار نیست. وقتی همه چ…
  5. Oct 7, 2026توی نسخه جدید 16.4 نکس‌جی‌اس، مهم‌ترین خبر اینه که مدل جدید Cache Components بالاخره کامل…
  6. Oct 5, 2026یه اتفاق جالب افتاده: یه برنامه‌‌نویس موقع ساخت پروژه دات‌نت با Claude متوجه شده هوش مصنوع…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →