Melogixשירותי הנדסה
ופיתוח

מאמרים21 באוקטובר 20266 דק׳ קריאה

אבטחה לאפליקציה שנבנתה עם AI: מה לבדוק לפני שעולים לאוויר

§ 01המאמר

אפליקציה שנבנתה עם AI עובדת, אבל זה לא אומר שהיא מאובטחת. כלי כמו Lovable או Cursor כותבים קוד שנראה ופועל כמו שצריך, ובכל זאת משאירים פערים שמשתמש רגיל לא יראה ותוקף כן. לפני השקה כדאי לעבור על כמה נקודות קבועות.

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

למה אפליקציה שנבנתה עם AI דורשת בדיקת אבטחה

ה-AI מתמקד במה שביקשתם: שהכפתור יעבוד, שהמסך יוצג. הוא פחות עוסק במה שלא ביקשתם: מה קורה אם מישהו מנסה לגשת למשהו שלא מגיע לו. כשאין מי שחושב כמו תוקף, החורים נשארים.

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

רשימת בדיקה לפני השקה

1. מי רואה את הנתונים של מי

זו השאלה החשובה ביותר. אם יש באפליקציה כמה משתמשים או לקוחות, כל אחד צריך לראות רק את שלו. בדקו בעצמכם: התחברו עם שני משתמשים שונים וודאו שאין דליפה ביניהם.

2. הרשאות ברמת מסד הנתונים

באפליקציות רבות, כולל כאלה שנבנו ב-Lovable, הנתונים יושבים ב-Supabase. המפתח הציבורי שלו מיועד להיות גלוי בדפדפן, ולכן ההגנה האמיתית היא כללי הגישה ברמת הטבלאות (Row Level Security), שמגדירים מי יכול לקרוא ולכתוב. כללים חסרים או רחבים מדי הם אחת הבעיות הנפוצות באפליקציות כאלה, ובדיקה שלהם היא הדבר הראשון שאני עושה.

3. מפתחות וסיסמאות

מפתחות פרטיים (למשל מפתח של שירות AI, של סליקה או מפתח ניהול של מסד הנתונים) לא אמורים להופיע בקוד שרץ בדפדפן. בדקו שהם נשמרים בצד השרת, ושלא הדבקתם אותם בצ’אט או בקובץ שהועלה למאגר ציבורי. מפתח שנחשף צריך להיות מוחלף, לא רק להימחק.

4. התחברות וניהול משתמשים

  • האם יש הגבלה על ניסיונות התחברות חוזרים?
  • האם איפוס סיסמה בטוח?
  • האם משתמש רגיל יכול להפוך את עצמו למנהל?
  • האם הפעולות הרגישות דורשות אימות?

5. בדיקה בצד השרת

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

6. העלאת קבצים

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

7. תשלומים

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

8. כותרות אבטחה וחיבור מוצפן

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

9. תלויות וחבילות

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

10. גיבויים ושחזור

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

מה קורה כשמשהו חסר

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

איך בודקים בצורה שיטתית

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

כלי אוטומטי לא מחליף שיקול דעת. הוא מראה היכן להסתכל, ומהנדס מחליט מה באמת חשוב ואיך לתקן.

מתי כדאי בדיקה מקצועית

בדיקה מסודרת מומלצת במקרים האלה (ולפני שמחליטים, שווה לקרוא גם מתי צריך מהנדס):

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

אבטחה אינה פעולה חד פעמית

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

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

ומה עם חוק ופרטיות

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

שאלות נפוצות

האם אפליקציה שנבנתה עם AI פחות בטוחה מאפליקציה רגילה?

לא בהכרח, אבל היא נוטה להשאיר פערים שאף אחד לא בדק, כי איש לא עבר עליה בעין ביקורתית. אחרי בדיקה ותיקון היא יכולה להיות בטוחה לא פחות.

מה הדבר הכי חשוב לבדוק?

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

האם אפשר לסמוך על ה-AI שיבדוק את האבטחה בעצמו?

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

מתי הכי כדאי לבדוק אבטחה?

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

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

כתבו לי בוואטסאפ053-7836708