אנבידיה משיקה את OpenShell: סביבת ריצה מבודדת בקוד פתוח לסוכני AI אוטונומיים
אנבידיה פרסמה ב-GitHub את OpenShell, סביבת ריצה בקוד פתוח שמריצה כל סוכן AI בארגז חול (sandbox) מבודד. הסביבה אוכפת ברמת הקרנל מדיניות גישה לקבצים, לקריאות מערכת ולרשת. שינויים במדיניות נבדקים באימות פורמלי לפני שהם נכנסים לתוקף, והסוכנים לא רואים אף פעם את פרטי ההזדהות האמיתיים.
אנבידיה פרסמה את OpenShell, פרויקט בקוד פתוח שהיא מגדירה "סביבת ריצה בטוחה ופרטית לציים של סוכני AI אוטונומיים". הרעיון פשוט: כל סוכן רץ בתוך ארגז חול (sandbox) מבודד, המפתח כותב במסמך מדיניות (policy) למה מותר לסוכן לגשת, ו-OpenShell אוכפת את ההגבלות האלה בזמן אמת.
הבעיה שהפרויקט מנסה לפתור
לפי דף הפרויקט, סוכנים מועילים במיוחד כשהם יכולים לקרוא קבצים, להתקין חבילות תוכנה, לקרוא ל-API ולהשתמש בפרטי הזדהות (credentials). אבל היכולות האלה הן גם מקור הסיכון. סוכן עם גישה חופשית למחשב יכול להגיע לנתונים, לסודות או לרשת בלי שהתכוונו לתת לו את זה. OpenShell נועדה לתת לסוכנים את היכולות האלה בלי לפתוח להם גישה בלתי מוגבלת.
איך זה עובד
לפי התיעוד, המערכת שולטת בסוכנים בשתי דרכים:
- אכיפה ברמת הקרנל: הקרנל הוא ליבת מערכת ההפעלה. מנגנונים שפועלים בו מגבילים לאילו קבצים הסוכן יכול לגשת ואילו קריאות מערכת הוא יכול לבצע. כל חיבור רשת עובר בדיקת מדיניות לפני שהוא יוצא מארגז החול. הסוכנים לא רואים את פרטי ההזדהות האמיתיים: OpenShell מוסיפה אותם רק לבקשות שנשלחות לכתובות מאושרות.
- אימות פורמלי של שינויי מדיניות: אימות פורמלי (formal verification) הוא שיטה מתמטית לבדוק מה מערכת תאפשר בפועל. לפני ששינוי מדיניות מאושר, OpenShell משתמשת בשיטה הזו כדי לסמן גישה חדשה ומסוכנת שהשינוי היה מעניק. דוגמאות לכך הן פנייה לשרת חדש עם פרטי הזדהות או קריאה לפעולת API חדשה. שינויים כאלה ממתינים לבדיקה של אדם.
המשמעות המעשית היא ככל הנראה שינוי בסדר הפעולות. במקום לסמוך על הסוכן ולבדוק בדיעבד מה עשה, ההרשאות מוגדרות מראש, וכל הרחבה שלהן עוברת דרך אישור אנושי.
דרישות והתקנה
הכלי רץ על Linux, על macOS במחשבי Apple Silicon, ועל Windows דרך WSL 2 (בשלב ניסיוני). נדרש גם Docker, Podman או וירטואליזציה של המחשב המארח. ההתקנה מגדירה ממשק שורת פקודה (CLI) ו-gateway מקומי, שמשמש כשכבת השליטה על ארגזי החול, על המדיניות ועל ההרשאות. ארגז החול שמוגדר כברירת מחדל הוא Ubuntu מינימלי בלי סוכן מותקן. במדריך הפתיחה מריצים את OpenCode מול מודל חינמי דרך OpenRouter, ולומדים לאשר גישה חדשה כשהסוכן צריך אותה.
לפרויקט יש ערכות פיתוח (SDK) ב-Python, ב-TypeScript, ב-Go וב-Rust. אפשר גם לפרוס את ה-gateway על Kubernetes באמצעות Helm. בנוסף, אנבידיה מציעה "skills", הוראות שמלמדות סוכני קוד להפעיל את ה-CLI, לכתוב מדיניות ולאתר תקלות. לפי הדף, הפרויקט עצמו מפותח "agent-first", כלומר באותן שיטות עבודה מבוססות סוכנים שהוא נועד לאפשר.
הגרסה הנוכחית היא מסדרה 0.1.x, ולפי ההודעה בדף היא מביאה קצב שחרור גרסאות יציב, מנגנוני בידוד חדשים, אפשרויות הרחבה נוספות ו-API חדשים.
טלמטריה ופרטיות
OpenShell אוספת טלמטריה אנונימית, כלומר נתוני שימוש, שמוגבלת לקטגוריות תפעוליות ולספירות. לפי התיעוד היא לא אוספת שמות של ארגזי חול, שמות מחשבים, נתיבי קבצים, הנחיות (prompts), פרטי הזדהות, שמות ספקים או מודלים, או תוכן של משתמשים. אפשר לכבות אותה בהגדרה OPENSHELL_TELEMETRY_ENABLED=false, או להוציא אותה מהקוד לגמרי בזמן ההידור (compile).
למה זה חשוב
סוכני AI עוברים בהדרגה ממענה לשאלות לביצוע פעולות: הם מריצים קוד, ניגשים לקבצים ופונים לשירותים חיצוניים. השאלה איך מגבילים אותם הופכת לכן לשאלה מרכזית עבור מי שמפעיל אותם. העובדה שאנבידיה מפרסמת כלי כזה בקוד פתוח מעידה ככל הנראה שהיא רואה בתשתית בידוד ובקרה לסוכנים שכבה נחוצה בשרשרת. הפרויקט הגיע גם לדיון בקהילת LocalLLaMA, שבה מפתחים שמריצים מודלים על המחשב שלהם. עם זאת, מדובר בגרסה מוקדמת. מידת היעילות של מנגנוני האבטחה תתברר רק כשישתמשו בהם בפועל.