מפתח API חשוף בקוד באפליקציית Replit
Replit Agent בונה ומארח אפליקציות תחת replit.app, לרוב עם שרת Node/Express או Python.
מה הבעיה
מפתחות סודיים - Stripe סודי, OpenAI/Anthropic, AWS/GCP - שהוטמעו בקוד הצד-לקוח. כל מבקר יכול לחלץ אותם מה-JavaScript של האתר.
למה זה מסוכן
מפתח LLM חשוף הופך לחשבונית של אלפי דולרים על שימוש של זרים. מפתח Stripe סודי מאפשר גישה לתשלומים. מפתח ענן יכול להשתלט על התשתית כולה.
איפה זה מתוקן ב-Replit
סודות מנהלים בלשונית Secrets של Replit - לא בקבצים בפרויקט, שיכולים להיות ציבוריים ב-Repl משותף.
שלבי התיקון
- סובב כל מפתח שנחשף - מרגע שהיה בקוד ציבורי הוא שרוף, גם אם "אף אחד לא ראה"
- העבר כל קריאה שדורשת מפתח סודי לצד השרת (serverless function / Edge Function)
- בצד ה-client השאר רק מפתחות שנועדו להיות ציבוריים (Stripe publishable, Supabase anon)
ההנחיה להדביק ב-Replit
העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):
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 שניות וקבל ציון אבטחה + הוראות תיקון.