GraphQL Introspection פתוח באפליקציית Replit
Replit Agent בונה ומארח אפליקציות תחת replit.app, לרוב עם שרת Node/Express או Python.
מה הבעיה
נקודת קצה GraphQL שמאפשרת introspection בפרודקשן - כל אחד יכול לבקש את הסכמה המלאה: כל הטיפוסים, השדות והמוטציות.
למה זה מסוכן
התוקף מקבל מפה מדויקת של ה-API שלך, כולל שדות ומוטציות שלא חשבת שמישהו ימצא - נקודת הפתיחה של כל מתקפה ממוקדת.
איפה זה מתוקן ב-Replit
סודות מנהלים בלשונית Secrets של Replit - לא בקבצים בפרויקט, שיכולים להיות ציבוריים ב-Repl משותף.
שלבי התיקון
- כבה introspection בפרודקשן (רוב השרתים:
introspection: false) - הוסף בדיקת הרשאות על מוטציות רגישות - הסתרת הסכמה היא לא הגנה בפני עצמה
ההנחיה להדביק ב-Replit
העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):
Disable GraphQL introspection in production and verify every sensitive mutation checks authorization server-side.
איך מוודאים שהתיקון עבד
סריקה חוזרת שולחת שאילתת introspection ומוודאת שהיא נדחית.
עוד בנושא
בדיקה חינם
רוצה לדעת אם האפליקציה שלך חשופה? סרוק בחינם ב-30 שניות וקבל ציון אבטחה + הוראות תיקון.