EitanGuard

מפתח service_role חשוף באפליקציית Bolt

Bolt מייצר פרויקטים מלאים (לרוב React/Next עם Supabase) ופריסה נפוצה היא Netlify.

מה הבעיה

מפתח ה-service_role של Supabase עוקף את כל ההרשאות, כולל RLS. כשהוא מגיע לקוד שהדפדפן מוריד - הוא של כל מי שפותח DevTools.

למה זה מסוכן

זו הפרצה החמורה ביותר שאנחנו מוצאים: קריאה, שינוי ומחיקה של כל נתון במסד, בלי שום מנגנון הגנה בדרך.

איפה זה מתוקן ב-Bolt

משתני סביבה מגדירים ב-Netlify (Site settings > Environment variables) וקוראים אותם רק בצד השרת - קידומת VITE_/NEXT_PUBLIC_ הופכת ערך לציבורי.

שלבי התיקון

ההנחיה להדביק ב-Bolt

העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):


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 שניות וקבל ציון אבטחה + הוראות תיקון.

סרוק את האפליקציה שלך בחינם