Skip to Content

אבטחה

💡

Claude Code הוא כלי חזק עם גישה לקבצים, ל-terminal, ולאינטרנט. גישה גדולה = אחריות גדולה. ארבעה עקרונות לעבודה בטוחה.

1. סקרו Skills לפני התקנה

כל הSkills ב-skills.sh הן open source. לפני שמתקינים Skill של מישהו אחר:

# בדקו את ה-source code לפני התקנה
# ב-skills.sh תמצאו קישור לrepository

מה לחפש:

  • האם הSkill מריצה פקודות shell חשופות?
  • האם היא שולחת נתונים לשרת חיצוני?
  • כמה stars/downloads יש לה?

2. Hook לחסימת .env

אל תסמכו על הוראות טקסטואליות (“אל תיגע ב-.env”) — השתמשו ב-Hook דטרמיניסטי:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Read",
        "hooks": [
          {
            "type": "command",
            "command": "python ~/.claude/hooks/block-sensitive.py"
          }
        ]
      }
    ]
  }
}
# block-sensitive.py
import json, sys
 
data = json.load(sys.stdin)
path = data.get('tool_input', {}).get('file_path', '')
 
sensitive = ['.env', '.env.local', '.env.production', 'secrets.json']
if any(s in path for s in sensitive):
    print(json.dumps({
        "decision": "block",
        "reason": f"גישה לקובץ רגיש חסומה: {path}"
    }))
    sys.exit(0)
 
print(json.dumps({"decision": "approve"}))

3. התחילו עם הרשאות ברירת מחדל

💡

אל תתנו לClaude הרשאות מלאות מהיום הראשון. התחילו עם ברירות המחדל, ראו מה Claude עושה, ואז הרחיבו הרשאות בהתאם.

שבועגישה
שבוע 1ברירות מחדל — Claude מבקש אישור לפעולות
שבוע 2הוסיפו הרשאות ספציפיות שנדרשות
שבוע 3אישרו רק מה שאתם מבינים

4. Allowlist לצוות — settings.json

בעבודת צוות, הגדירו allowlist משותף:

{
  "permissions": {
    "allow": [
      "Bash(git *)",
      "Bash(npm run *)",
      "Read(**)",
      "Write(src/**)",
      "Write(tests/**)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Read(.env*)",
      "Write(.env*)"
    ]
  }
}

סיכום עקרונות אבטחה

עיקרוןמדוע
סקרו Skills לפני התקנהopen source אבל לא מבוקר
Hook לחסימת קבצים רגישיםדטרמיניסטי — לא תלוי ב-AI
הרשאות מינימליות בהתחלההבינו לפני שאתם סומכים
Allowlist לצוותעקביות ושקיפות

לגבי --dangerously-skip-permissions

הדגל --dangerously-skip-permissions מבטל את כל בדיקות ההרשאות — Claude יכול לעשות הכל בלי לשאול. אפשר להשתמש בו על אחריותכם אם באמת נמאס לכם מאישורים חוזרים, גם אחרי שהגדרתם allowlist ב-settings.

השתמשו רק בסביבת פיתוח מקומית, אף פעם לא ב-production. בלי sandbox מבודד, הדגל הזה חושף אתכם לאובדן נתונים, שגיאות מערכת, או prompt injection. מומלץ לשלב עם sandboxing אם אפשר.

מה לא לעשות

  • אל תשתמשו ב---dangerously-skip-permissions ב-production או על שרתים
  • אל תשמרו API keys בקבצים שClaude קורא
  • אל תאשרו פקודות Bash שאתם לא מבינים
  • אל תתקינו Skills ממקורות לא מוכרים
📖

לתיעוד הרשמי המלא: Permissions — Claude Code Docs