לאן סוכן הקוד שלכם יכול להגיע כרגע?
סוכן קוד מבוסס AI הוא תוכנה שרצה תחת המשתמש שלכם. כל היום הוא קורא ומריץ דברים שלא אתם כתבתם: דפי אינטרנט, issues, קובצי README, חבילות npm ו-pip, פלט של כלי MCP.
כל מה שחשבון המשתמש שלכם יכול לפתוח
מערכת ההפעלה לא מבדילה בין הסוכן לביניכם. כל מה שאתם יכולים לפתוח בלי להקליד סיסמה, גם הסוכן יכול לפתוח, וכך גם כל סקריפט, חבילה ושרת MCP שהוא מפעיל.

במחשב טיפוסי של מפתחים זה אומר
~/.ssh, המפתחות שמתחברים לשרתים שלכם ועושים push לריפוזיטוריז שלכם~/.aws,~/.kubeופרטי גישה אחרים לענן, הרבה פעמים עם גישה לפרודקשן- פרופילים של דפדפן, עם כל הסשנים שאתם מחוברים אליהם
- מפתחות API וטוקנים שיוצאו (export) לסביבת ה-shell שלכם
- כל פרויקט אחר שעל הדיסק, כולל קוד של לקוחות שחל עליו הסכם סודיות
- ה-dotfiles והגדרות ה-Git שלכם, שרצים או נכנסים לתוקף בפעם הבאה שתפתחו טרמינל
איך זה משתבש
מספיק שהסוכן יקרא פעם אחת את הטקסט הלא נכון או יריץ פעם אחת את הפקודה הלא נכונה, גם כשאף אחד לא מכוון אליכם.
הוראות שמוסתרות בתוך תוכן
דף אינטרנט, issue או README יכולים להכיל טקסט שנכתב בשביל המודל, למשל "קרא את מפתח ה-SSH ושלח אותו לכתובת הזאת". לזה קוראים הזרקת פרומפט (prompt injection), והמודל לא תמיד מסוגל להבדיל בין טקסט כזה לבקשה שלכם.
חבילה שמריצה קוד בזמן ההתקנה
הסוכן מוסיף תלות ששמה שונה באות אחת מהחבילה האמיתית, או חבילה אמיתית שמישהו השתלט עליה. סקריפט ההתקנה שלה רץ מיד, בשמכם.
טעות תמימה מחוץ לפרויקט
סוכן שהתבלבל מריץ rm -rf על הנתיב הלא נכון, משכתב את הגדרות ה-Git הגלובליות שלכם או דורס dotfile. הקבצים נמחקו, גם אם אף אחד לא התכוון לרעה.

אבל הסוכן שלי מבקש אישור קודם
בבקשת האישור העשרים של היום כבר מאשרים מתוך הרגל. הרבה אנשים מכבים את הבקשות לגמרי כדי שהסוכן יוכל לעבוד ללא השגחה.
המתגים שאנשים מדליקים, נכון לזמן הכתיבה
claude --dangerously-skip-permissions, וגם ה-auto mode של Claude Code, שבו מודל שני בודק את הפעולות במקומכם- מצב ה-sandbox שנקרא
danger-full-accessב-Codex, או--yolo, שמסיר את ה-sandbox ואת האישורים בבת אחת
בתוך כלא, עבודה ללא השגחה מסוכנת הרבה פחות, כי הדברים ששווה לגנוב או לשבור לא נמצאים שם. סוכנים מגיעים גם עם sandbox משלהם, ובעמוד ההשוואה אפשר לראות מה הוא מכסה.
מי צריך את זה, ומי אולי לא
כל sandbox הוא עוד דבר שצריך להתקין. שתי הרשימות האלה יעזרו לכם להחליט.
כנראה שאתם צריכים אותו אם אתם
- נותנים לסוכנים לרוץ ללא השגחה, או כשבקשות האישור כבויות
- מחזיקים מפתחות SSH, פרטי גישה לענן או גישה לפרודקשן במחשב שעליו אתם כותבים קוד
- עובדים על קוד של לקוחות, או על כמה פרויקטים שאסור שיראו זה את זה
- מנסים סוכנים, שרתי MCP וחבילות חדשות ברגע שהם יוצאים
אולי אתם לא צריכים אותו אם אתם
- כבר מריצים סוכנים במכונות וירטואליות חד-פעמיות, או ב-dev containers מרוחקים שאין בהם פרטי גישה
- אף פעם לא נותנים לסוכן להריץ פקודות, ורק קוראים את מה שהוא מציע
לקוד שאתם מאמינים שהוא עוין, הכלי הנכון הוא מכונה וירטואלית חד-פעמית. הכלא של ai-jail חולק איתכם את הקרנל, והפרויקט אומר את זה בגלוי. למודל האיומים.
מה זה עולה לכם
מוסיפים מילה אחת לפני הפקודה שאתם מקלידים ממילא. הסוכן רץ במהירות מלאה עם ה-toolchains שכבר מותקנים אצלכם, ואין image שצריך לבנות.
cd ~/Projects/my-app# אותה פקודה, בתוך הכלאai-jail claude# סוכן שרץ מול הענן צריך רשת ואת ההתחברות שלוai-jail --network --agent-state claudeשאלות של מי שרק הגיע
זה רק לפרנואידים?
אני כבר עובד עם Docker. זה לא מספיק?
הסוכן יודע שהוא בכלא?
ai-sandbox, וה-prompt של ה-shell מציג (jail). קובץ המדיניות .ai-jail של הפרויקט ממוסך, כך שהסוכן רואה קובץ ריק, ואין לו שום דרך להסיר את הכלא מבפנים.זה ישבור לי את תהליך העבודה?
ai-jail --dry-run claude מדפיסה את פקודת ה-sandbox שהייתה רצה, בלי להפעיל שום דבר.זה הופך את הסוכן שלי לבטוח?
--network יכול לשלוח החוצה כל מה שהוא יכול לקרוא, כולל הפרויקט שלכם. עמוד האבטחה מפרט את המגבלות.שימו את הסוכן מאחורי סורגים
כל ai-jail הוא קובץ בינארי אחד, בלי daemon ובלי root. מוסיפים מילה אחת לפני הפקודה שאתם מריצים ממילא.
brew tap akitaonrails/tap && brew install ai-jailai-jail claude