כלא לסוכן הקוד שלכם
הכלי ai-jail מריץ את Claude Code, את Codex וסוכני קוד אחרים מבוססי AI בתוך sandbox של מערכת ההפעלה, ב-Linux וב-macOS. הפרויקט נשאר פתוח לכתיבה. הקבצים ופרטי הגישה שלכם נשארים מחוץ להישג יד, מלבד ההתחברות של הסוכן שהפעלתם.
ai-jail claudeתנו לסוכן את הפרויקט, לא את המחשב כולו. ai‑jail הופך את הגבול הזה לממשי.
איך סוכן טוב יוצא מהפסים
כל היום הסוכן קורא טקסט שלא אתם כתבתם: דפי אינטרנט, issues, קובצי README, חבילות. מספיק דף אחד עם הוראות מוסתרות בתוכו, והסוכן לא צריך להיות עוין כדי לציית להן.
↔ החליקו לצדדים כדי לראות את התרשים המלא
הסוכן רץ בשמכם
סוכן קוד הוא תוכנה שרצה תחת חשבון המשתמש שלכם. וכך גם כל סקריפט, חבילה ושרת MCP שהוא מפעיל; שרת MCP הוא תוכנת עזר שנותנת לסוכן כלים נוספים. כולם יכולים לפתוח כל מה שאתם יכולים לפתוח.
מריצים אותו דרך ai-jail
כותבים
ai-jailלפני הפקודה. הסוכן עולה בתוך namespaces משלו, והפרויקט שלכם מעוגן (mount) באותו נתיב.תיקיית הבית לא מעוגנת
הסוכן מקבל תיקיית בית חדשה וריקה. מפתחות SSH (הקבצים שמחברים אתכם לשרתים שלכם), פרטי גישה לענן, פרופילים של דפדפן והפרויקטים האחרים שלכם לא קיימים שם.
סודות, רשת והתקנים סגורים
ai-jail מצמצם את משתני הסביבה לרשימת היתרים, כך שסודות ה-shell שלכם נשארים ב-shell. הרשת סגורה, חוץ מה-host של ה-API של הסוכן עצמו, וב-Linux גם ה-registries של החבילות שה-toolchains שלכם מושכים מהם. ה-socket של Docker, המסך ולוח ההעתקה כבויים.
פותחים את מה שהמשימה צריכה
Claude Code, Codex, Gemini, Grok ו-Devin עולים מחוברים ומגיעים ל-host של ה-API שלהם. דגל, אפשרות שמקלידים אחרי
ai-jail, פותח יותר:--allow-hostמוסיף hosts,--networkפותח את הכול.
החומה מקיפה את כל ה-harness
סוכנים שמגיעים עם sandbox משלהם שמים אותו סביב הפקודות שהמודל מריץ. תהליך הסוכן, כלי הקבצים שלו, שרתי ה-MCP שלו וה-hooks שלו (סקריפטים שהסוכן מריץ ברגעים קבועים) נשארים בחוץ, תחת החשבון שלכם. ai-jail מעלה את כולם בפנים. בקשת אישור שואלת בן אדם, ובן אדם אפשר להלחיץ או להטעות. sandbox שואל את הקרנל, הליבה של מערכת ההפעלה, והקרנל נותן את אותה תשובה בכל פעם.
↔ החליקו לצדדים כדי לראות את התרשים המלא
מה מקבלים בלי שום הגדרה
כל מה שמגיע למחשב שלכם כבוי עד שמדליקים אותו, חוץ מההתחברות של הסוכן עצמו, ה-host של ה-API שלו, ה-toolchains שלכם (ב-Linux) וה-registries של החבילות שלהם, ולכל אחד מהם יש מתג --no-. כתיבות מחוץ לפרויקט נשמרות בזיכרון ונעלמות בסוף הסשן.
בתוך הכלא
- הפרויקט שלכם, לקריאה וכתיבה, בנתיב האמיתי שלו
- ה-toolchains שלכם, לקריאה בלבד, עם cache ששייך לכלא (Linux)
- ההתחברות של הסוכן עצמו, למשל
~/.claude, כדי שהוא יעלה מחובר - ה-host של ה-API של סוכן מוכר, וב-Linux גם ה-registries של החבילות
- תיקיית בית חדשה ותיקיית
/tmpפרטית
מחוץ להישג יד
~/.ssh,~/.aws,~/.gnupg, פרופילים של דפדפן- סודות ה-shell שלכם, חוץ ממפתח ה-API של הסוכן עצמו
- תהליכים אחרים, IPC של המארח,
ptraceו-bpf
כבוי עד שתבקשו
--allow-hostל-hosts נוספים,--forward-portלשירות מקומי אחד,--networkלכל הרשת--ssh,--gpu,--display,--dockerועוד
ai-jail הוא תוכנה קטנה אחת, בלי daemon ובלי root. ב-Linux הוא בונה את החומות מיכולות של הקרנל: bubblewrap ל-namespaces ולעיגונים, ועוד Landlock, seccomp ומגבלות משאבים כשהקרנל מספק אותם. ב-macOS הוא מתרגם את מה שהפלטפורמה תומכת בו לפרופיל sandbox-exec דק יותר. הסוכן משתמש בקומפיילרים וב-runtimes שכבר על המחשב שלכם, וכברירת מחדל קובץ .ai-jail בתוך ריפוזיטורי יכול רק להדק את הכלא, לעולם לא לפתוח אותו.
השאלות ששואלים קודם
זה מאט את הסוכן?
באילו סוכנים זה תומך?
ai-jail bash פותח לכם shell בתוך הכלא כדי להסתכל מסביב.זה עובד ב-Windows?
הסוכן שלי צריך אינטרנט. הכלא עדיין מועיל?
--allow-host מוסיף את ה-hosts שתציינו. גם אם במקום זה --network דלוק, הסוכן יכול לקרוא רק את הפרויקט שלכם, כך שהמפתחות ושאר תיקיית הבית לא נמצאים שם ואין מה לשלוח. מה שהוא יכול לקרוא, הוא יכול גם לשלוח, ולכן חשוב למסך סודות שנמצאים בתוך הפרויקט. כך ממסכים אותם.זה בחינם?
שימו את הסוכן מאחורי סורגים
כל ai-jail הוא קובץ בינארי אחד, בלי daemon ובלי root. מוסיפים מילה אחת לפני הפקודה שאתם מריצים ממילא.
brew tap akitaonrails/tap && brew install ai-jailai-jail claude