failproofai 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0bo8s~-._.js → [root-of-the-server]__0lty_fo._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__03kiqd5._.js → [root-of-the-server]__0v1egkj._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{03oepxbqx6o8~.js → 0b2_069x5qnxg.js} +2 -2
- package/.next/standalone/.next/static/chunks/{02t9.s735hqyq.js → 0de3q2juhg_dr.js} +1 -1
- package/.next/standalone/.next/static/chunks/{18cl6wups7ouq.js → 0p5sfob-upg0g.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0h5kbvg~.xf.v.js → 0tw_xfxb1tto..js} +1 -1
- package/.next/standalone/.next/static/chunks/{0od..umlku4bb.js → 0uxpbrcv44lga.js} +1 -1
- package/.next/standalone/.next/static/chunks/0xjz3w.yw5tza.js +1 -0
- package/.next/standalone/.next/static/chunks/{0xbwzy4dl87-0.js → 0y-bi_mp2rv4l.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0cwft44dh9bww.js → 11zlh73ggln0w.js} +1 -1
- package/.next/standalone/CHANGELOG.md +5 -0
- package/.next/standalone/dist/cli.mjs +4 -8
- package/.next/standalone/docs/ar/built-in-policies.mdx +100 -129
- package/.next/standalone/docs/ar/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +10 -12
- package/.next/standalone/docs/built-in-policies.mdx +3 -30
- package/.next/standalone/docs/cli/install-policies.mdx +0 -1
- package/.next/standalone/docs/cli/remove-policies.mdx +0 -1
- package/.next/standalone/docs/de/built-in-policies.mdx +65 -92
- package/.next/standalone/docs/de/cli/install-policies.mdx +3 -4
- package/.next/standalone/docs/de/cli/remove-policies.mdx +3 -4
- package/.next/standalone/docs/docs.json +5 -0
- package/.next/standalone/docs/es/built-in-policies.mdx +66 -93
- package/.next/standalone/docs/es/cli/install-policies.mdx +4 -5
- package/.next/standalone/docs/es/cli/remove-policies.mdx +4 -5
- package/.next/standalone/docs/fr/built-in-policies.mdx +83 -110
- package/.next/standalone/docs/fr/cli/install-policies.mdx +11 -12
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +2 -3
- package/.next/standalone/docs/he/built-in-policies.mdx +131 -160
- package/.next/standalone/docs/he/cli/install-policies.mdx +14 -15
- package/.next/standalone/docs/he/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/hi/built-in-policies.mdx +168 -197
- package/.next/standalone/docs/hi/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/it/built-in-policies.mdx +83 -110
- package/.next/standalone/docs/it/cli/install-policies.mdx +12 -13
- package/.next/standalone/docs/it/cli/remove-policies.mdx +5 -6
- package/.next/standalone/docs/ja/built-in-policies.mdx +119 -146
- package/.next/standalone/docs/ja/cli/install-policies.mdx +12 -13
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +8 -9
- package/.next/standalone/docs/ko/built-in-policies.mdx +80 -107
- package/.next/standalone/docs/ko/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +2 -3
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +46 -73
- package/.next/standalone/docs/pt-br/cli/install-policies.mdx +5 -6
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +11 -12
- package/.next/standalone/docs/ru/built-in-policies.mdx +107 -132
- package/.next/standalone/docs/ru/cli/install-policies.mdx +10 -10
- package/.next/standalone/docs/ru/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/tr/built-in-policies.mdx +106 -131
- package/.next/standalone/docs/tr/cli/install-policies.mdx +14 -15
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +7 -8
- package/.next/standalone/docs/vi/built-in-policies.mdx +73 -100
- package/.next/standalone/docs/vi/cli/install-policies.mdx +17 -18
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +11 -12
- package/.next/standalone/docs/zh/built-in-policies.mdx +77 -104
- package/.next/standalone/docs/zh/cli/install-policies.mdx +4 -5
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +8 -9
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +0 -4
- package/dist/cli.mjs +4 -8
- package/package.json +1 -1
- package/src/hooks/builtin-policies.ts +0 -4
- package/.next/standalone/.next/static/chunks/0e2uz2g026ckb.js +0 -1
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_ssgManifest.js +0 -0
|
@@ -1,57 +1,57 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
3
|
-
description: "כל 30
|
|
2
|
+
title: מדיניות מובנות
|
|
3
|
+
description: "כל 30 מדיניות מובנות שתופסות מצבי כשל נפוצים של סוכנים"
|
|
4
4
|
icon: shield
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
failproofai מגיע עם 30
|
|
7
|
+
failproofai מגיע עם 30 מדיניות מובנות שתופסות מצבי כשל נפוצים של סוכנים. כל מדיניות מופעלת על סוג hook event ספציפי ושם כלי. תשע מדיניות קובלות פרמטרים שמאפשרים לך לכוונן את התנהגותן ללא כתיבת קוד. ארבע מדיניות workflow אוכפות צינור commit → push → PR → CI לפני שClaude עוצר.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## סקירה כללית
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
מדיניות מקובצות לקטגוריות:
|
|
14
14
|
|
|
15
|
-
| קטגוריה |
|
|
15
|
+
| קטגוריה | מדיניות | סוג Hook |
|
|
16
16
|
|----------|----------|-----------|
|
|
17
17
|
| [פקודות מסוכנות](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
18
|
-
| [סודות (
|
|
18
|
+
| [סודות (sanitizers)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
19
19
|
| [סביבה](#environment) | block-env-files, protect-env-vars | PreToolUse |
|
|
20
20
|
| [גישת קבצים](#file-access) | block-read-outside-cwd, block-secrets-write | PreToolUse |
|
|
21
21
|
| [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
|
|
22
|
-
| [
|
|
22
|
+
| [בסיס נתונים](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
|
|
23
23
|
| [אזהרות](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
|
|
24
|
-
| [Workflow
|
|
24
|
+
| [Workflow](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
25
25
|
|
|
26
|
-
- **`block-`** — עצור את הסוכן
|
|
27
|
-
- **`warn-`** — תן לסוכן הקשר נוסף
|
|
28
|
-
- **`sanitize-`** —
|
|
29
|
-
- **`require-`** — חסום את
|
|
26
|
+
- **`block-`** — עצור את הסוכן מהמשך הביצוע.
|
|
27
|
+
- **`warn-`** — תן לסוכן הקשר נוסף כדי שיוכל להתקן את עצמו.
|
|
28
|
+
- **`sanitize-`** — נקה נתונים רגישים מפלט הכלי לפני ש-Claude רואה זאת.
|
|
29
|
+
- **`require-`** — חסום את ה-Stop event עד שמתקיימות תנאים.
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
33
|
<Tip>
|
|
34
|
-
כל מדיניות תומכת בשדה `hint` אופציונלי ב-`policyParams`. ה-hint
|
|
34
|
+
כל מדיניות תומכת בשדה `hint` אופציונלי ב-`policyParams`. ה-hint מוצמד להודעת ה-deny או instruct ש-Claude רואה, מספק הדרכה מעשית ללא שינוי קוד מדיניות. עובד עם מדיניות מובנות, custom וconv. ראה [Configuration → hint](/he/configuration#hint-cross-cutting) לפרטים.
|
|
35
35
|
</Tip>
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
## פקודות מסוכנות
|
|
40
40
|
|
|
41
|
-
מנע סוכנים
|
|
41
|
+
מנע סוכנים מהפעלת פעולות שקשה לבטל או שעלולות לפגוע במערכת האירוח.
|
|
42
42
|
|
|
43
43
|
### `block-sudo`
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
**Event:** PreToolUse (Bash)
|
|
46
46
|
**ברירת מחדל:** דוחה כל פקודת `sudo`.
|
|
47
47
|
|
|
48
|
-
חוסם
|
|
48
|
+
חוסם קריאות שכוללות את מילת המפתח `sudo`. תיאום דפוסים נעשה על tokens פקודה מנותחים, לא על המחרוזת הגולמית, למניעת עקיפה דרך זריקת מפעיל shell.
|
|
49
49
|
|
|
50
50
|
**פרמטרים:**
|
|
51
51
|
|
|
52
|
-
| Param |
|
|
52
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
53
53
|
|-------|------|---------|-------------|
|
|
54
|
-
| `allowPatterns` | `string[]` | `[]` | קידומות פקודה
|
|
54
|
+
| `allowPatterns` | `string[]` | `[]` | קידומות פקודה מדויקות המותרות. כל ערך מתואמת כנגד ה-argv tokens המנותחים. |
|
|
55
55
|
|
|
56
56
|
**דוגמה:**
|
|
57
57
|
|
|
@@ -68,19 +68,19 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
68
68
|
עם תצורה זו, `sudo systemctl status nginx` מותר, אבל `sudo rm /etc/hosts` דחוי.
|
|
69
69
|
|
|
70
70
|
<Note>
|
|
71
|
-
דפוסים
|
|
71
|
+
דפוסים מתואמים כנגד tokens מנותחים, לא כנגד מחרוזת הפקודה הגולמית. זה מונע עקיפה דרך אופרטורים shell מצורפים (למשל `sudo systemctl status x; rm -rf /` לא מתואם ל-`sudo systemctl status *`).
|
|
72
72
|
</Note>
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
|
76
76
|
### `block-rm-rf`
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
**Event:** PreToolUse (Bash)
|
|
79
79
|
**ברירת מחדל:** דוחה `rm -rf`, `rm -fr` וצורות מחיקה רקורסיביות דומות.
|
|
80
80
|
|
|
81
81
|
**פרמטרים:**
|
|
82
82
|
|
|
83
|
-
| Param |
|
|
83
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
84
84
|
|-------|------|---------|-------------|
|
|
85
85
|
| `allowPaths` | `string[]` | `[]` | נתיבים בטוחים למחיקה רקורסיבית (למשל `/tmp`). |
|
|
86
86
|
|
|
@@ -100,45 +100,45 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
100
100
|
|
|
101
101
|
### `block-curl-pipe-sh`
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
**Event:** PreToolUse (Bash)
|
|
104
104
|
**ברירת מחדל:** דוחה `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` ודפוסים דומים.
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
אין פרמטרים.
|
|
107
107
|
|
|
108
108
|
---
|
|
109
109
|
|
|
110
110
|
### `block-failproofai-commands`
|
|
111
111
|
|
|
112
|
-
|
|
113
|
-
**ברירת מחדל:** דוחה פקודות שיבטלו או
|
|
112
|
+
**Event:** PreToolUse (Bash)
|
|
113
|
+
**ברירת מחדל:** דוחה פקודות שיבטלו או תפסיקו את failproofai עצמו (למשל `npm uninstall failproofai`, `failproofai policies --uninstall`).
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
אין פרמטרים.
|
|
116
116
|
|
|
117
117
|
---
|
|
118
118
|
|
|
119
|
-
## סודות (
|
|
119
|
+
## סודות (sanitizers)
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
מנע סוכנים מדליפת credentials להקשרם או לפלטם. מדיניות Sanitizer מופעלות על **PostToolUse** events. כאשר Claude מריץ פקודת Bash, קורא קובץ, או קורא לכל כלי, מדיניות אלה בודקות את הפלט לפני החזרתו ל-Claude. אם תבנית סוד מזוהה, המדיניות מחזירה החלטת deny שמונעת את הפלט מהעברה חזרה.
|
|
122
122
|
|
|
123
123
|
### `sanitize-jwt`
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
**ברירת מחדל:** מחפה JWT tokens (שלוש
|
|
125
|
+
**Event:** PostToolUse (כל הכלים)
|
|
126
|
+
**ברירת מחדל:** מחפה JWT tokens (שלוש segments base64url מופרדות ב-`.`).
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
אין פרמטרים.
|
|
129
129
|
|
|
130
130
|
---
|
|
131
131
|
|
|
132
132
|
### `sanitize-api-keys`
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
**ברירת מחדל:** מחפה
|
|
134
|
+
**Event:** PostToolUse (כל הכלים)
|
|
135
|
+
**ברירת מחדל:** מחפה פורמטים נפוצים של API key: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS access keys (`AKIA`), Stripe keys (`sk_live_`, `sk_test_`), וGoogle API keys (`AIza`).
|
|
136
136
|
|
|
137
137
|
**פרמטרים:**
|
|
138
138
|
|
|
139
|
-
| Param |
|
|
139
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
140
140
|
|-------|------|---------|-------------|
|
|
141
|
-
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | דפוסי regex נוספים
|
|
141
|
+
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | דפוסי regex נוספים להתייחס אליהם כסודות. |
|
|
142
142
|
|
|
143
143
|
**דוגמה:**
|
|
144
144
|
|
|
@@ -159,69 +159,69 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
159
159
|
|
|
160
160
|
### `sanitize-connection-strings`
|
|
161
161
|
|
|
162
|
-
|
|
163
|
-
**ברירת מחדל:** מחפה מחרוזות חיבור
|
|
162
|
+
**Event:** PostToolUse (כל הכלים)
|
|
163
|
+
**ברירת מחדל:** מחפה מחרוזות חיבור בסיס נתונים המכילות credentials מוטבעים (למשל `postgresql://user:password@host/db`).
|
|
164
164
|
|
|
165
|
-
|
|
165
|
+
אין פרמטרים.
|
|
166
166
|
|
|
167
167
|
---
|
|
168
168
|
|
|
169
169
|
### `sanitize-private-key-content`
|
|
170
170
|
|
|
171
|
-
|
|
172
|
-
**ברירת מחדל:** מחפה
|
|
171
|
+
**Event:** PostToolUse (כל הכלים)
|
|
172
|
+
**ברירת מחדל:** מחפה PEM blocks (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, וכו').
|
|
173
173
|
|
|
174
|
-
|
|
174
|
+
אין פרמטרים.
|
|
175
175
|
|
|
176
176
|
---
|
|
177
177
|
|
|
178
178
|
### `sanitize-bearer-tokens`
|
|
179
179
|
|
|
180
|
-
|
|
181
|
-
**ברירת מחדל:** מחפה
|
|
180
|
+
**Event:** PostToolUse (כל הכלים)
|
|
181
|
+
**ברירת מחדל:** מחפה `Authorization: Bearer <token>` headers כאשר ה-token הוא 20 תווים או יותר.
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
אין פרמטרים.
|
|
184
184
|
|
|
185
185
|
---
|
|
186
186
|
|
|
187
187
|
## סביבה
|
|
188
188
|
|
|
189
|
-
הגן על תצורת סביבה רגישה מלהיקרא או
|
|
189
|
+
הגן על תצורת סביבה רגישה מלהיקרא או חשוף ע"י סוכנים.
|
|
190
190
|
|
|
191
191
|
### `block-env-files`
|
|
192
192
|
|
|
193
|
-
|
|
194
|
-
**ברירת מחדל:** דוחה קריאת קבצי `.env` דרך `cat .env`, קריאות כלי Read עם `.env` כנתיב
|
|
193
|
+
**Event:** PreToolUse (Bash, Read)
|
|
194
|
+
**ברירת מחדל:** דוחה קריאת קבצי `.env` דרך `cat .env`, קריאות כלי Read עם `.env` כנתיב הקובץ, וכו'.
|
|
195
195
|
|
|
196
|
-
לא חוסם `.envrc` או קבצים
|
|
196
|
+
לא חוסם `.envrc` או קבצים סביביים אחרים - רק קבצים בשם בדיוק `.env`.
|
|
197
197
|
|
|
198
|
-
|
|
198
|
+
אין פרמטרים.
|
|
199
199
|
|
|
200
200
|
---
|
|
201
201
|
|
|
202
202
|
### `protect-env-vars`
|
|
203
203
|
|
|
204
|
-
|
|
205
|
-
**ברירת מחדל:** דוחה פקודות
|
|
204
|
+
**Event:** PreToolUse (Bash)
|
|
205
|
+
**ברירת מחדל:** דוחה פקודות שמדפיסות משתני סביבה: `printenv`, `env`, `echo $VAR`.
|
|
206
206
|
|
|
207
|
-
|
|
207
|
+
אין פרמטרים.
|
|
208
208
|
|
|
209
209
|
---
|
|
210
210
|
|
|
211
211
|
## גישת קבצים
|
|
212
212
|
|
|
213
|
-
שמור סוכנים
|
|
213
|
+
שמור סוכנים לעבוד בתוך גבולות פרויקט ורחוק מקבצים רגישים.
|
|
214
214
|
|
|
215
215
|
### `block-read-outside-cwd`
|
|
216
216
|
|
|
217
|
-
|
|
218
|
-
**ברירת מחדל:** דוחה קריאת קבצים מחוץ
|
|
217
|
+
**Event:** PreToolUse (Read, Bash)
|
|
218
|
+
**ברירת מחדל:** דוחה קריאת קבצים מחוץ לספריית העבודה הנוכחית (שורש הפרויקט).
|
|
219
219
|
|
|
220
220
|
**פרמטרים:**
|
|
221
221
|
|
|
222
|
-
| Param |
|
|
222
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
223
223
|
|-------|------|---------|-------------|
|
|
224
|
-
| `allowPaths` | `string[]` | `[]` | קידומות נתיב
|
|
224
|
+
| `allowPaths` | `string[]` | `[]` | קידומות נתיב מוחלט המותרות אפילו אם מחוץ ל-cwd. |
|
|
225
225
|
|
|
226
226
|
**דוגמה:**
|
|
227
227
|
|
|
@@ -239,14 +239,14 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
239
239
|
|
|
240
240
|
### `block-secrets-write`
|
|
241
241
|
|
|
242
|
-
|
|
243
|
-
**ברירת מחדל:** דוחה
|
|
242
|
+
**Event:** PreToolUse (Write, Edit)
|
|
243
|
+
**ברירת מחדל:** דוחה כתיבה לקבצים המשמשים בדרך כלל למפתחות פרטיים ותעודות: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
|
|
244
244
|
|
|
245
245
|
**פרמטרים:**
|
|
246
246
|
|
|
247
|
-
| Param |
|
|
247
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
248
248
|
|-------|------|---------|-------------|
|
|
249
|
-
| `additionalPatterns` | `string[]` | `[]` | דפוסי שם קובץ נוספים (
|
|
249
|
+
| `additionalPatterns` | `string[]` | `[]` | דפוסי שם קובץ נוספים (glob-style) לחסימה. |
|
|
250
250
|
|
|
251
251
|
**דוגמה:**
|
|
252
252
|
|
|
@@ -264,18 +264,18 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
264
264
|
|
|
265
265
|
## Git
|
|
266
266
|
|
|
267
|
-
מנע
|
|
267
|
+
מנע pushes, force-pushes, ושגיאות branch accidental שקשה לבטל.
|
|
268
268
|
|
|
269
269
|
### `block-push-master`
|
|
270
270
|
|
|
271
|
-
|
|
271
|
+
**Event:** PreToolUse (Bash)
|
|
272
272
|
**ברירת מחדל:** דוחה `git push origin main` ו-`git push origin master`.
|
|
273
273
|
|
|
274
274
|
**פרמטרים:**
|
|
275
275
|
|
|
276
|
-
| Param |
|
|
276
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
277
277
|
|-------|------|---------|-------------|
|
|
278
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות
|
|
278
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות branches שלא ניתן לדחוף אליהם ישירות. |
|
|
279
279
|
|
|
280
280
|
**דוגמה:**
|
|
281
281
|
|
|
@@ -290,30 +290,30 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
290
290
|
```
|
|
291
291
|
|
|
292
292
|
<Tip>
|
|
293
|
-
כדי
|
|
293
|
+
כדי להתיר דחיפה לכל branches (למעשה השבתת מדיניות זו ללא הסרתה מ-`enabledPolicies`), קבע `protectedBranches: []`.
|
|
294
294
|
</Tip>
|
|
295
295
|
|
|
296
296
|
---
|
|
297
297
|
|
|
298
298
|
### `block-work-on-main`
|
|
299
299
|
|
|
300
|
-
|
|
301
|
-
**ברירת מחדל:** דוחה checkout של
|
|
300
|
+
**Event:** PreToolUse (Bash)
|
|
301
|
+
**ברירת מחדל:** דוחה checkout של branches `main` או `master` ישירות.
|
|
302
302
|
|
|
303
303
|
**פרמטרים:**
|
|
304
304
|
|
|
305
|
-
| Param |
|
|
305
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
306
306
|
|-------|------|---------|-------------|
|
|
307
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות
|
|
307
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות branches שלא ניתן לבחור בהם ישירות. |
|
|
308
308
|
|
|
309
309
|
---
|
|
310
310
|
|
|
311
311
|
### `block-force-push`
|
|
312
312
|
|
|
313
|
-
|
|
313
|
+
**Event:** PreToolUse (Bash)
|
|
314
314
|
**ברירת מחדל:** דוחה `git push --force` ו-`git push -f`.
|
|
315
315
|
|
|
316
|
-
|
|
316
|
+
אין פרמטרים ספציפיים למדיניות. השתמש ב-[`hint`](/he/configuration#hint-cross-cutting) חוצה-חתך כדי להציע חלופות:
|
|
317
317
|
|
|
318
318
|
```json
|
|
319
319
|
{
|
|
@@ -329,67 +329,67 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
329
329
|
|
|
330
330
|
### `warn-git-amend`
|
|
331
331
|
|
|
332
|
-
|
|
333
|
-
**ברירת מחדל:**
|
|
332
|
+
**Event:** PreToolUse (Bash)
|
|
333
|
+
**ברירת מחדל:** הנחיה ל-Claude להמשיך בזהירות בעת הרצת `git commit --amend`. לא חוסם את הפקודה.
|
|
334
334
|
|
|
335
|
-
|
|
335
|
+
אין פרמטרים.
|
|
336
336
|
|
|
337
337
|
---
|
|
338
338
|
|
|
339
339
|
### `warn-git-stash-drop`
|
|
340
340
|
|
|
341
|
-
|
|
342
|
-
**ברירת מחדל:**
|
|
341
|
+
**Event:** PreToolUse (Bash)
|
|
342
|
+
**ברירת מחדל:** הנחיה ל-Claude לאשר לפני הרצת `git stash drop`. לא חוסם את הפקודה.
|
|
343
343
|
|
|
344
|
-
|
|
344
|
+
אין פרמטרים.
|
|
345
345
|
|
|
346
346
|
---
|
|
347
347
|
|
|
348
348
|
### `warn-all-files-staged`
|
|
349
349
|
|
|
350
|
-
|
|
351
|
-
**ברירת מחדל:**
|
|
350
|
+
**Event:** PreToolUse (Bash)
|
|
351
|
+
**ברירת מחדל:** הנחיה ל-Claude לבדוק מה הוא משכבע כאשר הוא מריץ `git add -A` או `git add .`. לא חוסם את הפקודה.
|
|
352
352
|
|
|
353
|
-
|
|
353
|
+
אין פרמטרים.
|
|
354
354
|
|
|
355
355
|
---
|
|
356
356
|
|
|
357
|
-
##
|
|
357
|
+
## בסיס נתונים
|
|
358
358
|
|
|
359
|
-
תפוס פעולות SQL הרסניות לפני שהן
|
|
359
|
+
תפוס פעולות SQL הרסניות לפני שהן מבוצעות כנגד בסיס הנתונים שלך.
|
|
360
360
|
|
|
361
361
|
### `warn-destructive-sql`
|
|
362
362
|
|
|
363
|
-
|
|
364
|
-
**ברירת מחדל:**
|
|
363
|
+
**Event:** PreToolUse (Bash)
|
|
364
|
+
**ברירת מחדל:** הנחיה ל-Claude לאשר לפני הרצת SQL המכיל `DROP TABLE`, `DROP DATABASE`, או `DELETE` ללא `WHERE` clause.
|
|
365
365
|
|
|
366
|
-
|
|
366
|
+
אין פרמטרים.
|
|
367
367
|
|
|
368
368
|
---
|
|
369
369
|
|
|
370
370
|
### `warn-schema-alteration`
|
|
371
371
|
|
|
372
|
-
|
|
373
|
-
**ברירת מחדל:**
|
|
372
|
+
**Event:** PreToolUse (Bash)
|
|
373
|
+
**ברירת מחדל:** הנחיה ל-Claude לאשר לפני הרצת `ALTER TABLE` statements.
|
|
374
374
|
|
|
375
|
-
|
|
375
|
+
אין פרמטרים.
|
|
376
376
|
|
|
377
377
|
---
|
|
378
378
|
|
|
379
379
|
## אזהרות
|
|
380
380
|
|
|
381
|
-
תן
|
|
381
|
+
תן לסוכנים הקשר נוסף לפני פעולות פוטנציאליות מסוכנות אך לא הרסניות.
|
|
382
382
|
|
|
383
383
|
### `warn-large-file-write`
|
|
384
384
|
|
|
385
|
-
|
|
386
|
-
**ברירת מחדל:**
|
|
385
|
+
**Event:** PreToolUse (Write)
|
|
386
|
+
**ברירת מחדל:** הנחיה ל-Claude לאשר לפני כתיבת קבצים גדולים מ-1024 KB.
|
|
387
387
|
|
|
388
388
|
**פרמטרים:**
|
|
389
389
|
|
|
390
|
-
| Param |
|
|
390
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
391
391
|
|-------|------|---------|-------------|
|
|
392
|
-
| `thresholdKb` | `number` | `1024` | סף גודל קובץ בקילובייטים שמעליו
|
|
392
|
+
| `thresholdKb` | `number` | `1024` | סף גודל קובץ בקילובייטים שמעליו מוציאה אזהרה. |
|
|
393
393
|
|
|
394
394
|
**דוגמה:**
|
|
395
395
|
|
|
@@ -404,76 +404,76 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
404
404
|
```
|
|
405
405
|
|
|
406
406
|
<Note>
|
|
407
|
-
ה-hook handler אוכף
|
|
407
|
+
ה-hook handler אוכף סדר גודל 1 MB stdin על payload. כדי לבדוק מדיניות זו עם תוכן קטן, קבע `thresholdKb` לערך הרבה מתחת ל-1024.
|
|
408
408
|
</Note>
|
|
409
409
|
|
|
410
410
|
---
|
|
411
411
|
|
|
412
412
|
### `warn-package-publish`
|
|
413
413
|
|
|
414
|
-
|
|
415
|
-
**ברירת מחדל:**
|
|
414
|
+
**Event:** PreToolUse (Bash)
|
|
415
|
+
**ברירת מחדל:** הנחיה ל-Claude לאשר לפני הרצת `npm publish`.
|
|
416
416
|
|
|
417
|
-
|
|
417
|
+
אין פרמטרים.
|
|
418
418
|
|
|
419
419
|
---
|
|
420
420
|
|
|
421
421
|
### `warn-background-process`
|
|
422
422
|
|
|
423
|
-
|
|
424
|
-
**ברירת מחדל:**
|
|
423
|
+
**Event:** PreToolUse (Bash)
|
|
424
|
+
**ברירת מחדל:** הנחיה ל-Claude להיות זהיר בעת הפעלת תהליכים ברקע דרך `nohup`, `&`, `disown`, או `screen`.
|
|
425
425
|
|
|
426
|
-
|
|
426
|
+
אין פרמטרים.
|
|
427
427
|
|
|
428
428
|
---
|
|
429
429
|
|
|
430
430
|
### `warn-global-package-install`
|
|
431
431
|
|
|
432
|
-
|
|
433
|
-
**ברירת מחדל:**
|
|
432
|
+
**Event:** PreToolUse (Bash)
|
|
433
|
+
**ברירת מחדל:** הנחיה ל-Claude לאשר לפני הרצת `npm install -g`, `yarn global add`, או `pip install` ללא סביבה וירטואלית.
|
|
434
434
|
|
|
435
|
-
|
|
435
|
+
אין פרמטרים.
|
|
436
436
|
|
|
437
437
|
---
|
|
438
438
|
|
|
439
439
|
## התנהגות AI
|
|
440
440
|
|
|
441
|
-
|
|
441
|
+
בחן כאשר סוכנים תקועים או מתנהגים בצורה בלתי צפויה.
|
|
442
442
|
|
|
443
443
|
### `warn-repeated-tool-calls`
|
|
444
444
|
|
|
445
|
-
|
|
446
|
-
**ברירת מחדל:**
|
|
445
|
+
**Event:** PreToolUse (כל הכלים)
|
|
446
|
+
**ברירת מחדל:** הנחיה ל-Claude להשקול מחדש כאשר אותו כלי נקרא 3+ פעמים עם אותם פרמטרים בדיוק - סימן נפוץ שהסוכן תקוע בלולאה.
|
|
447
447
|
|
|
448
|
-
|
|
448
|
+
אין פרמטרים.
|
|
449
449
|
|
|
450
450
|
---
|
|
451
451
|
|
|
452
|
-
## Workflow
|
|
452
|
+
## Workflow
|
|
453
453
|
|
|
454
|
-
|
|
454
|
+
אכוף workflow מובנה של סוף-תא. מדיניות אלה מופעלות על ה-Stop event ודוחות את Claude מהעצירה עד שכל תנאי נעמדים. הם עוקבים אחר שרשרת תלות טבעית: commit → push → PR → CI. אם מדיניות דוחה, מדיניות מאוחרות יותר בשרשרת דלוקות (deny short-circuits).
|
|
455
455
|
|
|
456
|
-
כל
|
|
456
|
+
כל מדיניות workflow היא **fail-open**: אם הכלי הנדרש לא זמין (למשל `gh` לא מותקן, אין git remote), המדיניות מתירה עם הודעת מידע המסבירה מדוע ההשפעה דלקה.
|
|
457
457
|
|
|
458
458
|
### `require-commit-before-stop`
|
|
459
459
|
|
|
460
|
-
|
|
461
|
-
**ברירת מחדל:** דוחה עצירה
|
|
460
|
+
**Event:** Stop
|
|
461
|
+
**ברירת מחדל:** דוחה עצירה כאשר יש שינויים שלא שונו (modified, staged, או untracked files). מחזירה הודעת מידע כאשר ספריית העבודה נקייה.
|
|
462
462
|
|
|
463
|
-
|
|
463
|
+
אין פרמטרים.
|
|
464
464
|
|
|
465
465
|
---
|
|
466
466
|
|
|
467
467
|
### `require-push-before-stop`
|
|
468
468
|
|
|
469
|
-
|
|
470
|
-
**ברירת מחדל:** דוחה עצירה
|
|
469
|
+
**Event:** Stop
|
|
470
|
+
**ברירת מחדל:** דוחה עצירה כאשר יש commits שלא דחפו או כאשר ל-branch הנוכחי אין remote tracking branch. מציע `git push -u` ליצור tracking branch במידת הצורך. נכשל פתוח אם אין remote מוגדר.
|
|
471
471
|
|
|
472
472
|
**פרמטרים:**
|
|
473
473
|
|
|
474
|
-
| Param |
|
|
474
|
+
| Param | Type | ברירת מחדל | תיאור |
|
|
475
475
|
|-------|------|---------|-------------|
|
|
476
|
-
| `remote` | `string` | `"origin"` | שם remote
|
|
476
|
+
| `remote` | `string` | `"origin"` | שם remote לדחיפה אליו. |
|
|
477
477
|
|
|
478
478
|
**דוגמה:**
|
|
479
479
|
|
|
@@ -491,66 +491,37 @@ failproofai מגיע עם 30 מדיניויות מובנות התופסות מצ
|
|
|
491
491
|
|
|
492
492
|
### `require-pr-before-stop`
|
|
493
493
|
|
|
494
|
-
|
|
495
|
-
**ברירת מחדל:** דוחה עצירה
|
|
494
|
+
**Event:** Stop
|
|
495
|
+
**ברירת מחדל:** דוחה עצירה כאשר לא קיים pull request ל-branch הנוכחי, או כאשר ה-PR הקיים סגור/merged. הנחיה ל-Claude ליצור PR עם `gh pr create`.
|
|
496
496
|
|
|
497
|
-
|
|
497
|
+
אין פרמטרים.
|
|
498
498
|
|
|
499
499
|
<Note>
|
|
500
|
-
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`)
|
|
501
|
-
|
|
502
|
-
pull requests. אם `gh` אינו מותקן או לא מאומת, המדיניות נכשלת open ומדווחת את הסיבה ל-Claude.
|
|
500
|
+
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`) להתקין ולהיות מואשר.
|
|
501
|
+
הריצו `gh auth login` עם personal access token שיש לו scope `repo` לקריאה pull requests. אם `gh` לא מותקן או לא מואשר, המדיניות נכשלת פתוח ומדווחת הסיבה ל-Claude.
|
|
503
502
|
</Note>
|
|
504
503
|
|
|
505
504
|
---
|
|
506
505
|
|
|
507
506
|
### `require-ci-green-before-stop`
|
|
508
507
|
|
|
509
|
-
|
|
510
|
-
**ברירת מחדל:** דוחה עצירה
|
|
508
|
+
**Event:** Stop
|
|
509
|
+
**ברירת מחדל:** דוחה עצירה כאשר בדיקות CI נכשלות או עדיין פועלות ב-branch הנוכחי. בודק הן GitHub Actions workflow runs והן בדיקות bot של צד שלישי (למשל CodeRabbit, SonarCloud, Codecov). מתייחס ל-`skipped` conclusions כהצלחה. מחזירה הודעת מידע כאשר כל הבדיקות עוברות.
|
|
511
510
|
|
|
512
|
-
|
|
511
|
+
אין פרמטרים.
|
|
513
512
|
|
|
514
513
|
<Note>
|
|
515
|
-
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`)
|
|
516
|
-
|
|
517
|
-
Actions workflow runs וה-Checks API. אם `gh` אינו מותקן או לא מאומת, המדיניות נכשלת open ומדווחת את הסיבה ל-Claude.
|
|
514
|
+
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`) להתקין ולהיות מואשר.
|
|
515
|
+
הריצו `gh auth login` עם personal access token שיש לו scope `repo` לקריאה Actions workflow runs ו-Checks API. אם `gh` לא מותקן או לא מואשר, המדיניות נכשלת פתוח ומדווחת הסיבה ל-Claude.
|
|
518
516
|
</Note>
|
|
519
517
|
|
|
520
518
|
---
|
|
521
519
|
|
|
522
|
-
## מדיניויות בטא
|
|
523
|
-
|
|
524
|
-
כמה מדיניויות מסומנות `beta` ואינן מותקנות כברירת מחדל. מדיניויות בטא עשויות להיות בעלות קצוות גסים או ליצור false positives. הן בוגרות ליציב בהוצאות עתידיות.
|
|
525
|
-
|
|
526
|
-
**מדיניויות בטא נוכחיות:**
|
|
527
|
-
|
|
528
|
-
- `require-commit-before-stop` — commit כל השינויים לפני עצירה
|
|
529
|
-
- `require-push-before-stop` — push את כל ה-commits ל-remote
|
|
530
|
-
- `require-pr-before-stop` — וודא שקיים PR לענף
|
|
531
|
-
- `require-ci-green-before-stop` — כל בדיקות CI חייבות להצליח
|
|
532
|
-
|
|
533
|
-
ביחד, אלה אוכפות workflow של **commit → push → PR → CI**.
|
|
534
|
-
|
|
535
|
-
כדי להתקין את כל מדיניויות הבטא:
|
|
536
|
-
|
|
537
|
-
```bash
|
|
538
|
-
failproofai policies --install --beta
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
או התקן מדיניויות workflow ספציפיות:
|
|
542
|
-
|
|
543
|
-
```bash
|
|
544
|
-
failproofai policies --install require-commit-before-stop require-push-before-stop require-pr-before-stop require-ci-green-before-stop
|
|
545
|
-
```
|
|
546
|
-
|
|
547
|
-
הרץ `failproofai policies` כדי לראות אילו מדיניויות נושאות את דגל הבטא.
|
|
548
|
-
|
|
549
520
|
---
|
|
550
521
|
|
|
551
|
-
## השבתת
|
|
522
|
+
## השבתת מדיניות בודדות
|
|
552
523
|
|
|
553
|
-
הסר מדיניות ספציפית מ-`enabledPolicies` בתצורה שלך, או
|
|
524
|
+
הסר מדיניות ספציפית מ-`enabledPolicies` בתצורה שלך, או בטל אותה בטאב Policies של הדashboard.
|
|
554
525
|
|
|
555
526
|
```json
|
|
556
527
|
{
|
|
@@ -561,4 +532,4 @@ failproofai policies --install require-commit-before-stop require-push-before-st
|
|
|
561
532
|
}
|
|
562
533
|
```
|
|
563
534
|
|
|
564
|
-
|
|
535
|
+
מדיניות שלא רשומות ב-`enabledPolicies` לא פועלות, גם אם קיימות ערכי `policyParams` עבורן.
|