מפתח API חשוף בקוד באפליקציית Cursor
Cursor הוא עורך קוד עם AI - הסטאק כולו בבעלותך, והפריסה הנפוצה היא Vercel או Netlify.
מה הבעיה
מפתחות סודיים - Stripe סודי, OpenAI/Anthropic, AWS/GCP - שהוטמעו בקוד הצד-לקוח. כל מבקר יכול לחלץ אותם מה-JavaScript של האתר.
למה זה מסוכן
מפתח LLM חשוף הופך לחשבונית של אלפי דולרים על שימוש של זרים. מפתח Stripe סודי מאפשר גישה לתשלומים. מפתח ענן יכול להשתלט על התשתית כולה.
איפה זה מתוקן ב-Cursor
סודות יושבים ב-.env מקומי שלא נכנס ל-git, ובהגדרות הסביבה של פלטפורמת הפריסה. כל מפתח שמיובא לקוד client הופך ציבורי.
שלבי התיקון
- סובב כל מפתח שנחשף - מרגע שהיה בקוד ציבורי הוא שרוף, גם אם "אף אחד לא ראה"
- העבר כל קריאה שדורשת מפתח סודי לצד השרת (serverless function / Edge Function)
- בצד ה-client השאר רק מפתחות שנועדו להיות ציבוריים (Stripe publishable, Supabase anon)
ההנחיה להדביק ב-Cursor
העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):
Search the client bundle for secret API keys (Stripe secret, OpenAI, Anthropic, AWS). Move every call that needs them to a server-side function reading the key from an environment variable. I will rotate the exposed keys myself.
איך מוודאים שהתיקון עבד
סריקה חוזרת עוברת על כל קובצי ה-JavaScript המוגשים ומאתרת תבניות של מפתחות סודיים.
עוד בנושא
בדיקה חינם
רוצה לדעת אם האפליקציה שלך חשופה? סרוק בחינם ב-30 שניות וקבל ציון אבטחה + הוראות תיקון.