FixVibe
Covered by FixVibehigh

API זליגת מפתח: סיכונים ותיקון באפליקציות אינטרנט מודרניות

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

CWE-798

השפעה

דליפת סודות כגון מפתחות, אסימונים או אישורים של API עלולה להוביל לגישה בלתי מורשית לנתונים רגישים, התחזות לשירות ואובדן כספי משמעותי עקב שימוש לרעה במשאבים [S1]. ברגע שסוד מחויב למאגר ציבורי או מצורף ליישום חזיתי, הוא צריך להיחשב כפגוע [S1].

סיבת שורש

הסיבה העיקרית היא הכללת אישורים רגישים ישירות בקוד המקור או בקבצי תצורה המחויבים לאחר מכן לבקרת גרסאות או מוגשים ללקוח [S1]. מפתחים קודמים לעתים קרובות מפתחות קשיחים לצורך נוחות במהלך הפיתוח או כוללים בטעות קבצי .env ב-commits שלהם [S1].

תיקוני בטון

  • סובב סודות שנפגעו: אם סוד דלף, יש לבטלו ולהחליפו מיד. פשוט הסרת הסוד מהגרסה הנוכחית של הקוד אינה מספיקה מכיוון שהוא נשאר בהיסטוריית בקרת הגרסה [S1][S2].
  • השתמש במשתני סביבה: אחסן סודות במשתני סביבה במקום לקודד אותם. ודא שקובצי .env מתווספים ל-.gitignore כדי למנוע התחייבויות מקריות [S1].
  • הטמיע ניהול סודי: השתמש בכלי ניהול סודות ייעודיים או בשירותי כספת כדי להחדיר אישורים לסביבת היישום בזמן הריצה [S1].
  • טהר היסטוריית מאגר: אם סוד היה מחויב ל-Git, השתמש בכלים כמו git-filter-repo או BFG Repo-Cleaner כדי להסיר לצמיתות את הנתונים הרגישים מכל הסניפים והתגים בהיסטוריית המאגר [S2].

כיצד FixVibe בודק את זה

FixVibe כולל כעת את זה בסריקות חיות. פסיבי secrets.js-bundle-sweep מוריד חבילות JavaScript מאותו מקור ומתאים לתבניות מפתח, אסימון ואישורים ידועים של API עם שערים של אנטרופיה ו-placeholder. בדיקות חיות קשורות בודקות אחסון דפדפן, מפות מקור, אימות וחבילות לקוח BaaS ותבניות מקור של GitHub. שכתוב היסטוריית Git נותר שלב תיקון; הסיקור החי של FixVibe מתמקד בסודות הקיימים בנכסים שנשלחו, אחסון דפדפן ותכני ריפו נוכחיים.