1,033 מפתחות סודיים (secret keys) פעילים של Stripe נחשפו מ-669 ספקים לאחר שקבצי .env ויומני ניפוי שגיאות (debug logs) הושארו נגישים באינטרנט הציבורי. המפתחות מאפשרים לכל אחד לבצע חיובים, למשוך חשבוניות ולאסוף פרטי לקוחות – פריצה שעלולה לרוקן ארנקים ולהרוס מוניטין תוך דקות.

מה גרם לדליפה

מפתחים מאחסנים באופן שגרתי נתוני הגדרה – סיסמאות למסדי נתונים, אסימוני API ומפתחות סודיים של Stripe – בקובץ בשם .env. הקובץ נמצא לצד קוד המקור ונקרא בזמן ריצה כדי להרחיק סודות מקוד המקור. השיטה עובדת רק אם השרת לעולם אינו מגיש קבצים המתחילים בנקודה. במקרה זה, שרתי אינטרנט שהוגדרו באופן שגוי (הן Nginx והן Apache) אפשרו בקשות עבור “/.env”, “/.env.example”, “/.git/HEAD” ונקודת קצה (endpoint) מותאמת אישית של “/debug” להחזיר את הקובץ הגולמי עם סטטוס 200 OK.

הדליפה לא נגרמה מפגיעות (vulnerability) בפלטפורמה של Stripe, ולא מכשל בתוסף e-commerce ספציפי כלשהו. זו הייתה חשיפה גרידא של קבצים שהיו אמורים להיות בלתי נראים לעולם.

למה לחשיפה יש חשיבות

מפתח סודי של Stripe הוא למעשה סיסמת מאסטר (master password) למסלול התשלומים של הסוחר. כל מי שמחזיק בו יכול:

  • לבצע חיובים שרירותיים בכרטיסים שמורים
  • לשלוף חשבוניות והיסטוריית תשלומים (payouts)
  • למשוך נתונים אישיים – שמות, אימיילים, מספרי טלפון, כתובות מגורים, כתובות IP
  • לממש קודים פרומוציונליים לרכישות בחינם או בהנחה

מערך הנתונים שדלף כלל את כל האמור לעיל, בתוספת פרטי תשלומים (payout details) החושפים כמה כל ספק הרוויח. עבור עסק, הסיכון המיידי הוא עסקאות מרמה המייצרות החזרים (chargebacks), אובדן אמון לקוחות וקנסות פוטנציאליים תחת תקני PCI-DSS, GDPR או משטרים אחרים של פרטיות נתונים. העלות ארוכת הטווח יכולה להיות גבוהה בהרבה: שכר טרחת עורכי דין, הוצאות תיקון ונזק למותג שייתכן שלעולם לא יתאושש.

בדיקה מהירה: האם ה-.env שלכם חשוף?

פתחו טרמינל והחליפו את yourdomain.com בשם המארח (host name) שלכם:

for p in "/.env" "/.env.example" "/.git/HEAD" "/debug"; do
  echo -n "$p -> "
  curl -s -o /dev/null -w "%{http_code}\n" "https://yourdomain.com$p"
done

כל שורה צריכה להחזיר 403 (forbidden) או 404 (not found). תגובת 200 פירושה שהקובץ קריא לציבור – תקרית אבטחה קריטית הדורשת טיפול מיידי.

צעדי תיקון מיידיים

1. חסימת dotfiles בשרת האינטרנט

  • Nginx – הוסיפו בלוק location שחוסם כל בקשה לקבצים המתחילים בנקודה.
  • Apache – השתמשו בהנחיית FilesMatch בתוך .htaccess כדי להחזיר 403 עבור קבצים עם קידומת נקודה.

2. הקשחת תהליך העבודה ב-Docker שלכם

  • הוסיפו את .env ל-.dockerignore כדי שהקובץ לעולם לא יועתק לתוך ה-image.
  • הימנעו משימוש בהוראת COPY עבור כל קובץ המכיל סודות.

3. החלפת (Rotate) כל מפתח שנחשף

  • היכנסו ל-Stripe Dashboard → Developers → API keys.
  • צרו מפתח סודי חדש ובטלו (revoke) את הישן באופן מיידי.

4. אימוץ מפתחות בעלי הרשאות מינימליות (least-privilege)

  • הפסיקו להשתמש במפתח סודי יחיד לכל הפעולות.
  • צרו מפתחות מוגבלים (restricted keys) המאפשרים רק את הפעולות הנדרשות – למשל, שירות checkout זקוק להרשאה ליצור payment intents אך לא להנפיק החזרים (refunds) או לצפות בתשלומים (payouts).

5. מחיקה מוחלטת של כל עותק של המפתח הישן

  • סרקו לוגים של CI/CD, build artifacts וארכיון גיבויים.
  • הריצו כלי סריקת סודות כגון Gitleaks או TruffleHog על היסטוריית ה-Git שלכם.

מפתח שדלף לא נעלם כשמוחקים את הקובץ מהשרת; הוא חי לנצח בידי מי שהוריד אותו. החלפה (Rotation) היא הדרך היחידה להפוך את הנתונים הגנובים לחסרי תועלת.

מעבר לתיקון: בניית תהליך (pipeline) בטוח יותר

  • סריקה אוטומטית – שלבו זיהוי סודות בכל pull request ובכל משימת CI.
  • ניהול הגדרות – אחסנו סודות בכספת ייעודית (למשל, HashiCorp Vault, AWS Secrets Manager) והזריקו אותם בזמן ריצה במקום להסתמך על קבצים סטטיים.
  • סקירת גישה – בצעו ביקורת תקופתית על אילו מפתחות Stripe פעילים ומהן ההרשאות שלהם.

פרקטיקות אלו מפחיתות את הסיכוי ששרת אחד שהוגדר באופן שגוי יחשוף את כל תשתית התשלומים.

מה לצפות בהמשך

קהילת האבטחה כבר מחפשת מפתחות חשופים נוספים תוך שימוש באותה מתודולוגיה. צפו לחשיפות נוספות בעוד סורקים אוטומטיים סורקים את הרשת עבור קבצי “/.env” המכילים אסימוני Stripe. Stripe עשויה להוציא הנחיות נוספות לגבי קצב החלפת מפתחות ולהמליץ על מפתחות מוגבלים עבור פעולות בסיכון גבוה.

שורה תחתונה

אם ניתן למשוך קובץ dotfile באמצעות דפדפן, מערכת התשלומים שלך כבר נפרצה – חסום את הקובץ, בצע רוטציה למפתח, ותכנן מחדש את תהליך העבודה לניהול סודות לפני שהונאה תפגע בספר החשבונות שלך.