סקירה כללית
מדיניות מקובצות לקטגוריות:| קטגוריה | מדיניות | סוג Hook |
|---|---|---|
| פקודות מסוכנות | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
| סודות (sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
| סביבה | block-env-files, protect-env-vars | PreToolUse |
| גישת קבצים | block-read-outside-cwd, block-secrets-write | PreToolUse |
| Git | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
| בסיס נתונים | warn-destructive-sql, warn-schema-alteration | PreToolUse |
| אזהרות | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
| Workflow | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
block-— עצור את הסוכן מהמשך הביצוע.warn-— תן לסוכן הקשר נוסף כדי שיוכל להתקן את עצמו.sanitize-— נקה נתונים רגישים מפלט הכלי לפני ש-Claude רואה זאת.require-— חסום את ה-Stop event עד שמתקיימות תנאים.
פקודות מסוכנות
מנע סוכנים מהפעלת פעולות שקשה לבטל או שעלולות לפגוע במערכת האירוח.block-sudo
Event: PreToolUse (Bash)ברירת מחדל: דוחה כל פקודת
sudo.
חוסם קריאות שכוללות את מילת המפתח sudo. תיאום דפוסים נעשה על tokens פקודה מנותחים, לא על המחרוזת הגולמית, למניעת עקיפה דרך זריקת מפעיל shell.
פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
allowPatterns | string[] | [] | קידומות פקודה מדויקות המותרות. כל ערך מתואמת כנגד ה-argv tokens המנותחים. |
sudo systemctl status nginx מותר, אבל sudo rm /etc/hosts דחוי.
דפוסים מתואמים כנגד tokens מנותחים, לא כנגד מחרוזת הפקודה הגולמית. זה מונע עקיפה דרך אופרטורים shell מצורפים (למשל
sudo systemctl status x; rm -rf / לא מתואם ל-sudo systemctl status *).block-rm-rf
Event: PreToolUse (Bash)ברירת מחדל: דוחה
rm -rf, rm -fr וצורות מחיקה רקורסיביות דומות.
פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
allowPaths | string[] | [] | נתיבים בטוחים למחיקה רקורסיבית (למשל /tmp). |
block-curl-pipe-sh
Event: PreToolUse (Bash)ברירת מחדל: דוחה
curl <url> | bash, curl <url> | sh, wget <url> | bash ודפוסים דומים.
אין פרמטרים.
block-failproofai-commands
Event: PreToolUse (Bash)ברירת מחדל: דוחה פקודות שיבטלו או תפסיקו את failproofai עצמו (למשל
npm uninstall failproofai, failproofai policies --uninstall).
אין פרמטרים.
סודות (sanitizers)
מנע סוכנים מדליפת credentials להקשרם או לפלטם. מדיניות Sanitizer מופעלות על PostToolUse events. כאשר Claude מריץ פקודת Bash, קורא קובץ, או קורא לכל כלי, מדיניות אלה בודקות את הפלט לפני החזרתו ל-Claude. אם תבנית סוד מזוהה, המדיניות מחזירה החלטת deny שמונעת את הפלט מהעברה חזרה.sanitize-jwt
Event: PostToolUse (כל הכלים)ברירת מחדל: מחפה JWT tokens (שלוש segments base64url מופרדות ב-
.).
אין פרמטרים.
sanitize-api-keys
Event: PostToolUse (כל הכלים)ברירת מחדל: מחפה פורמטים נפוצים של API key: Anthropic (
sk-ant-), OpenAI (sk-), GitHub PATs (ghp_), AWS access keys (AKIA), Stripe keys (sk_live_, sk_test_), וGoogle API keys (AIza).
פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
additionalPatterns | { regex: string; label: string }[] | [] | דפוסי regex נוספים להתייחס אליהם כסודות. |
sanitize-connection-strings
Event: PostToolUse (כל הכלים)ברירת מחדל: מחפה מחרוזות חיבור בסיס נתונים המכילות credentials מוטבעים (למשל
postgresql://user:password@host/db).
אין פרמטרים.
sanitize-private-key-content
Event: PostToolUse (כל הכלים)ברירת מחדל: מחפה PEM blocks (
-----BEGIN PRIVATE KEY-----, -----BEGIN RSA PRIVATE KEY-----, וכו’).
אין פרמטרים.
sanitize-bearer-tokens
Event: PostToolUse (כל הכלים)ברירת מחדל: מחפה
Authorization: Bearer <token> headers כאשר ה-token הוא 20 תווים או יותר.
אין פרמטרים.
סביבה
הגן על תצורת סביבה רגישה מלהיקרא או חשוף ע”י סוכנים.block-env-files
Event: PreToolUse (Bash, Read)ברירת מחדל: דוחה קריאת קבצי
.env דרך cat .env, קריאות כלי Read עם .env כנתיב הקובץ, וכו’.
לא חוסם .envrc או קבצים סביביים אחרים - רק קבצים בשם בדיוק .env.
אין פרמטרים.
protect-env-vars
Event: PreToolUse (Bash)ברירת מחדל: דוחה פקודות שמדפיסות משתני סביבה:
printenv, env, echo $VAR.
אין פרמטרים.
גישת קבצים
שמור סוכנים לעבוד בתוך גבולות פרויקט ורחוק מקבצים רגישים.block-read-outside-cwd
Event: PreToolUse (Read, Bash)ברירת מחדל: דוחה קריאת קבצים מחוץ לספריית העבודה הנוכחית (שורש הפרויקט). פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
allowPaths | string[] | [] | קידומות נתיב מוחלט המותרות אפילו אם מחוץ ל-cwd. |
block-secrets-write
Event: PreToolUse (Write, Edit)ברירת מחדל: דוחה כתיבה לקבצים המשמשים בדרך כלל למפתחות פרטיים ותעודות:
id_rsa, id_ed25519, *.key, *.pem, *.p12, *.pfx.
פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
additionalPatterns | string[] | [] | דפוסי שם קובץ נוספים (glob-style) לחסימה. |
Git
מנע pushes, force-pushes, ושגיאות branch accidental שקשה לבטל.block-push-master
Event: PreToolUse (Bash)ברירת מחדל: דוחה
git push origin main ו-git push origin master.
פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | שמות branches שלא ניתן לדחוף אליהם ישירות. |
block-work-on-main
Event: PreToolUse (Bash)ברירת מחדל: דוחה checkout של branches
main או master ישירות.
פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | שמות branches שלא ניתן לבחור בהם ישירות. |
block-force-push
Event: PreToolUse (Bash)ברירת מחדל: דוחה
git push --force ו-git push -f.
אין פרמטרים ספציפיים למדיניות. השתמש ב-hint חוצה-חתך כדי להציע חלופות:
warn-git-amend
Event: PreToolUse (Bash)ברירת מחדל: הנחיה ל-Claude להמשיך בזהירות בעת הרצת
git commit --amend. לא חוסם את הפקודה.
אין פרמטרים.
warn-git-stash-drop
Event: PreToolUse (Bash)ברירת מחדל: הנחיה ל-Claude לאשר לפני הרצת
git stash drop. לא חוסם את הפקודה.
אין פרמטרים.
warn-all-files-staged
Event: PreToolUse (Bash)ברירת מחדל: הנחיה ל-Claude לבדוק מה הוא משכבע כאשר הוא מריץ
git add -A או git add .. לא חוסם את הפקודה.
אין פרמטרים.
בסיס נתונים
תפוס פעולות SQL הרסניות לפני שהן מבוצעות כנגד בסיס הנתונים שלך.warn-destructive-sql
Event: PreToolUse (Bash)ברירת מחדל: הנחיה ל-Claude לאשר לפני הרצת SQL המכיל
DROP TABLE, DROP DATABASE, או DELETE ללא WHERE clause.
אין פרמטרים.
warn-schema-alteration
Event: PreToolUse (Bash)ברירת מחדל: הנחיה ל-Claude לאשר לפני הרצת
ALTER TABLE statements.
אין פרמטרים.
אזהרות
תן לסוכנים הקשר נוסף לפני פעולות פוטנציאליות מסוכנות אך לא הרסניות.warn-large-file-write
Event: PreToolUse (Write)ברירת מחדל: הנחיה ל-Claude לאשר לפני כתיבת קבצים גדולים מ-1024 KB. פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
thresholdKb | number | 1024 | סף גודל קובץ בקילובייטים שמעליו מוציאה אזהרה. |
ה-hook handler אוכף סדר גודל 1 MB stdin על payload. כדי לבדוק מדיניות זו עם תוכן קטן, קבע
thresholdKb לערך הרבה מתחת ל-1024.warn-package-publish
Event: PreToolUse (Bash)ברירת מחדל: הנחיה ל-Claude לאשר לפני הרצת
npm publish.
אין פרמטרים.
warn-background-process
Event: PreToolUse (Bash)ברירת מחדל: הנחיה ל-Claude להיות זהיר בעת הפעלת תהליכים ברקע דרך
nohup, &, disown, או screen.
אין פרמטרים.
warn-global-package-install
Event: PreToolUse (Bash)ברירת מחדל: הנחיה ל-Claude לאשר לפני הרצת
npm install -g, yarn global add, או pip install ללא סביבה וירטואלית.
אין פרמטרים.
התנהגות AI
בחן כאשר סוכנים תקועים או מתנהגים בצורה בלתי צפויה.warn-repeated-tool-calls
Event: PreToolUse (כל הכלים)ברירת מחדל: הנחיה ל-Claude להשקול מחדש כאשר אותו כלי נקרא 3+ פעמים עם אותם פרמטרים בדיוק - סימן נפוץ שהסוכן תקוע בלולאה. אין פרמטרים.
Workflow
אכוף workflow מובנה של סוף-תא. מדיניות אלה מופעלות על ה-Stop event ודוחות את Claude מהעצירה עד שכל תנאי נעמדים. הם עוקבים אחר שרשרת תלות טבעית: commit → push → PR → CI. אם מדיניות דוחה, מדיניות מאוחרות יותר בשרשרת דלוקות (deny short-circuits). כל מדיניות workflow היא fail-open: אם הכלי הנדרש לא זמין (למשלgh לא מותקן, אין git remote), המדיניות מתירה עם הודעת מידע המסבירה מדוע ההשפעה דלקה.
require-commit-before-stop
Event: Stopברירת מחדל: דוחה עצירה כאשר יש שינויים שלא שונו (modified, staged, או untracked files). מחזירה הודעת מידע כאשר ספריית העבודה נקייה. אין פרמטרים.
require-push-before-stop
Event: Stopברירת מחדל: דוחה עצירה כאשר יש commits שלא דחפו או כאשר ל-branch הנוכחי אין remote tracking branch. מציע
git push -u ליצור tracking branch במידת הצורך. נכשל פתוח אם אין remote מוגדר.
פרמטרים:
| Param | Type | ברירת מחדל | תיאור |
|---|---|---|---|
remote | string | "origin" | שם remote לדחיפה אליו. |
require-pr-before-stop
Event: Stopברירת מחדל: דוחה עצירה כאשר לא קיים pull request ל-branch הנוכחי, או כאשר ה-PR הקיים סגור/merged. הנחיה ל-Claude ליצור PR עם
gh pr create.
אין פרמטרים.
מדיניות זו דורשת GitHub CLI (
gh) להתקין ולהיות מואשר.
הריצו gh auth login עם personal access token שיש לו scope repo לקריאה pull requests. אם gh לא מותקן או לא מואשר, המדיניות נכשלת פתוח ומדווחת הסיבה ל-Claude.require-ci-green-before-stop
Event: Stopברירת מחדל: דוחה עצירה כאשר בדיקות CI נכשלות או עדיין פועלות ב-branch הנוכחי. בודק הן GitHub Actions workflow runs והן בדיקות bot של צד שלישי (למשל CodeRabbit, SonarCloud, Codecov). מתייחס ל-
skipped conclusions כהצלחה. מחזירה הודעת מידע כאשר כל הבדיקות עוברות.
אין פרמטרים.
מדיניות זו דורשת GitHub CLI (
gh) להתקין ולהיות מואשר.
הריצו gh auth login עם personal access token שיש לו scope repo לקריאה Actions workflow runs ו-Checks API. אם gh לא מותקן או לא מואשר, המדיניות נכשלת פתוח ומדווחת הסיבה ל-Claude.השבתת מדיניות בודדות
הסר מדיניות ספציפית מ-enabledPolicies בתצורה שלך, או בטל אותה בטאב Policies של הדashboard.
enabledPolicies לא פועלות, גם אם קיימות ערכי policyParams עבורן.
