PhantomSync: بسته‌های رمزنگاری npm، دزد کیف پول را مخفی می‌کنند

PhantomSync: هشت بسته npm توسعه‌دهنده رمزنگاری، یک دراپر با تأخیر و خودپایدار را پنهان می‌کنند

TL؛ DR

یک ناشر npm هشت بسته کوچک ارسال کرد که نام‌هایشان مانند بلوک‌های سازنده روزمره برای توسعه بلاکچین و کیف پول بود. base58-utils, abi-encode, eth-dev, arb-kit, layer2-sdk, solana-key-utils, eth-wallet-helpersو crypto-validate-libهر کدام شامل یک ابزار کاربردی هستند. با این حال، پس از آن ابزار، یک بلوک کد خود-فراخوان اضافه شده است که به محض وارد شدن ماژول اجرا می‌شود.

تقریباً ۳۷ ثانیه پس از وارد کردن، آن بلوک یک payload را که درون بسته‌ای که به عنوان یک ابزار آزمایشی مبدل شده است، رمزگشایی می‌کند، آن را در یک فایل مخفی در دایرکتوری خانگی کاربر می‌نویسد، و خود را برای راه‌اندازی مجدد در هر بار راه‌اندازی مجدد ثبت می‌کند. login در ویندوز، macOS و لینوکس اجرا می‌شود و اسکریپت رمزگشایی شده را به عنوان یک فرآیند جداگانه اجرا می‌کند. هیچ چیز در مورد این در طول نصب npm اجرا نمی‌شود؛ منتظر می‌ماند تا کد وارد و اجرا شود، که لحظه‌ای آرام‌تر از نصب است.

بار داده مبهم نیست. به صورت base64 ساده ارائه می‌شود، بنابراین رمزگشایی "test fixture" مرحله دوم را به طور کامل بازیابی می‌کند: کیف پول رمزنگاری و دزد اطلاعات شخصی که منتظر می‌ماند تا دستگاه بیکار بماند، کلیدهای خصوصی و عبارات بازیابی را جمع‌آوری می‌کند، هر یافته را با یک کلید RSA-4096 رمزگذاری می‌کند و با پین کردن آن به فضای ذخیره‌سازی عمومی IPFS، آن را استخراج می‌کند و هر ۱۲ ساعت یک بار سیگنال ارسال می‌کند.

ما خوشه را به صورت زیر ردیابی می‌کنیم فانتوم سینکهر هشت بسته در زمان تحلیل، در رجیستری npm موجود بودند و تحت یک حساب کاربری واحد منتشر می‌شدند.

اکوسیستمnpm
بستهbase58-utils, abi-encode, eth-dev, arb-kit, layer2-sdk, solana-key-utils, eth-wallet-helpers, crypto-validate-lib
پلتفرم‌های هدفویندوز ، macOS ، لینوکس
رفتار اصلیدراپر تأخیردارِ زمانِ وارد کردن، به عنوان یک ابزار آزمایشی پنهان شده است؛ پایداریِ بین پلتفرمی را نصب می‌کند
ظرفیت ترابریسارق کیف پول ارز دیجیتال و اطلاعات محرمانه، رمزگذاری RSA-4096، استخراج اطلاعات از طریق پین کردن IPFS عمومی

آناتومی حمله

هر بسته‌بندی در نگاه اول معمولی به نظر می‌رسد. base58-utilsبرای مثال، چند کیلوبایت کد کمکی Base58 / Bitcoin-WIF با وابستگی صفر است - دقیقاً همان چیزی که نام آن نوید می‌دهد. کد مربوطه در اینجا قرار می‌گیرد بعد از ماژول ماژول.exports، جایی که خواننده‌ای که بالای فایل را نگاه می‌کند بعید است آن را ببیند: یک تابع خود-فراخوان که خود را با یک تایمر زمان‌بندی می‌کند.

زنجیره عملیات، که از منبع بسته بازسازی شده است، به این صورت اجرا می‌شود:

1. Package is required() by the host project
2. A self-invoking function schedules a callback ~37,000 ms later (setTimeout)
3. On fire, the callback reads test/fixtures/keypairs.dat (a base64 blob)
4. It base64-decodes that blob into a Node.js script
5. It writes the script to ~/.cache-db/.node-sync/syncd.js (mode 0o700)
6. It installs login-persistence for that script (see below)
7. It spawns "node syncd.js" as a detached process

دو انتخاب طراحی برجسته هستند.

محموله به عنوان یک وسیله آزمایشی حرکت می‌کند. مرحله دوم به صورت کد واضح نوشته نشده است. بلکه در آن وجود دارد. فایل test/fixtures/keypairs.dat، یک فایل base64 که نام آن در بسته‌ای ادغام می‌شود که ادعا می‌کند جفت کلیدها را مدیریت می‌کند. برای انسانی که فایل tarball را بررسی می‌کند، شبیه داده‌های نمونه به نظر می‌رسد؛ برای کد پیوست شده، اسکریپتی برای رمزگشایی و اجرا است. خودِ dropper هیچ آدرس شبکه‌ای ندارد - آدرس‌هایی که در مرحله دوم قرار دارند - اما هیچ ابهام اضافی وجود ندارد: fixture یک لایه واحد از base64 است، بنابراین رمزگشایی آن (پایه64 -d) به طور کامل بازیابی می‌شود همگام‌سازی.js و رفتار شبکه آن. بخش بعدی به بررسی عملکرد آن مرحله بازیابی شده می‌پردازد.

انفجار به تأخیر افتاده و به واردات گره خورده است، نه نصب. چون عامل محرک است نیاز() به علاوه، به جای یک قلاب نصب، یک تایمر حدود ۳۷ ثانیه‌ای وجود دارد که از بررسی‌هایی که فقط ناظر هستند، جلوگیری می‌کند. نصب npm و این تأخیر از بسیاری از اجراهای کوتاه‌مدت sandbox و CI بیشتر طول می‌کشد. تا زمانی که چیزی اجرا شود، نصبی که بسته را دریافت کرده بود، مدت‌هاست که به پایان رسیده است.

به محض اینکه اسکریپت رمزگشایی شده روی دیسک قرار گرفت، ~/.cache-db/.node-sync/syncd.js — مسیری که برای خواندن مانند یک دایرکتوری کش روتین انتخاب شده است — این دراپر باعث می‌شود که در هر سه پلتفرم اصلی، از راه‌اندازی مجدد در امان بماند:

  • لینوکس: یک ورودی cron که اسکریپت را مجدداً اجرا می‌کند. این ورودی با فیلتر کردن crontab موجود از طریق ... نصب می‌شود. grep -v همگام‌سازی، که عارضه جانبی آن حذف ورودی جدید از یک فهرست ساده است که greps را برای همین نام انجام می‌دهد.
  • ویندوز: یک وظیفه زمان‌بندی‌شده با نام همگام‌سازی WinNode، طوری تنظیم شده که با فاصله ۱۲ دقیقه دوباره اجرا شود.
  • سیستم عامل مکینتاش: یک شغل راه‌اندازی شده با برچسب com.apple.syncd، که در چندین بسته وجود دارد - برچسبی که از یک سرویس سیستمی قانونی اپل تقلید می‌کند.

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

مرحله دوم چه کاری انجام می‌دهد؟

از آنجا که این وسیله یک لایه base64 واحد است، مرحله دوم به طور تمیز رمزگشایی می‌شود و می‌توان آن را به طور کامل خواند. هر هشت بسته، یکی از سه نوع اسکریپت یکسان را دارند که خود را در یک کامنت هدر به صورت زیر معرفی می‌کند: Phantom syncd v3 — topo durmiente ("موش خفته"). وظیفه آن سرقت اطلاعات کیف پول ارز دیجیتال و اسرار توسعه‌دهندگان و ارسال آنها به خارج از دستگاه است. این بدافزار طی مراحل زیر اجرا می‌شود:

  • 1. صبر کنید تا دستگاه بیکار شود. قبل از انجام هر کاری، همگام‌سازی.js بررسی می‌کند که کاربر چه مدت غیرفعال بوده است و فقط از یک آستانه (حدود ۱۵ دقیقه) عبور می‌کند - xprintidle در لینوکس، ioreg HIDIdleTime در macOS و یک پرس و جوی زمان بیکاری PowerShell در ویندوز. بنابراین، برداشت معمولاً زمانی اتفاق می‌افتد که کسی پشت صفحه کلید نیست.
  • ۲. یک کلید فعال‌سازی با کنترل از راه دور تهیه کنیداین اسکریپت قبل از عمل، یک پیکربندی کوچک را از یک فایل dead-drop دریافت می‌کند. منبع اصلی، یک URL خام از GitHub gist است (gist.githubusercontent.com/juang55/…/cfg.txt); اسکریپت فقط در صورتی فعال می‌شود که آن پیکربندی خوانده شود فعال=1اگر اصل مطلب در دسترس نباشد، به سه شناسه محتوای IPFS که به صورت کد ثابت نوشته شده‌اند و از طریق دروازه‌های عمومی دریافت می‌شوند، برمی‌گردد. دروازه.پیناتا.ابر, ipfs.ioو cloudflare-ipfs.comاین به اپراتور امکان کنترل مسلح/خلع سلاح پس از حادثه و یک سیستم پشتیبان مقاوم در برابر سقوط را می‌دهد. (کوچکترین نوع، ارسال شده در کتابخانه اعتبارسنجی رمزنگاری, کمک‌کننده‌های کیف پول ethو ابزارهای کلید سولانا، لایه اصلی حذف شده و فقط به شناسه‌های IPFS متکی است.)
  • ۳. مواد و اسرار کیف پول را جمع‌آوری کنید. این اسکریپت در دایرکتوری خانگی کاربر پیمایش می‌کند — ~/.config/solana, ~/.ethereum/keystore, ~/.ریخته‌گری, ~/.هارد هت, / .sshو دسکتاپ/اسناد/دانلود (شامل نام پوشه‌ها به زبان اسپانیایی)، به‌علاوه ~/.env و فایل‌های shell rc و معادل آن اطلاعات برنامه مکان‌ها در ویندوز. این بدافزار کلیدهای خصوصی اتریوم، کلیدهای WIF بیت‌کوین، عبارات بازیابی BIP-39، جفت کلیدهای Solana، JSON کلیدفروشی اتریوم، کلیدهای SSH و متغیرهای محیطی حاوی اطلاعات محرمانه را هدف قرار می‌دهد. نوع بزرگتر (در ابی-انکود, base58-utils, توسعه‌ی ات) شامل دیکشنری کامل BIP-39 با ۲۰۴۸ کلمه است و از عبارات منظم برای ... استفاده می‌کند. عصاره کلیدهای منفرد و عبارات اولیه‌ی اعتبارسنجی‌شده از هر متنی که می‌خواند؛ دو نوع کوچک‌تر در عوض، فایل‌ها را بر اساس کلمه کلیدی (دانه, حفظی, کیف پول, metamask, شبح, دفتر کل, trezor، ...) و کل فایل‌ها را آپلود کنید.
  • ۴. رمزگذاری و استخراج از طریق یک سرویس پین‌گذاری عمومی. هر یافته با یک اثر انگشت میزبان همراه است (نام کاربری@نام میزبان، پلتفرم، مهر زمانی) و با یک کلید عمومی RSA-4096 که در اسکریپت تعبیه شده است، رمزگذاری شده است. سپس رکورد رمزگذاری شده با پین کردن آن به IPFS از طریق api.pinata.cloud/pinning/pinJSONToIPFS، با اعتبارنامه‌های API پیناتا که به صورت هاردکد شده تأیید شده‌اند. هیچ سرور C2 سفارشی برای توقیف وجود ندارد: داده‌های سرقت شده در فضای ذخیره‌سازی غیرمتمرکز عمومی پارک می‌شوند و توسط اپراتور با استفاده از هش‌های محتوای حاصل قابل بازیابی هستند. آپلودها با چند ثانیه لرزش تصادفی و یک گزارش محلی از ... فاصله دارند. مهر زمانی | نوع کلید | هش بازگشتی در آن نگه داشته می‌شود ~/.cache-db/.node-sync/.sl.
  • ۵. روی یک چرخه ۱۲ ساعته پافشاری کنید و چراغ قوه روشن کنید. مرحله دوم، ماندگاری خود را دوباره برقرار می‌کند - یک ورودی cron در لینوکس، یک com.apple.syncd کار را در macOS راه اندازی کرد و یک وظیفه برنامه ریزی شده به نام همگام‌سازی ویندوز نود در ویندوز - طوری تنظیم شده که هر ۱۲ ساعت یکبار دوباره اجرا شود. توجه داشته باشید که این یک مختلف نام وظیفه ویندوز از وظیفه‌ای که dropper نصب می‌کند (همگام‌سازی WinNode); هر دو ارزش شکار کردن را دارند.

گاهشمار

این هشت بسته در تاریخ‌های 2026-07-13 و 2026-07-14 به صورت فشرده منتشر شدند. چندین مورد از آنها بیش از یک نسخه دارند؛ دراپر در تمام نسخه‌ها یکسان است و فقط با تغییر اندازه کد کاربردی بی‌خطر بالای آن، فاصله خطوط تغییر می‌کند.

تاریخواقعه
2026-07-13اولین بسته‌های موجود در خوشه تحت یک ناشر () ظاهر می‌شوند.solana-key-utils, eth-wallet-helpers, crypto-validate-lib و نسخه‌های اولیه بقیه)
2026-07-13 → 07-14نام‌های باقی‌مانده و نسخه‌های بعدی منتشر شده‌اند؛ در هر نسخه، همان دراپر ضمیمه‌شده ارسال می‌شود.
2026-07-14هر هشت مورد علامت‌گذاری و تجزیه و تحلیل شدند؛ هر بسته هنوز از رجیستری قابل نصب است.

در طول این دوره، اعتبار رجیستری ناشر از تقریباً خنثی در ابتدای خوشه به شدت منفی با افزایش تشخیص‌ها تغییر کرد - یک اثر جانبی قابل مشاهده از علامت‌گذاری بسته‌ها، نه یک ویژگی طراحی‌شده.

شاخص های سازش

وجود تمام شاخص‌های زیر در زمان تحلیل تأیید شد - آن‌هایی که در جداول «مرحله دوم» بودند، با رمزگشایی فایل test/fixtures/keypairs.dat و خواندن مطالب بازیابی شده همگام‌سازی.js.

فایل‌ها و مسیرها

شاخصنقش
~/.cache-db/.node-sync/syncd.jsمرحله دوم رمزگشایی شده، با حالت 0o700 نوشته شده است
~/.cache-db/.node-sync/.slگزارش خروج اطلاعات محلی (برچسب زمانی | نوع کلید | هش IPFS)
test/fixtures/keypairs.datفایل مخرب کدگذاری شده با Base64 که به عنوان یک "فایل آزمایشی" در داخل فایل tarball قرار داده شده است.

زیرساخت شبکه مرحله دوم (بازیابی شده از syncd.js)

شاخصنقش
gist.githubusercontent.com/juang55/b298754cb72942b1cdcf02ccd45cde2f/raw/cfg.txtفعال‌سازی بدون توقف؛ اسکریپت فقط در صورت خواندن پیکربندی اجرا می‌شود active=1
Qmcqz3w8j4qFQXDAXAxnrdc2oSX3nzBT4NqtpTqL8mr1gaپشتیبان پیکربندی IPFS (CID)
QmdTXoqVmTHY1i4ZWLdLkoQ9YChp5TXPh5cWXwnAYZt5iFپشتیبان پیکربندی IPFS (CID)
QmfJkLU5gdCpqbbqEjWYC2anXW9FmuEeSLLeLiHVJKYUjpپشتیبان پیکربندی IPFS (CID)
gateway.pinata.cloud, ipfs.io, cloudflare-ipfs.comدروازه‌های IPFS که برای دریافت پیکربندی پشتیبان استفاده می‌شوند
api.pinata.cloud/pinning/pinJSONToIPFSنقطه پایانی استخراج اطلاعات، داده‌های سرقت شده به IPFS عمومی پین شدند
کلید API پیناتا13c766575b9270a9825d، اعتبارنامه‌ی استخراج‌شده‌ی کدگذاری‌شده

اهداف جمع‌آوری مرحله دوم (بازیابی شده از syncd.js)

شاخصنقش
~/.config/solana, ~/.ethereum/keystore, ~/.foundry, ~/.hardhat, ~/.ssh, ~/.env، فایل‌های rc پوستهدایرکتوری‌ها/فایل‌ها برای کلیدها و اسرار جستجو شدند
AppData\Roaming\Solana, AppData\Local\ethereum\keystoreمعادل‌های ویندوز جستجو شده
انواع مصنوعات برداشت شدهکلیدهای خصوصی اتریوم، WIF بیت‌کوین، عبارات بازیابی BIP-39، جفت کلیدهای Solana، JSON کلید ذخیره شده اتریوم، کلیدهای SSH، متغیرهای محیطی مخفی

مصنوعات پایداری

سکوشاخص
لینـوکــسراه اندازی ورودی cron syncd.jsنصب شده از طریق crontab فیلتر شده grep -v syncd
ویندوزوظیفه برنامه ریزی شده WinNodeSync (قطره چکان) و WindowsNodeSync (مرحله دوم)
از MacOSبرچسب لانچد com.apple.syncd
همهمرحله دوم در یک چرخه ۱۲ ساعته دوباره ادامه می‌یابد

رفتاری

  • تابع خودفراخوان که بعد از آن اضافه شده است ماژول.exports، برنامه ریزی الف setTimeout حدود ۳۷۰۰۰ میلی‌ثانیه برای واردات.
  • فرآیند_فرزند ایجاد("گره", ) با تنظیم گزینه جدا شده.
  • فعال‌سازی با دریچه‌ی غیرفعال در مرحله‌ی دوم (xprintidle / ioreg زمان بیکاری HIDIdleTime / PowerShell؛ آستانه تقریبی ۱۵ دقیقه).
  • رمزگذاری RSA-4096 با توجه به یافته‌های قبلی، سپس HTTPS پست به یک API پین‌گذاری عمومی IPFS.

بسته‌ها و نسخه‌ها (npm، ناشر solbuilder_io)

بستهنسخه
base58-utils1.0.0، 1.0.1، 1.0.3
abi-encode1.0.0، 1.0.1، 1.0.2
eth-dev1.0.0، 1.0.1، 1.0.2
arb-kit1.0.0، 1.0.1
layer2-sdk1.0.0، 1.0.1
solana-key-utils1.0.0
eth-wallet-helpers1.0.0
crypto-validate-lib1.0.0

ناشر

  • سول‌بیلدر_یو - angel_lopez89[@]proton[.]me، ایمیل تأیید نشده، بدون حساب کنترل منبع تأیید شده، بدون مخزن پیوند داده شده.

انتساب و رفتار مشاهده شده

هشت بسته، یک حساب کاربری ناشر و یک بار داده مشترک دارند. هر کدام یک بسته‌ی بی‌اهمیت - چند کیلوبایت کد کاربردی واقعی با همان دراپر ضمیمه شده - است که بدون مخزن لینک‌شده و تحت یک ایمیل یکبار مصرف تأییدنشده منتشر می‌شود. این یکنواختی، مسیر دراپر مشترک، برچسب‌های ماندگاری مشترک و ... مشترک جفت کلیدها.dat فایل‌های مرحله‌بندی چیزی هستند که کلاستر را به هم پیوند می‌دهند.

این بسته‌ها به طرز غیرمعمولی در مورد رفتار خودشان رک و صریح هستند. ابزارهای کلید سولانا شامل کامنت‌های درون‌خطی است که بلوک الحاق‌شده را به زبان ساده توصیف می‌کنند - می‌توان آن را برچسب‌گذاری کرد فانتوم: پایداری نامرئی، دیگری (به اسپانیایی) می‌خواند توپوگرافی و پس زمینه پرتابی، «مول را در پس‌زمینه اجرا کن.» اینها توضیحات خود کد در مورد کاری است که انجام می‌دهد؛ نام کمپین در این پست از همان برچسب اول به همراه گره جعلی «همگام‌سازی دیمن» (همگام‌سازی) که ماشین‌آلات پایداری از آن تقلید می‌کنند.

ما فقط کاری را که کد به طور قابل مشاهده انجام می‌دهد، شرح می‌دهیم. نامگذاری بسته‌ها - همه اصطلاحات مربوط به ارزهای دیجیتال، کیف پول و ابزارهای بلاکچین - نشان می‌دهد که مخاطبان توسعه‌دهنده به احتمال زیاد آنها را با نام دریافت می‌کنند؛ این نامگذاری به خودی خود مشخص نمی‌کند که ناشر کیست. مرحله دوم با رمزگشایی ثابت base64 کاملاً قابل بازیابی بود و رفتار آن در بالا توضیح داده شده است: کلیدهای کیف پول، عبارات بازیابی و اسرار را جمع‌آوری می‌کند و آنها را به صورت رمزگذاری شده با RSA از طریق Pinata به فضای ذخیره‌سازی عمومی IPFS منتقل می‌کند. یک انتخاب طراحی قابل توجه، عدم وجود یک سرور خصوصی C2 است - پیکربندی از یک GitHub gist و IPFS دریافت می‌شود و داده‌های سرقت شده در فضای ذخیره‌سازی عمومی غیرمتمرکز با کلیدگذاری هش محتوا ذخیره می‌شوند، که هر دوی آنها سخت‌تر از یک میزبان تحت کنترل مهاجم هستند. در زمان نگارش این مطلب، هیچ گزارش عمومی قبلی مطابق با این خوشه یافت نشد.

تأثیر، روندها و راهنمایی برای مدافعان

چه کسی در معرض دید قرار گرفته است. هر کسی که یکی از این بسته‌ها را به یک پروژه Node اضافه کرده و سپس کدی را اجرا کرده که آن را وارد می‌کند. از آنجا که انفجار زمان واردات است نه زمان نصب، صرفاً وجود بسته کافی نیست - بلکه هرگونه استفاده عادی که ماژول را بارگیری کند، به payload می‌رسد. نام‌های فریبنده، توسعه‌دهندگانی را که بر روی اتریوم، سولانا، آربیتروم، لایه ۲ و ابزارهای کیف پول/رمزگذاری عمومی کار می‌کنند، هدف قرار می‌دهند - جمعیتی که به احتمال زیاد دقیقاً دارایی‌هایی را که مرحله دوم به دنبال آن است، دارند. هر کسی که یکی از این ماژول‌ها را روی دستگاهی اجرا کرده باشد که کلیدهای کیف پول، عبارات بازیابی، فروشگاه‌های کلید، کلیدهای SSH یا .NS رازها باید آن اعتبارنامه‌ها را به عنوان اعتبارنامه‌های لو رفته در نظر بگیرند و آنها را تغییر دهند.

دو الگویی که ارزش درونی کردن را دارند. اول، بار مفید به عنوان ثابت: ارسال مرحله دوم به صورت base64 در داخل یک فایل داده با نام احتمالی (فایل test/fixtures/keypairs.dat) منبع قابل مشاهده بسته را تمیز نگه می‌دارد و محتوای مخرب را به فایلی منتقل می‌کند که ابزارهای بررسی و بررسی‌های انسانی اغلب آن را به عنوان داده‌های بی‌اثر در نظر می‌گیرند. دوم، اجرای با تأخیر در زمان وارد کردن با پایداری بین پلتفرمیحذف تریگر از قلاب نصب، اضافه کردن تایمر و سپس ادامه دادن در cron، وظایف زمان‌بندی‌شده و launchd، گامی آگاهانه در جهت دوری از تکنیک‌های نصب اسکریپت پر سر و صدا است که اسکن خودکار رجیستری از نزدیک آنها را زیر نظر دارد.

راهنمایی برای مدافعان و نگهبانان:

  • کد پیوست شده را بعد از آن پردازش کنید ماژول.exports به عنوان یک اولویت بررسی - منطق دراپر اغلب زیر سطح ماژول «واقعی» پنهان می‌شود.
  • فرض نکنید که فایل‌های داده بی‌اثر هستند. یک حباب base64 زیر آزمون/وسایل/ که در زمان اجرا خوانده و رمزگشایی می‌شود، فایل اجرایی مجاور است؛ خواندن‌های زمان اجرا از فایل‌های fixture که a را تغذیه می‌کنند، علامت‌گذاری می‌کند. عملکرد/ارزیابی/نوشتن-سپس-تخم ریزی زنجیر.
  • مسیر سقوط را پیدا کنید ~/.cache-db/.node-sync/ و برای واحدهای پایداری همگام‌سازی WinNode (وظیفه زمان‌بندی‌شده) و com.apple.syncd (launchd) روی دستگاه‌های توسعه‌دهنده‌ای که این نام‌ها را دریافت کرده‌اند.
  • هشدار در مورد فرآیندهای Node که ورودی‌های cron، وظایف زمان‌بندی‌شده یا کارهای راه‌اندازی‌شده ایجاد می‌کنند - کتابخانه‌های قانونی به ندرت این کار را هنگام وارد کردن انجام می‌دهند.
  • فایل‌های قفل و نسخه‌های پین‌شده را ترجیح دهید و تفاوت هرگونه وابستگی کوچک «کاربردی» جدید را بررسی کنید، به‌ویژه بسته‌های بدون وابستگی منتشر شدند توسط حساب‌های تایید نشده و بدون مخزن مرتبط.

برای مدافعان رجیستری، نکته‌ی کلیدی این است که نظارت بر قلاب نصب لازم است اما کافی نیست: یک دراپرِ زمانِ واردات و با تأخیرِ تایمر که درون یک فایل داده قرار داده شده است، از بررسیِ فقط زمانِ نصب عبور می‌کند و مرحله‌ی ماندگاری اغلب بلندترین سیگنالِ قابل مشاهده برای ردیابی است.

ابزارهای-نرم‌افزاری-ترکیب-تحلیل-ترکیب-ابزارها
ریسک‌های نرم‌افزاری خود را اولویت‌بندی، اصلاح و ایمن‌سازی کنید
حساب کاربری رایگان خود را دریافت کنید.
بدون کارت اعتباری مورد نیاز است.

توسعه و تحویل نرم‌افزار خود را ایمن کنید

با مجموعه محصولات Xygeni