FixVibe
Covered by FixVibehigh

API نشت کلید: خطرات و اصلاح در برنامه های وب مدرن

اسرار سخت کدگذاری شده در کد فرانت اند یا تاریخچه مخزن به مهاجمان امکان جعل هویت سرویس ها، دسترسی به داده های خصوصی و متحمل شدن هزینه ها را می دهد. این مقاله خطرات نشت مخفی و اقدامات لازم برای پاکسازی و پیشگیری را پوشش می دهد.

CWE-798

تاثیر

افشای اسرار مانند کلیدهای API، نشانه‌ها یا اعتبارنامه‌ها می‌تواند منجر به دسترسی غیرمجاز به داده‌های حساس، جعل هویت سرویس و زیان مالی قابل‌توجه به دلیل سوء استفاده از منابع [S1] شود. هنگامی که یک راز به یک مخزن عمومی متعهد می شود یا در یک برنامه frontend قرار می گیرد، باید آن را به خطر افتاده [S1] در نظر گرفت.

علت اصلی

علت اصلی، گنجاندن اطلاعات کاربری حساس به طور مستقیم در کد منبع یا فایل‌های پیکربندی است که متعاقباً به کنترل نسخه متعهد شده‌اند یا به مشتری [S1] ارائه می‌شوند. توسعه‌دهندگان اغلب برای راحتی در طول توسعه، کلیدهای کد سختی دارند یا به‌طور تصادفی فایل‌های .env را در تعهدات خود [S1] وارد می‌کنند.

رفع بتنی

  • چرخش اسرار به خطر افتاده: اگر یک راز فاش شد، باید فوراً لغو و جایگزین شود. صرفاً حذف رمز از نسخه فعلی کد کافی نیست زیرا در تاریخچه کنترل نسخه [S1][S2] باقی می ماند.
  • از متغیرهای محیطی استفاده کنید: اسرار را در متغیرهای محیط ذخیره کنید نه اینکه آنها را کدگذاری کنید. مطمئن شوید که فایل‌های .env به .gitignore اضافه شده‌اند تا از ارتکاب تصادفی [S1] جلوگیری شود.
  • مدیریت مخفی را پیاده سازی کنید: از ابزارهای اختصاصی مدیریت مخفی یا سرویس های خزانه برای تزریق اعتبار به محیط برنامه در زمان اجرا [S1] استفاده کنید.
  • Purge Repository History: اگر یک راز به Git متعهد شده بود، از ابزارهایی مانند git-filter-repo یا BFG Repo-Cleaner برای حذف دائمی داده های حساس از تمام شاخه ها و برچسب ها در تاریخچه مخزن [S2] استفاده کنید.

چگونه FixVibe آن را آزمایش می کند

FixVibe اکنون این مورد را در اسکن های زنده گنجانده است. Passive secrets.js-bundle-sweep بسته‌های جاوا اسکریپت با منشأ یکسان را دانلود می‌کند و کلید، نشانه و الگوهای اعتبار API شناخته شده را با گیت‌های آنتروپی و مکان‌نما مطابقت می‌دهد. بررسی‌های زنده مرتبط، فضای ذخیره‌سازی مرورگر، نقشه‌های منبع، بسته‌های مشتری اعتبار و BaaS و الگوهای منبع مخزن GitHub را بررسی می‌کنند. بازنویسی تاریخچه Git همچنان یک مرحله اصلاحی است. پوشش زنده FixVibe بر اسرار موجود در دارایی های ارسال شده، فضای ذخیره مرورگر و محتویات مخزن فعلی تمرکز دارد.