حمله TrapDoor: ۳۴ پکیج مخرب در npm، PyPI و Crates.io
خلاصهٔ کاملتر
تیم امنیتی Socket یه کمپین گسترده حمله به زنجیره تأمین نرمافزار کشف کرده که بهش TrapDoor میگن. این حمله از ۱۹ می شروع شده و ۳۴ پکیج مخرب با بیش از ۳۸۴ نسخه رو در سه رجیستری بزرگ npm، PyPI و Crates.io منتشر کرده. پکیجها با اسمهایی مثل token-usage-tracker، eth-wallet-sentinel و prompt-engineering-toolkit طراحی شدن — دقیقاً شبیه ابزارهایی که توسعهدهندگان حوزه کریپتو، DeFi و هوش مصنوعی بدون تردید نصب میکنن.
نحوه عملکرد بدافزار در هر رجیستری فرق داره. پکیجهای npm از طریق هوک postinstall بلافاصله بعد از نصب یه اسکریپت ۱۱۴۹ خطی به اسم trap-core.js رو اجرا میکنن که علاوه بر جمعآوری اطلاعات، توکنهای AWS و GitHub رو از طریق API زنده اعتبارسنجی میکنه تا مطمئن بشه فقط اطلاعات معتبر رو میدزده.
پکیجهای Crates.io از یه روش متفاوت استفاده میکنن؛ اسکریپتهای build.rs — که در زمان کامپایل Rust بهصورت خودکار اجرا میشن — کیف پولهای محلی رو پیدا میکنن، با یه کلید XOR ثابت رمزنگاری میکنن و دادهها رو به GitHub Gists میفرستن. پکیجهای PyPI هم یه قدم جلوتر میرن و در زمان import یه payload جاوااسکریپتی از راه دور دانلود و اجرا میکنن، یعنی مهاجم میتونه رفتار بدافزار رو بدون تغییر پکیج منتشرشده آپدیت کنه.
فهرست اطلاعاتی که TrapDoor میدزده خیلی گستردهست: کلیدهای SSH، کیف پولهای Sui، Solana و Aptos، توکنهای AWS و GitHub، دیتابیسهای مرورگر، دادههای افزونههای کیف پول، متغیرهای محیطی و کلیدهای API.
یه ویژگی نگرانکننده این کمپین، هدف قرار دادن دستیارهای هوش مصنوعی هست. بدافزار فایلهای .cursorrules و CLAUDE.md — که توسط ابزارهایی مثل Cursor و Claude Code خونده میشن — رو در پروژه میذاره و با استفاده از کاراکترهای Unicode نامرئی (zero-width)، دستوراتی پنهان داخلشون تزریق میکنه. هدف اینه که ابزار هوش مصنوعی رو فریب بده تا یه «اسکن امنیتی روتین» انجام بده که در واقع اطلاعات محلی رو به بیرون میفرسته. همین مهاجم pull requestهایی هم به پروژههای بزرگ مثل LangChain و LlamaIndex فرستاده تا فایلهای آلوده رو زیر پوشش مستندات استانداردسازی وارد کنه.
اگه اخیراً پکیجی نصب کردی، حتماً اسمشو با لیست شاخصهای خطر Socket مقایسه کن. اگه هر کدوم از پکیجهای آلوده نصب شده بود، فوری کلیدهای SSH، توکنهای AWS و GitHub رو عوض کن. همچنین دنبال فایلهای .cursorrules، CLAUDE.md، Git hookها یا cronjobهای مشکوک بگرد و از lockfileها و بررسی وابستگیها در pipeline های CI/CD استفاده کن.
نکات کلیدی:
- ۳۴ پکیج مخرب با بیش از ۳۸۴ نسخه در npm، PyPI و Crates.io منتشر شدن
- بدافزار کلیدهای SSH، کیف پولهای کریپتو، توکنهای AWS/GitHub و دادههای مرورگر رو میدزده
- پکیجهای PyPI payload را از راه دور دریافت میکنن تا بدون آپدیت پکیج، رفتارشون تغییر کنه
- دستیارهای هوش مصنوعی مثل Cursor و Claude Code هم با فایلهای تنظیمات آلوده هدف قرار گرفتن
- Socket اولین پکیج رو در کمتر از ۲ دقیقه و بقیه رو بهطور میانگین در کمتر از ۶ دقیقه شناسایی کرد




