EitanGuard

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

v0 של Vercel מייצר קומפוננטות ואפליקציות Next.js שנפרסות ל-Vercel.

מה הבעיה

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

למה זה מסוכן

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

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

משתני סביבה מוגדרים ב-Vercel (Project Settings > Environment Variables). כל משתנה עם קידומת NEXT_PUBLIC_ נשלח לדפדפן - סודות בלי הקידומת הזו בלבד.

שלבי התיקון

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

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


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

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