dror בואו נדבר

בניתי תוכנה עם AI. איך בודקים שהיא מאובטחת?

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

מרדכי וורנר28.10.20262 דקות קריאה

כלי AI כמו Claude, ChatGPT, Cursor ו-Codex מאפשרים היום לבעל עסק לבנות מערכת שעובדת תוך ימים. הבעיה היא ש"עובד" ו"מאובטח" הם שני דברים שונים. המדריך הזה מסביר מה בדרך כלל נשבר, ואיך בודקים את זה.

למה קוד שנכתב עם AI צריך בדיקה מיוחדת

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

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

7 הבעיות הנפוצות ביותר

  1. סודות בתוך הקוד. סיסמאות, מפתחות API ופרטי התחברות למסד הנתונים שנכתבו ישירות בקבצים, ולפעמים גם עלו ל-GitHub.
  2. בדיקת הרשאות חסרה. משתמש רגיל יכול לראות נתונים של לקוח אחר רק משינוי מספר בכתובת, למשל מ-/orders/15 ל-/orders/16.
  3. מצב פיתוח פתוח באוויר. הגדרות כמו DEBUG=True שחושפות את מבנה המערכת, נתיבים ולפעמים גם מידע רגיש בכל שגיאה.
  4. ספריות ישנות עם פרצות ידועות. ה-AI מתקין גרסאות שהוא מכיר, לא בהכרח את האחרונות.
  5. מסד נתונים חשוף לאינטרנט. פורט פתוח שמאפשר לכל אחד לנסות להתחבר ישירות לבסיס הנתונים.
  6. העלאת קבצים לא מוגבלת. טפסים שמאפשרים להעלות כל סוג קובץ, כולל קבצים שיכולים להריץ קוד על השרת.
  7. אין גיבוי מופרד. אם מישהו פורץ ומצפין את השרת (מתקפת כופר), הגיבוי היחיד נמצא על אותו שרת ונעלם יחד איתו.

איך בודקים: שלוש שכבות

שכבה 1: בדיקות אוטומטיות

שכבה 2: בדיקה ידנית של ההרשאות

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

שכבה 3: בדיקה שוטפת

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

מה עושים כבר היום

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

שאלות נפוצות

האם קוד שנכתב עם AI פחות מאובטח מקוד שכתב מתכנת?

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

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

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

מספיק לבדוק פעם אחת?

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

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