מדריך קלוד קוד בעברית

תיעוד 99

בחירת סביבת ארגז חול

השוואה בין אפשרויות ארגז החול של Claude Code: כלי ה-Bash המובנה בארגז חול, סביבת ההרצה של ארגז החול (sandbox runtime), קונטיינרים לפיתוח (dev containers), ‏Docker ומכונות וירטואליות (VMs). בחרו את הבידוד המתאים למודל האיומים שלכם.

בידוד של Claude Code מגביל את מה שהפעלה (session) יכולה לקרוא, לכתוב ולהגיע אליו ברשת. הדבר חשוב במיוחד כאשר אתם מאפשרים ל-Claude לעבוד עם פחות בקשות אישור (permission prompts), מריצים אותו ללא השגחה, או מכוונים אותו לקוד שאינכם סומכים עליו לחלוטין.

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

למודל האבטחה הרחב יותר, ראו אבטחה. עבור פריסות של Agent SDK, ראו פריסה מאובטחת.

#השוואת גישות ארגז חול

שתי הגישות הראשונות בטבלה להלן רצות על מערכת ההפעלה המארחת ללא קונטיינרים. השאר ממקמות את Claude Code בתוך קונטיינר או מכונה וירטואלית.

גישהמה מבודדדורש Dockerמאמץ הגדרה
כלי Bash בארגז חולפקודות Bash ותהליכי הבן שלהןלאמינימלי ב-macOS, נמוך ב-Linux וב-WSL2
סביבת הרצה של ארגז חול (Sandbox runtime)כל תהליך Claude Code, כולל כלי קבצים, שרתי MCP ו-hooksלאנמוך
קונטיינר פיתוח (Dev container)סביבת פיתוח מלאהכןבינוני
קונטיינר מותאם אישית (Custom container)סביבת פיתוח מלאהכןבינוני עד גבוה
מכונה וירטואלית (Virtual machine)מערכת הפעלה מלאהלאגבוה
Claude Code באינטרנט (Claude Code on the web)מערכת הפעלה מלאה, באירוח של Anthropicלאללא, דורש מנוי Claude, ו-GitHub בעת הפעלה מממשק האינטרנט

כלי ה-Bash בארגז חול מובנה בתוך Claude Code ומגביל רק פקודות Bash. כלי קבצים מובנים, שרתי MCP ו-hooks עדיין רצים ישירות על המחשב המארח שלכם. כל גישה אחרת בטבלה ממקמת את כל תהליך Claude Code בתוך גבול הבידוד, כך שגם כלי קבצים, שרתי MCP ו-hooks מוגבלים.

אזהרה: בידוד בארגז חול מקטין את ההשפעה של פריצה, אך אינו מבטל את הסיכון. כל גישה שמאפשרת יציאת רשת (network egress) עדיין יכולה להדליף נתונים שהסוכן יכול לקרוא, וכל גישה שממפה (mounts) את ספריית הפרויקט שלכם עם הרשאת כתיבה עדיין יכולה לשנות את הקוד הזה. עיינו ב-מגבלות האבטחה לפני שתסתמכו על ארגז חול כאמצעי בקרה קשיח.

בידוד גם אינו משנה את מה שנשלח למודל. הפניות שלכם (prompts) והקבצים ש-Claude קורא מועברים אל ה-API של Anthropic או אל הספק המוגדר שלכם, עם ארגז חול או בלעדיו. ראו שימוש בנתונים לגבי מה ש-Claude Code שולח וכיצד לצמצם זאת.

#בחירת גישה

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

אתם רוציםהתחילו עם
לצמצם בקשות אישור במהלך עבודה יומיומית במחשב שלכםכלי Bash בארגז חול, מוגדר באמצעות /sandbox
לאפשר ל-Claude לעבוד ללא השגחה עם --dangerously-skip-permissions או במצב אוטומטי (auto mode)קונטיינר פיתוח מוגדר מראש, כל קונטיינר או מכונה וירטואלית (VM), או סביבת ההרצה של ארגז החול
לבודד שרתי MCP ו-hooks כמו גם Bash, ללא Dockerסביבת ההרצה של ארגז החול (sandbox runtime)
לעבוד על מאגר קוד (repository) שאינו מהימןמכונה וירטואלית ייעודית, או Claude Code באינטרנט אם יש לכם מנוי Claude, חשבון GitHub נדרש רק כאשר מפעילים מממשק האינטרנט
לתקנן סביבה מבודדת בארגז חול בכל הצוותקונטיינר פיתוח מוגדר מראש, מועתק אל המאגר שלכם
להשתמש ב-Claude Code ממכשיר ללא הגדרה מקומיתClaude Code באינטרנט, הדורש מנוי Claude וחשבון GitHub מחובר
לדרוש בידוד עבור כל מפתח בארגון שלכםאכיפת בידוד בכל הארגון
לעבוד על מארח Windows מקומי (native)קונטיינר או מכונה וירטואלית (VM), או הרצת ארגז החול של Bash בתוך WSL2

#הקשר בין בידוד למצבי הרשאות

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

כאשר אתם מעבירים את הדגל --dangerously-skip-permissions, ‏Claude פועל מבלי לשאול אתכם תחילה. הפעולות שאף מצב אינו מאשר אוטומטית עדיין חלות.

ללא בקשות אישור שיתפסו שגיאות, גבול הבידוד שתבחרו הוא מה שמגן על המערכת שלכם. תמיד הריצו הפעלות עם --dangerously-skip-permissions בתוך קונטיינר, מכונה וירטואלית (VM), או בתוך סביבת ההרצה של ארגז החול, כדי שכלי קבצים, שרתי MCP ו-hooks יהיו גם הם בתוך הגבול. ב-Linux וב-macOS, ‏Claude Code מסרב להתחיל עם דגל זה כאשר הוא רץ כמשתמש root, לכן הריצו את הקונטיינר, ה-VM או סביבת ההרצה של ארגז החול כמשתמש שאינו root.

מצב אוטומטי (Auto mode) מחליף את בקשת האישור בממיין (classifier) שבודק פעולות. הממיין הוא אמצעי בקרה לכל פעולה בנפרד, ולא גבול בידוד, ולכן גבול בידוד עדיין מוסיף הגנה לעומק (defense in depth) עבור הפעלות ללא השגחה, ואינו נדרש באותו אופן כפי שהוא נדרש עבור --dangerously-skip-permissions.

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

#כלי Bash בארגז חול

הערה: אפשרות זו אינה תומכת ב-Windows מקומי (native). במחשבי Windows מארחים, השתמשו ב-WSL2 או באחת מגישות הקונטיינרים או המכונות הווירטואליות להלן.

כלי ה-Bash בארגז חול מובנה בתוך Claude Code. הוא משתמש ברכיבי יסוד (primitives) של מערכת ההפעלה כדי להגביל את הגישה למערכת הקבצים ולרשת של כל פקודת Bash ש-Claude מריץ.

הריצו את הפקודה /sandbox כדי לפתוח את לוח ארגז החול ולבחור מצב. המדריך ארגז חול מכסה את מצבי האישור, את גבול ברירת המחדל, וכיצד להרחיב או להצר אותו.

ארגז החול הפועל ברמת הפקודה אינו מכסה את כל מה שרץ בהפעלה:

  • כלים מובנים אחרים כגון Read, Edit ו-WebFetch רצים בתוך תהליך Claude Code ואינם מפעילים קוד שרירותי. כללי הרשאות עבור נתיב או דומיין מווסתים אותם במקום זאת.
  • שרתי MCP ו-hooks הם תהליכים נפרדים שרצים ללא הגבלה על המחשב המארח.

כדי להציב כלים מובנים, שרתי MCP ו-hooks יחד מאחורי גבול מערכת הפעלה יחיד, הריצו את כל תהליך Claude Code בתוך סביבת ההרצה של ארגז החול, קונטיינר הפיתוח, או קונטיינר מותאם אישית.

#סביבת הרצה של ארגז חול

החבילה @anthropic-ai/sandbox-runtime עוטפת תהליך שלם באותו בידוד Seatbelt או bubblewrap שבו משתמש ארגז החול המובנה של Bash. הרצת Claude Code דרך סביבת ההרצה מגבילה כל כלי, hook ושרת MCP בהפעלה, לא רק את Bash. סביבת ההרצה היא תצוגה מקדימה מחקרית בגרסת בטא (beta research preview), ומבנה התצורה שלה עשוי להשתנות ככל שהחבילה תתפתח.

סעיף זה מכסה את מה שאתם מגדירים ואת מה שסביבת ההרצה אוכפת בעצמה. להפעלת סביבת ההרצה ביישומי Agent SDK, ראו את מדריך הפריסה המאובטחת.

#הגדרה והפעלה של סביבת ההרצה

ב-Linux וב-WSL2, סביבת ההרצה מסתמכת על אותן חבילות bubblewrap ו-socat כמו ארגז החול המובנה, בתוספת ripgrep, שאותה Claude Code כולל בחבילה שלו אך סביבת ההרצה העצמאית מאתרת מתוך ה-PATH שלכם. התקינו את bubblewrap ואת socat כפי שמתואר בסעיף הגדרת Linux ו-WSL2, ואת ripgrep ממנהל החבילות של ההפצה שלכם. ב-macOS אין צורך בחבילות נוספות. סביבת ההרצה משתמשת שם בארגז החול המובנה Seatbelt.

כברירת מחדל סביבת ההרצה חוסמת גישה לרשת ומגבילה פעולות כתיבה לקבוצה קטנה של נתיבי הרצה מובנים, לכן הגדירו אותה לפני הפעלת Claude Code דרכה. הניחו את התצורה שלכם ב-~/.srt-settings.json, או בקובץ שאתם מעבירים עם --settings. קובץ ה-README של החבילה מתעד את סכמת התצורה המלאה.

אפשרו גישת כתיבה לפחות אל:

  • ספריית הפרויקט שלכם.
  • נתיבי התצורה של Claude Code: ‏~/.claude ו-~/.claude.json.
  • /tmp, שבו Claude Code כותב קובצי זמן ריצה.

אפשרו את דומייני הרשת שההפעלה שלכם צריכה:

  • api.anthropic.com, או נקודת הקצה (endpoint) של הספק המוגדר שלכם. בספק צד שלישי, השאירו גם את api.anthropic.com: בדיקת בטיחות הדומיין של WebFetch עדיין קוראת לו כברירת מחדל אלא אם הגדרתם skipWebFetchPreflight: true.
  • claude.ai ו-platform.claude.com, הנדרשים עבור התחברות OAuth ורענון טוקן. הפעלות המאומתות באמצעות מפתח API יכולות לוותר על שני אלה.

ב-Linux וב-WSL2, סביבת ההרצה מחילה הרשאות כתיבה רק על נתיבים שכבר קיימים. בסביבה חדשה, צרו את נתיבי התצורה של Claude Code לפני ההפעלה הראשונה:

mkdir -p ~/.claude && echo '{}' > ~/.claude.json

לאחר שקובץ ההגדרות נמצא במקומו, הפעילו את Claude Code באמצעות npx והעבירו את claude כפקודה לעטיפה:

npx @anthropic-ai/sandbox-runtime claude

‏Claude Code מופעל בתוך ארגז החול עם גבולות מערכת הקבצים והרשת שהגדרתם. אותה פקודה פועלת גם להפעלת שרתי MCP עצמאיים או תהליכי עזר אחרים בתוך ארגז חול.

#מה שסביבת ההרצה חוסמת בעצמה

סביבת ההרצה חוסמת את פעולות הכתיבה בעלות הסיכון הגבוה ביותר ללא כל הגדרה מצדכם:

  • ל-denyWrite יש עדיפות על פני allowWrite.
  • בשורש הפרויקט, סביבת ההרצה חוסמת את .git/hooks, חוסמת את .git/config אלא אם הגדרתם filesystem.allowGitConfig: true, וחוסמת את .mcp.json, .claude/commands, .claude/agents וקובצי הפעלה של המעטפת (shell startup files).
  • ב-macOS, חסימות אלו נבדקות בעת ביצוע כתיבה, ולכן הן מכסות גם קבצים מקוננים ומאגרים שנוצרו במהלך ההפעלה.
  • ב-Linux וב-WSL2, סביבת ההרצה בונה את רשימת החסימות פעם אחת בעת ההפעלה. היא מכסה באופן מהימן את שורש הפרויקט, מבצעת סריקה שטחית בשיטת מיטב המאמצים (best-effort) עבור עותקים מקוננים שקיימים באותה נקודת זמן, ואינה מכסה שום דבר שההפעלה יוצרת מאוחר יותר, כגון git init, git clone או פיגום קוד (scaffolding). הסעיף mandatoryDenySearchDepth בקובץ ה-README מתאר את הסמנטיקה המדויקת של הסריקה.
  • ללא קובץ ~/.srt-settings.json תקין, סביבת ההרצה מתחילה בכל זאת, חוסמת גישה לרשת, ומגבילה כתיבה לנתיבי הרצה מובנים כגון /tmp/claude, ~/.npm/_logs ו-~/.claude/debug. אל תראו בהפעלה נקייה הוכחה לכך שההגדרות שלכם נטענו.
  • כאשר אתם מעבירים את --settings, סביבת ההרצה מסרבת להתחיל אם הקובץ נכשל בטעינה.

הרשאות הכתיבה שלכם עדיין כוללות נתיבים אחרים שמהם Claude Code טוען תצורה, לכן חסמו אותם באמצעות denyWrite. הפעלה בארגז חול שיכולה לכתוב אליהם מסוגלת לקבע (persist) שרתי MCP, כללי הרשאות או hooks שירוצו ללא ארגז חול בפעם הבאה שתפעילו את Claude Code.

#לאחר הפעלות ללא השגחה

בדקו את הנתיבים שהשארתם פתוחים לכתיבה. ב-Linux וב-WSL2, בדקו גם כל מה שההפעלה יצרה.

#קונטיינרים לפיתוח

קונטיינר פיתוח (dev container) מריץ את Claude Code בתוך קונטיינר Docker המנוהל על ידי VS Code או עורך תואם, כאשר הפרויקט שלכם ממופה פנימה. באפשרותכם להגדיר קונטיינר משלכם באמצעות ספריית .devcontainer/ במאגר שלכם.

מאגר ה-claude-code מפרסם קונטיינר פיתוח לדוגמה עם חומת אש מסוג iptables שחוסמת כברירת מחדל (default-deny) כנקודת התחלה. העתיקו אותו אל המאגר שלכם והתאימו את רשימת ההיתרים של חומת האש, את תמונת הבסיס (base image), ואת הגרסה המקובעת של Claude Code כדי להתאים לסביבה שלכם. מכיוון שחומת האש חוסמת תעבורת יציאה (egress) שאינה מאושרת, תצורה כזו תומכת בהרצת Claude Code עם --dangerously-skip-permissions עבור עבודה ללא השגחה.

#קונטיינר מותאם אישית

באפשרותכם להריץ את Claude Code בכל תמונת קונטיינר של Docker או OCI עם מדיניות רשת, אמצעי אחסון ממופים (mounted volumes) ופרופילי seccomp משלכם. זהו הנתיב הנפוץ ביותר עבור ארגונים עם תשתית קונטיינרים קיימת או מריצי CI.

כמה שירותי ארגז חול מנוהלים ושירותי הרצה מרחוק יכולים לארח את הקונטיינר עבורכם. אותה רשימת בדיקה חלה כמו עבור כל קונטיינר שאתם מפעילים: בדקו מה ממופה עם הרשאת כתיבה, אילו אישורים (credentials) וטוקנים נגישים בתוכו, ומה מתירה מדיניות יציאת הרשת (network egress).

ניתן לשלב בשכבות את ארגז החול המובנה של Bash בתוך הקונטיינר לקבלת הגבלות ברמת הפקודה. קונטיינרים ללא הרשאות מיוחדות (unprivileged containers) זקוקים להגדרת ארגז החול המקונן (nested sandbox) המתוארת בסעיף פתרון בעיות בארגז חול.

#מכונה וירטואלית

מכונה וירטואלית ייעודית מספקת את ההפרדה החזקה ביותר, עם ליבה (kernel) משלה, ובפריסות ענן או microVM, חומרה וירטואלית משלה. האפשרויות כוללות מופעי ענן (cloud instances), מנהלי מכונות וירטואליות מקומיים (hypervisors), ו-microVMs כגון Firecracker. השתמשו בגישה זו כאשר אתם מעריכים קוד שאינו מהימן, כאשר מדיניות האבטחה שלכם דורשת הפרדה ברמת הליבה בין הסוכן למחשב המארח, או כאשר אף גישה ברמת המארח אינה עומדת בדרישות התאימות (compliance) שלכם.

Docker Sandboxes מספק microVM עם תהליך רקע של Docker וסנכרון סביבת עבודה משלו, שיכול להריץ את Claude Code על גבי כל מחשב מארח שבו מותקן Docker Sandboxes. זהו מוצר עצמאי וחינמי מבית Docker שאינו דורש את Docker Desktop.

#Claude Code באינטרנט

Claude Code באינטרנט מריץ כל הפעלה במכונה וירטואלית מבודדת המנוהלת על ידי Anthropic. פרוקסי רשת אוכף רשימת היתרים המוגדרת כברירת מחדל, ופרוקסי נפרד מחזיק את טוקן ה-GitHub שלכם מחוץ לארגז החול תוך הנפקת אישורים מוגבלי היקף (scoped credentials) לגישה למאגר בתוכו. הפעלות שהארגון שלכם מנתב אל סביבה באירוח עצמי רצות במקום זאת על גבי תשתית שאתם מקצים, שבה בידוד, בקרת יציאת רשת (egress) ואישורי git הם באחריות הפריסה שלכם.

השתמשו בגישה זו כאשר אתם רוצים בידוד VM מלא מבלי להקצות תשתית בעצמכם, או כאשר אתם מאצילים משימות ממכשיר שאין בו סביבת פיתוח מקומית. הדבר דורש מנוי Claude. כאשר אתם מפעילים הפעלה מממשק האינטרנט, אתם צריכים גם חשבון GitHub מחובר כדי שארגז החול יוכל לשכפל (clone) את המאגר שלכם. כאשר אתם מפעילים משורת הפקודה עם --cloud, ‏Claude Code יכול לארוז ולהעלות את המאגר המקומי שלכם במקום זאת אם GitHub אינו מחובר. ראו Claude Code באינטרנט לגבי זמינות בתוכניות ואפשרויות אימות של GitHub.

#אכיפת בידוד בכל הארגון

מפתחים בודדים יכולים לבחור בכל אחת מגישות ארגז החול בדף זה. מה שארגון יכול לאכוף, ובאילו כלים, תלוי בגישה:

  • ארגז החול המובנה של Bash: הגישה היחידה ש-Claude Code אוכף בעצמו. העבירו את מפתחות ההגדרות של sandbox דרך הגדרות מנוהלות, כקובץ המנוהל על ידי ה-MDM שלכם או דרך הגדרות מנוהלות שרת ב-Claude.ai. ראו אכיפת ארגז חול באמצעות הגדרות מנוהלות לגבי המפתחות לפריסה וכיצד למנוע ממפתחים להרחיב את המדיניות.
  • קונטיינרים לפיתוח (Dev containers): בצעו commit של קונטיינר הפיתוח לדוגמה אל המאגרים שלכם כדי לתקנן את הסביבה בכל הצוות. זוהי מוסכמה ולא גבול אכיפה, מכיוון ש-Claude Code אינו מחייב קונטיינר. אם אין לאפשר למפתחים להריץ את Claude Code מחוצה לו, אכפו זאת באמצעות כלי ניהול המכשירים של הארגון או כלי רשימות היתרים לתוכנה (software allowlisting).
  • קונטיינרים מותאמים אישית ומכונות וירטואליות: הפיצו את Claude Code דרך התמונה המאושרת והשתמשו בכלי ניהול המכשירים או כלי רשימות ההיתרים לתוכנה של הארגון שלכם כדי למנוע התקנה מחוצה לה.

#ראו גם

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