OpenAI השיקה זה עתה את codex-security ל-GitHub – סורק הניתן להתקנה באמצעות npm שמבצע ניתוח בשלושה שלבים של מאגר (repository) ומנסה לתקן באגים באופן אוטומטי.

מה שההשקה מתעלמת ממנו הוא פגם עמוק יותר שדגמי עקיפת סנדבוקס (sandbox-bypass) מהעת האחרונה חשפו. חוקרים הראו שסוכנים (agents) הפועלים בתוך סביבות "נעולות" עבור כלים כמו Cursor, Codex CLI, Gemini CLI ו-Google Antigravity יכולים עדיין להימלט מההגנה המיועדת על ידי ניצול ממשקי הקישור שמחברים בין הסנדבוקס למערכת המארחת (host system). הסורק החדש של OpenAI אינו נוגע במשטח התקיפה הזה.

איך העקיפות עובדות

הסוכנים נשארים בתוך הקונטיינרים שלהם, אך כל מה שהם כותבים לדיסק זוכה מיד לאמון מצד עוזרים חיצוניים – git hooks, תוספי Python, Docker daemons ושירותים דומים. העוזרים הללו קוראים את הקבצים, מתייחסים אליהם כמקוריים, ומריצים אותם על המארח ללא בקשת אישור מהמשתמש.

  • Cursor אפשר לסוכן לרשום git hook שרץ מחוץ לסנדבוקס.
  • Codex CLI נכשל באימות פרמטרים בפקודות git, מה שפתח נתיב להרצה שרירותית.
  • מספר סוכנים קיבלו גישה ישירה ל-Docker socket, נקודת כניסה בעלת הרשאות גבוהות המאפשרת לקוד להרים קונטיינרים על מכונת המארח.
  • פגיעויות ב-DuneSlide מאפשרות לתוקף לדרוס את הרכיב שאוכף את הסנדבוקס, ובכך להסיר את החומה לחלוטין.

בכל מקרה, הניצול הגיע בשקט – תוצאת חיפוש באינטרנט או תגובה מכלי MCP (multi-choice-prompt) שהסוכן צרך. המטען הזדוני בוצע, נעלם, ומעולם לא הופיע בסריקת קוד סטטית.

למה הכלי של OpenAI מחטיא את המטרה

codex-security מתמקד ב-static analysis (ניתוח סטטי): הוא בוחן את קבצי המקור שאתם מבצעים להם commit, מסמן דפוסים לא מאובטנים ויכול לשכתב אותם באופן אוטומטי. הגישה הזו תופסת קוד רשלני או מסוכן לפני שהוא נשלח, אך היא סורקת את הקוד שאתם שולחים, בעוד שהתקיפות מתרחשות בסביבת ה-runtime של הסוכן עצמו.

עקיפות הסנדבוקס מראות שהסכנה האמיתית טמונה ב-runtime bridge (גשר הריצה) שבין סנדבוקס ה-AI לבין שאר שרשרת הכלים (toolchain) של המפתח. תוקף אינו צריך להזריק קוד זדוני למאגר; הוא רק צריך לשכנע את הסוכן שנמצא בסנדבוקס לכתוב קובץ שתהליך חיצוני יריץ מאוחר יותר.

מי מרוויח, מי מפסיד

  • מפתחים
  • ספקי כלים
  • OpenAI
  • תוקפים

מה הקהילה יכולה לעשות עכשיו

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

  • קבעו גרסאות סוכן (Pin agent versions) וקראו את רשימות השינויים (changelogs) לפני שדרוג. גרסאות חדשות עלולות לפתוח בטעות hook או socket חדש.
  • התייחסו ל-"clone and explore" כאל הרצת קוד לא ידוע. לעולם אל תפנו סוכן למאגר שאינכם שולטים בו ללא בידוד נוסף.
  • בצעו ביקורת (Audit) לכל כלי עזר (git hooks, תוספי Python, גישת Docker). אם כלי מסוים יכול לשנות ספרייה או symlink על בסיס פלט של סוכן, הניחו שניתן להפוך אותו לכלי נשק.
  • הסירו גישה ל-Docker socket מהסנדבוקס.
  • שאלו מה קורא מה. מיפו את זרימת הנתונים מהסנד