מפתח service_role חשוף באפליקציית Lovable
Lovable בונה אפליקציות React עם Supabase כבקאנד ברירת המחדל, ומפרסם אותן תחת lovable.app או דומיין מותאם.
מה הבעיה
מפתח ה-service_role של Supabase עוקף את כל ההרשאות, כולל RLS. כשהוא מגיע לקוד שהדפדפן מוריד - הוא של כל מי שפותח DevTools.
למה זה מסוכן
זו הפרצה החמורה ביותר שאנחנו מוצאים: קריאה, שינוי ומחיקה של כל נתון במסד, בלי שום מנגנון הגנה בדרך.
איפה זה מתוקן ב-Lovable
סודות שייכים ל-Supabase Edge Function Secrets (או ל-Secrets של Lovable), לעולם לא לקוד שהדפדפן מוריד.
שלבי התיקון
- סובב את המפתח מיד ב-Supabase (Settings > API > Reset service_role key) - הוא כבר נחשף
- הסר כל שימוש בו מקוד ה-client
- פעולות שדורשות אותו - העבר ל-Edge Function או לשרת, וקרא אותו שם ממשתנה סביבה
ההנחיה להדביק ב-Lovable
העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):
Find every place the Supabase service_role key is used in client-side code, move those operations to a server-side Edge Function that reads the key from an environment variable, and never ship the key to the browser. I will rotate the key myself.
איך מוודאים שהתיקון עבד
סריקה חוזרת סורקת את ה-JavaScript המוגש ומוודאת שהמפתח החדש לא מופיע בו.
עוד בנושא
בדיקה חינם
רוצה לדעת אם האפליקציה שלך חשופה? סרוק בחינם ב-30 שניות וקבל ציון אבטחה + הוראות תיקון.