failproofai 0.0.6-beta.2 → 0.0.6-beta.3
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]__05akje6._.js → [root-of-the-server]__096k.db._.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]__0i5kvry._.js → [root-of-the-server]__0kyh86x._.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]__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/{1052sguyd-.ka.js → 0-dm_9a6nsc2l.js} +1 -1
- package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 01pmw1-asbek~.js} +2 -2
- package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 051m32nx~n5yr.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 0a-yctdwn368y.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0l-mu4okl-cj1.js} +1 -1
- package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0mazj-p-~2kc6.js} +1 -1
- package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
- package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 156zca6aewyr-.js} +1 -1
- package/.next/standalone/CHANGELOG.md +7 -0
- package/.next/standalone/bin/failproofai.mjs +91 -4
- package/.next/standalone/dist/cli.mjs +1155 -54
- package/.next/standalone/docs/ar/built-in-policies.mdx +118 -118
- package/.next/standalone/docs/built-in-policies.mdx +2 -2
- package/.next/standalone/docs/de/built-in-policies.mdx +48 -48
- package/.next/standalone/docs/es/built-in-policies.mdx +82 -82
- package/.next/standalone/docs/fr/built-in-policies.mdx +72 -72
- package/.next/standalone/docs/he/built-in-policies.mdx +129 -128
- package/.next/standalone/docs/hi/built-in-policies.mdx +178 -182
- package/.next/standalone/docs/it/built-in-policies.mdx +64 -64
- package/.next/standalone/docs/ja/built-in-policies.mdx +128 -128
- package/.next/standalone/docs/ko/built-in-policies.mdx +111 -111
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +65 -65
- package/.next/standalone/docs/ru/built-in-policies.mdx +72 -72
- package/.next/standalone/docs/tr/built-in-policies.mdx +99 -99
- package/.next/standalone/docs/vi/built-in-policies.mdx +69 -72
- package/.next/standalone/docs/zh/built-in-policies.mdx +76 -78
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/auth/login.ts +104 -0
- package/.next/standalone/src/auth/logout.ts +50 -0
- package/.next/standalone/src/auth/token-store.ts +64 -0
- package/.next/standalone/src/hooks/builtin-policies.ts +22 -20
- package/.next/standalone/src/hooks/handler.ts +35 -15
- package/.next/standalone/src/relay/daemon.ts +362 -0
- package/.next/standalone/src/relay/pid.ts +76 -0
- package/.next/standalone/src/relay/queue.ts +225 -0
- package/bin/failproofai.mjs +91 -4
- package/dist/cli.mjs +1155 -54
- package/package.json +1 -1
- package/src/auth/login.ts +104 -0
- package/src/auth/logout.ts +50 -0
- package/src/auth/token-store.ts +64 -0
- package/src/hooks/builtin-policies.ts +22 -20
- package/src/hooks/handler.ts +35 -15
- package/src/relay/daemon.ts +362 -0
- package/src/relay/pid.ts +76 -0
- package/src/relay/queue.ts +225 -0
- package/.next/standalone/.next/static/chunks/0ijk_kek9_wyx.js +0 -6
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
|
@@ -1,60 +1,61 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
---
|
|
3
|
+
title: מדיניות מובנות
|
|
4
|
+
description: "כל 30 המדיניות המובנות המתפסות מצבי כשל נפוצים של סוכנים"
|
|
4
5
|
icon: shield
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
failproofai
|
|
8
|
+
failproofai מגיע עם 30 מדיניות מובנות המתפסות מצבי כשל נפוצים של סוכנים. כל מדיניות מופעלת על סוג אירוע hook ספציפי ושם כלי. תשע מדיניות מקבלות פרמטרים המאפשרים לך לכוונן את התנהגותם ללא כתיבת קוד. ארבע מדיניות זרימת עבודה אוכפות צינור commit → push → PR → CI לפני שClaude עוצר.
|
|
8
9
|
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
## סקירה כללית
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
מדיניות מקובצות לקטגוריות:
|
|
14
15
|
|
|
15
|
-
| קטגוריה |
|
|
16
|
+
| קטגוריה | מדיניות | סוג Hook |
|
|
16
17
|
|----------|----------|-----------|
|
|
17
18
|
| [פקודות מסוכנות](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
18
19
|
| [סודות (מטהרים)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
19
20
|
| [סביבה](#environment) | block-env-files, protect-env-vars | PreToolUse |
|
|
20
21
|
| [גישת קבצים](#file-access) | block-read-outside-cwd, block-secrets-write | PreToolUse |
|
|
21
22
|
| [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
|
-
| [
|
|
23
|
+
| [בסיס נתונים](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
|
|
23
24
|
| [אזהרות](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
|
|
24
25
|
| [מנהלי חבילות](#package-managers) | prefer-package-manager | PreToolUse |
|
|
25
26
|
| [זרימת עבודה](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
26
27
|
|
|
27
|
-
- **`block-`** — עצור את הסוכן
|
|
28
|
-
- **`warn-`** — תן
|
|
28
|
+
- **`block-`** — עצור את הסוכן מלהמשיך הלאה.
|
|
29
|
+
- **`warn-`** — תן לסוכן הקשר נוסף כדי שיוכל לתקן בעצמו.
|
|
29
30
|
- **`sanitize-`** — נקה נתונים רגישים מפלט הכלי לפני שהסוכן רואה זאת.
|
|
30
|
-
- **`require-`** — חסום את אירוע
|
|
31
|
+
- **`require-`** — חסום את אירוע העצירה עד למתן תנאים.
|
|
31
32
|
|
|
32
33
|
---
|
|
33
34
|
|
|
34
35
|
<Tip>
|
|
35
|
-
כל מדיניות תומכת בשדה `hint` אופציונלי ב-`policyParams`. ה-hint
|
|
36
|
+
כל מדיניות תומכת בשדה `hint` אופציונלי ב-`policyParams`. ה-hint מתווסף להודעת deny או instruct שClaude רואה, המספקת הנחיה מעשית ללא שינוי קוד מדיניות. עובד עם מדיניות מובנות, מותאמות ולפי כללים. ראה [Configuration → hint](/he/configuration#hint-cross-cutting) לפרטים.
|
|
36
37
|
</Tip>
|
|
37
38
|
|
|
38
39
|
---
|
|
39
40
|
|
|
40
41
|
## פקודות מסוכנות
|
|
41
42
|
|
|
42
|
-
מנע מסוכנים
|
|
43
|
+
מנע מסוכנים הרצה של פעולות שקשה להשלים בהן או שעלולות לפגוע במערכת המארח.
|
|
43
44
|
|
|
44
45
|
### `block-sudo`
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
**Event:** PreToolUse (Bash)
|
|
48
|
+
**Default:** דוחה כל פקודת `sudo`.
|
|
48
49
|
|
|
49
|
-
חוסם הפעלות המכילות את
|
|
50
|
+
חוסם הפעלות המכילות את המילה השמורה `sudo`. התאמת דפוס מבוצעת על אסימוני פקודה מפורסרים, לא על המחרוזת הגולמית, כדי למנוע עקיפה דרך הזרקה של סוכן shell.
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
**Parameters:**
|
|
52
53
|
|
|
53
54
|
| Param | Type | Default | Description |
|
|
54
55
|
|-------|------|---------|-------------|
|
|
55
|
-
| `allowPatterns` | `string[]` | `[]` | קידומות פקודה מדויקות
|
|
56
|
+
| `allowPatterns` | `string[]` | `[]` | קידומות פקודה מדויקות המורשות. כל ערך מתואם נגד אסימוני argv מפורסרים. |
|
|
56
57
|
|
|
57
|
-
|
|
58
|
+
**Example:**
|
|
58
59
|
|
|
59
60
|
```json
|
|
60
61
|
{
|
|
@@ -66,26 +67,26 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
66
67
|
}
|
|
67
68
|
```
|
|
68
69
|
|
|
69
|
-
עם תצורה זו, `sudo systemctl status nginx`
|
|
70
|
+
עם תצורה זו, `sudo systemctl status nginx` מורשה, אך `sudo rm /etc/hosts` דחוי.
|
|
70
71
|
|
|
71
72
|
<Note>
|
|
72
|
-
דפוסים
|
|
73
|
+
דפוסים מתואמים נגד אסימונים מפורסרים, לא מחרוזת הפקודה הגולמית. זה מונע עקיפה דרך מפעילים מצורפים (למשל `sudo systemctl status x; rm -rf /` אינו תואם `sudo systemctl status *`).
|
|
73
74
|
</Note>
|
|
74
75
|
|
|
75
76
|
---
|
|
76
77
|
|
|
77
78
|
### `block-rm-rf`
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
**Event:** PreToolUse (Bash)
|
|
81
|
+
**Default:** דוחה `rm -rf`, `rm -fr`, וצורות מחיקה רקורסיביות דומות.
|
|
81
82
|
|
|
82
|
-
|
|
83
|
+
**Parameters:**
|
|
83
84
|
|
|
84
85
|
| Param | Type | Default | Description |
|
|
85
86
|
|-------|------|---------|-------------|
|
|
86
|
-
| `allowPaths` | `string[]` | `[]` | נתיבים שבטוח למחוק
|
|
87
|
+
| `allowPaths` | `string[]` | `[]` | נתיבים שבטוח למחוק באופן רקורסיבי (למשל `/tmp`). |
|
|
87
88
|
|
|
88
|
-
|
|
89
|
+
**Example:**
|
|
89
90
|
|
|
90
91
|
```json
|
|
91
92
|
{
|
|
@@ -101,8 +102,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
101
102
|
|
|
102
103
|
### `block-curl-pipe-sh`
|
|
103
104
|
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
**Event:** PreToolUse (Bash)
|
|
106
|
+
**Default:** דוחה `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash`, ודפוסים דומים.
|
|
106
107
|
|
|
107
108
|
אין פרמטרים.
|
|
108
109
|
|
|
@@ -110,8 +111,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
110
111
|
|
|
111
112
|
### `block-failproofai-commands`
|
|
112
113
|
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
**Event:** PreToolUse (Bash)
|
|
115
|
+
**Default:** דוחה פקודות שיסירו או תשביתו את failproofai עצמו (למשל `npm uninstall failproofai`, `failproofai policies --uninstall`).
|
|
115
116
|
|
|
116
117
|
אין פרמטרים.
|
|
117
118
|
|
|
@@ -119,12 +120,12 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
119
120
|
|
|
120
121
|
## סודות (מטהרים)
|
|
121
122
|
|
|
122
|
-
עצור סוכנים
|
|
123
|
+
עצור סוכנים מלהדליף אישורים להקשר שלהם או לפלט שלהם. מדיניות מטהרים מופעלות על אירועי **PostToolUse**. כאשר Claude מריץ פקודת Bash, קורא קובץ, או קורא לכל כלי, מדיניות אלו בוחנות את הפלט לפני שהוא מוחזר ל-Claude. אם דפוס סוד מתגלה, המדיניות מחזירה החלטת deny המונעת את הפלט מלהיות מועבר חזרה.
|
|
123
124
|
|
|
124
125
|
### `sanitize-jwt`
|
|
125
126
|
|
|
126
|
-
|
|
127
|
-
|
|
127
|
+
**Event:** PostToolUse (כל הכלים)
|
|
128
|
+
**Default:** מסרבל אסימוני JWT (שלוש קטעי base64url מופרדים ב-`.`).
|
|
128
129
|
|
|
129
130
|
אין פרמטרים.
|
|
130
131
|
|
|
@@ -132,16 +133,16 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
132
133
|
|
|
133
134
|
### `sanitize-api-keys`
|
|
134
135
|
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
**Event:** PostToolUse (כל הכלים)
|
|
137
|
+
**Default:** מסרבל פורמטי מפתח API נפוצים: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), מפתחות גישה AWS (`AKIA`), מפתחות Stripe (`sk_live_`, `sk_test_`), ומפתחות Google API (`AIza`).
|
|
137
138
|
|
|
138
|
-
|
|
139
|
+
**Parameters:**
|
|
139
140
|
|
|
140
141
|
| Param | Type | Default | Description |
|
|
141
142
|
|-------|------|---------|-------------|
|
|
142
|
-
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | דפוסי regex נוספים לטיפול
|
|
143
|
+
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | דפוסי regex נוספים לטיפול כסודות. |
|
|
143
144
|
|
|
144
|
-
|
|
145
|
+
**Example:**
|
|
145
146
|
|
|
146
147
|
```json
|
|
147
148
|
{
|
|
@@ -160,8 +161,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
160
161
|
|
|
161
162
|
### `sanitize-connection-strings`
|
|
162
163
|
|
|
163
|
-
|
|
164
|
-
|
|
164
|
+
**Event:** PostToolUse (כל הכלים)
|
|
165
|
+
**Default:** מסרבל מחרוזות חיבור בסיס נתונים המכילות אישורים משובצים (למשל `postgresql://user:password@host/db`).
|
|
165
166
|
|
|
166
167
|
אין פרמטרים.
|
|
167
168
|
|
|
@@ -169,8 +170,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
169
170
|
|
|
170
171
|
### `sanitize-private-key-content`
|
|
171
172
|
|
|
172
|
-
|
|
173
|
-
|
|
173
|
+
**Event:** PostToolUse (כל הכלים)
|
|
174
|
+
**Default:** מסרבל בלוקי PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, וכו').
|
|
174
175
|
|
|
175
176
|
אין פרמטרים.
|
|
176
177
|
|
|
@@ -178,8 +179,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
178
179
|
|
|
179
180
|
### `sanitize-bearer-tokens`
|
|
180
181
|
|
|
181
|
-
|
|
182
|
-
|
|
182
|
+
**Event:** PostToolUse (כל הכלים)
|
|
183
|
+
**Default:** מסרבל כותרי `Authorization: Bearer <token>` שבהם הטוקן הוא 20 תווים או יותר.
|
|
183
184
|
|
|
184
185
|
אין פרמטרים.
|
|
185
186
|
|
|
@@ -191,10 +192,10 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
191
192
|
|
|
192
193
|
### `block-env-files`
|
|
193
194
|
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
**Event:** PreToolUse (Bash, Read)
|
|
196
|
+
**Default:** דוחה קריאת קבצי `.env` דרך `cat .env`, קריאות `Read` tool עם `.env` כנתיב הקובץ, וכו'.
|
|
196
197
|
|
|
197
|
-
לא חוסם `.envrc` או קבצים
|
|
198
|
+
לא חוסם `.envrc` או קבצים אחרים הקשורים לסביבה - רק קבצים בשם בדיוק `.env`.
|
|
198
199
|
|
|
199
200
|
אין פרמטרים.
|
|
200
201
|
|
|
@@ -202,8 +203,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
202
203
|
|
|
203
204
|
### `protect-env-vars`
|
|
204
205
|
|
|
205
|
-
|
|
206
|
-
|
|
206
|
+
**Event:** PreToolUse (Bash)
|
|
207
|
+
**Default:** דוחה פקודות המדפיסות משתני סביבה: `printenv`, `env`, `echo $VAR`.
|
|
207
208
|
|
|
208
209
|
אין פרמטרים.
|
|
209
210
|
|
|
@@ -211,20 +212,20 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
211
212
|
|
|
212
213
|
## גישת קבצים
|
|
213
214
|
|
|
214
|
-
שמור סוכנים
|
|
215
|
+
שמור על סוכנים העובדים בגבולות הפרויקט ורחוקים מקבצים רגישים.
|
|
215
216
|
|
|
216
217
|
### `block-read-outside-cwd`
|
|
217
218
|
|
|
218
|
-
|
|
219
|
-
|
|
219
|
+
**Event:** PreToolUse (Read, Bash)
|
|
220
|
+
**Default:** דוחה קריאת קבצים מחוץ לספריית העבודה הנוכחית (שורש הפרויקט).
|
|
220
221
|
|
|
221
|
-
|
|
222
|
+
**Parameters:**
|
|
222
223
|
|
|
223
224
|
| Param | Type | Default | Description |
|
|
224
225
|
|-------|------|---------|-------------|
|
|
225
|
-
| `allowPaths` | `string[]` | `[]` | קידומות נתיב מוחלט
|
|
226
|
+
| `allowPaths` | `string[]` | `[]` | קידומות נתיב מוחלט המורשות גם אם מחוץ cwd. |
|
|
226
227
|
|
|
227
|
-
|
|
228
|
+
**Example:**
|
|
228
229
|
|
|
229
230
|
```json
|
|
230
231
|
{
|
|
@@ -240,16 +241,16 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
240
241
|
|
|
241
242
|
### `block-secrets-write`
|
|
242
243
|
|
|
243
|
-
|
|
244
|
-
|
|
244
|
+
**Event:** PreToolUse (Write, Edit)
|
|
245
|
+
**Default:** דוחה כתיבה לקבצים המשמשים בדרך כלל למפתחות פרטיים ותעודות: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
|
|
245
246
|
|
|
246
|
-
|
|
247
|
+
**Parameters:**
|
|
247
248
|
|
|
248
249
|
| Param | Type | Default | Description |
|
|
249
250
|
|-------|------|---------|-------------|
|
|
250
|
-
| `additionalPatterns` | `string[]` | `[]` | דפוסי שם קובץ נוספים (
|
|
251
|
+
| `additionalPatterns` | `string[]` | `[]` | דפוסי שם קובץ נוספים (בסגנון glob) לחסימה. |
|
|
251
252
|
|
|
252
|
-
|
|
253
|
+
**Example:**
|
|
253
254
|
|
|
254
255
|
```json
|
|
255
256
|
{
|
|
@@ -265,20 +266,20 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
265
266
|
|
|
266
267
|
## Git
|
|
267
268
|
|
|
268
|
-
מנע
|
|
269
|
+
מנע push, force-push, וטעויות בענף מקרי שקשה להשלים בהן.
|
|
269
270
|
|
|
270
271
|
### `block-push-master`
|
|
271
272
|
|
|
272
|
-
|
|
273
|
-
|
|
273
|
+
**Event:** PreToolUse (Bash)
|
|
274
|
+
**Default:** דוחה `git push origin main` ו-`git push origin master`.
|
|
274
275
|
|
|
275
|
-
|
|
276
|
+
**Parameters:**
|
|
276
277
|
|
|
277
278
|
| Param | Type | Default | Description |
|
|
278
279
|
|-------|------|---------|-------------|
|
|
279
280
|
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות ענפים שלא ניתן לדחוף אליהם ישירות. |
|
|
280
281
|
|
|
281
|
-
|
|
282
|
+
**Example:**
|
|
282
283
|
|
|
283
284
|
```json
|
|
284
285
|
{
|
|
@@ -291,30 +292,30 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
291
292
|
```
|
|
292
293
|
|
|
293
294
|
<Tip>
|
|
294
|
-
|
|
295
|
+
כדי לאפשר דחיפה לכל הענפים (שביעטול אפקטיבי של מדיניות זו ללא הסרה מ-`enabledPolicies`), קבע `protectedBranches: []`.
|
|
295
296
|
</Tip>
|
|
296
297
|
|
|
297
298
|
---
|
|
298
299
|
|
|
299
300
|
### `block-work-on-main`
|
|
300
301
|
|
|
301
|
-
|
|
302
|
-
|
|
302
|
+
**Event:** PreToolUse (Bash)
|
|
303
|
+
**Default:** דוחה checkout של ענפי `main` או `master` ישירות.
|
|
303
304
|
|
|
304
|
-
|
|
305
|
+
**Parameters:**
|
|
305
306
|
|
|
306
307
|
| Param | Type | Default | Description |
|
|
307
308
|
|-------|------|---------|-------------|
|
|
308
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות ענפים שלא ניתן
|
|
309
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | שמות ענפים שלא ניתן לבצע checkout אليהם ישירות. |
|
|
309
310
|
|
|
310
311
|
---
|
|
311
312
|
|
|
312
313
|
### `block-force-push`
|
|
313
314
|
|
|
314
|
-
|
|
315
|
-
|
|
315
|
+
**Event:** PreToolUse (Bash)
|
|
316
|
+
**Default:** דוחה `git push --force` ו-`git push -f`.
|
|
316
317
|
|
|
317
|
-
אין פרמטרים ספציפיים למדיניות. השתמש
|
|
318
|
+
אין פרמטרים ספציפיים למדיניות. השתמש בחוצה תחומים [`hint`](/he/configuration#hint-cross-cutting) להצעת חלופות:
|
|
318
319
|
|
|
319
320
|
```json
|
|
320
321
|
{
|
|
@@ -330,8 +331,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
330
331
|
|
|
331
332
|
### `warn-git-amend`
|
|
332
333
|
|
|
333
|
-
|
|
334
|
-
|
|
334
|
+
**Event:** PreToolUse (Bash)
|
|
335
|
+
**Default:** מדריך את Claude להמשיך בזהירות בעת הרצה של `git commit --amend`. לא חוסם את הפקודה.
|
|
335
336
|
|
|
336
337
|
אין פרמטרים.
|
|
337
338
|
|
|
@@ -339,8 +340,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
339
340
|
|
|
340
341
|
### `warn-git-stash-drop`
|
|
341
342
|
|
|
342
|
-
|
|
343
|
-
|
|
343
|
+
**Event:** PreToolUse (Bash)
|
|
344
|
+
**Default:** מדריך את Claude לאשר לפני הרצה של `git stash drop`. לא חוסם את הפקודה.
|
|
344
345
|
|
|
345
346
|
אין פרמטרים.
|
|
346
347
|
|
|
@@ -348,21 +349,21 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
348
349
|
|
|
349
350
|
### `warn-all-files-staged`
|
|
350
351
|
|
|
351
|
-
|
|
352
|
-
|
|
352
|
+
**Event:** PreToolUse (Bash)
|
|
353
|
+
**Default:** מדריך את Claude לבדוק מה הוא משדר כאשר הוא מריץ `git add -A` או `git add .`. לא חוסם את הפקודה.
|
|
353
354
|
|
|
354
355
|
אין פרמטרים.
|
|
355
356
|
|
|
356
357
|
---
|
|
357
358
|
|
|
358
|
-
##
|
|
359
|
+
## בסיס נתונים
|
|
359
360
|
|
|
360
|
-
|
|
361
|
+
תפוס פעולות SQL הרסניות לפני שהן מבוצעות בבסיס הנתונים שלך.
|
|
361
362
|
|
|
362
363
|
### `warn-destructive-sql`
|
|
363
364
|
|
|
364
|
-
|
|
365
|
-
|
|
365
|
+
**Event:** PreToolUse (Bash)
|
|
366
|
+
**Default:** מדריך את Claude לאשר לפני הרצה של SQL המכיל `DROP TABLE`, `DROP DATABASE`, או `DELETE` ללא סעיף `WHERE`.
|
|
366
367
|
|
|
367
368
|
אין פרמטרים.
|
|
368
369
|
|
|
@@ -370,8 +371,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
370
371
|
|
|
371
372
|
### `warn-schema-alteration`
|
|
372
373
|
|
|
373
|
-
|
|
374
|
-
|
|
374
|
+
**Event:** PreToolUse (Bash)
|
|
375
|
+
**Default:** מדריך את Claude לאשר לפני הרצה של הצהרות `ALTER TABLE`.
|
|
375
376
|
|
|
376
377
|
אין פרמטרים.
|
|
377
378
|
|
|
@@ -383,16 +384,16 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
383
384
|
|
|
384
385
|
### `warn-large-file-write`
|
|
385
386
|
|
|
386
|
-
|
|
387
|
-
|
|
387
|
+
**Event:** PreToolUse (Write)
|
|
388
|
+
**Default:** מדריך את Claude לאשר לפני כתיבת קבצים גדולים מ-1024 KB.
|
|
388
389
|
|
|
389
|
-
|
|
390
|
+
**Parameters:**
|
|
390
391
|
|
|
391
392
|
| Param | Type | Default | Description |
|
|
392
393
|
|-------|------|---------|-------------|
|
|
393
|
-
| `thresholdKb` | `number` | `1024` | סף גודל קובץ
|
|
394
|
+
| `thresholdKb` | `number` | `1024` | סף גודל קובץ בקילוביטים שמעליו מנופקת אזהרה. |
|
|
394
395
|
|
|
395
|
-
|
|
396
|
+
**Example:**
|
|
396
397
|
|
|
397
398
|
```json
|
|
398
399
|
{
|
|
@@ -405,15 +406,15 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
405
406
|
```
|
|
406
407
|
|
|
407
408
|
<Note>
|
|
408
|
-
ה-hook
|
|
409
|
+
מטפל ה-hook אוכף מגבלת stdin של 1 MB על payload. כדי לבדוק מדיניות זו עם תוכן קטן, קבע `thresholdKb` לערך הרבה להלן 1024.
|
|
409
410
|
</Note>
|
|
410
411
|
|
|
411
412
|
---
|
|
412
413
|
|
|
413
414
|
### `warn-package-publish`
|
|
414
415
|
|
|
415
|
-
|
|
416
|
-
|
|
416
|
+
**Event:** PreToolUse (Bash)
|
|
417
|
+
**Default:** מדריך את Claude לאשר לפני הרצה של `npm publish`.
|
|
417
418
|
|
|
418
419
|
אין פרמטרים.
|
|
419
420
|
|
|
@@ -421,8 +422,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
421
422
|
|
|
422
423
|
### `warn-background-process`
|
|
423
424
|
|
|
424
|
-
|
|
425
|
-
|
|
425
|
+
**Event:** PreToolUse (Bash)
|
|
426
|
+
**Default:** מדריך את Claude להיות זהיר בעת הפעלה של תהליכים בחלק האחורי דרך `nohup`, `&`, `disown`, או `screen`.
|
|
426
427
|
|
|
427
428
|
אין פרמטרים.
|
|
428
429
|
|
|
@@ -430,8 +431,8 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
430
431
|
|
|
431
432
|
### `warn-global-package-install`
|
|
432
433
|
|
|
433
|
-
|
|
434
|
-
|
|
434
|
+
**Event:** PreToolUse (Bash)
|
|
435
|
+
**Default:** מדריך את Claude לאשר לפני הרצה של `npm install -g`, `yarn global add`, או `pip install` ללא סביבה וירטואלית.
|
|
435
436
|
|
|
436
437
|
אין פרמטרים.
|
|
437
438
|
|
|
@@ -439,23 +440,23 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
439
440
|
|
|
440
441
|
## מנהלי חבילות
|
|
441
442
|
|
|
442
|
-
אכוף אילו מנהלי חבילות
|
|
443
|
+
אכוף אילו מנהלי חבילות מורשים לסוכן.
|
|
443
444
|
|
|
444
445
|
### `prefer-package-manager`
|
|
445
446
|
|
|
446
|
-
|
|
447
|
-
|
|
447
|
+
**Event:** PreToolUse (Bash)
|
|
448
|
+
**Default:** מושבת. כשמופעל, חוסם כל פקודת מנהל חבילות שלא ברשימת `allowed` ומדריך את Claude לשכתב את הפקודה באמצעות מנהל מורשה.
|
|
448
449
|
|
|
449
450
|
מגלה: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
|
|
450
451
|
|
|
451
452
|
| Parameter | Type | Default | Description |
|
|
452
453
|
|-----------|------|---------|-------------|
|
|
453
|
-
| `allowed` | string[] | `[]` | שמות
|
|
454
|
-
| `blocked` | string[] | `[]` | שמות
|
|
454
|
+
| `allowed` | string[] | `[]` | שמות מנהלי חבילות מורשים. כל מנהל מגולה שלא ברשימה זו דחוי. כשריק, המדיניות היא לא פעולה. |
|
|
455
|
+
| `blocked` | string[] | `[]` | שמות מנהלים נוספים לחסימה מעבר לרשימה המובנית (למשל `['pdm', 'pipx']`). |
|
|
455
456
|
|
|
456
|
-
רשימת החסימה המובנית מכסה: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. השתמש ב-`blocked`
|
|
457
|
+
רשימת החסימה המובנית מכסה: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. השתמש ב-`blocked` להוספת מנהלים שלא ברשימה זו.
|
|
457
458
|
|
|
458
|
-
|
|
459
|
+
**Example configuration:**
|
|
459
460
|
|
|
460
461
|
```json
|
|
461
462
|
{
|
|
@@ -469,18 +470,18 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
469
470
|
}
|
|
470
471
|
```
|
|
471
472
|
|
|
472
|
-
עם תצורה זו, `pip install flask` ו-`pdm install flask` שניהם
|
|
473
|
+
עם תצורה זו, `pip install flask` ו-`pdm install flask` שניהם דחויים עם הודעה המדריכה את Claude להשתמש ב-`uv` או `bun` במקום זאת. פקודות כמו `uv pip install flask` מורשות מכיוון ש-`uv` ברשימת ההרשאות ובדק ראשון.
|
|
473
474
|
|
|
474
475
|
---
|
|
475
476
|
|
|
476
477
|
## התנהגות AI
|
|
477
478
|
|
|
478
|
-
גלה כאשר סוכנים תקועים או מתנהגים
|
|
479
|
+
גלה כאשר סוכנים תקועים או מתנהגים בצורה בלתי צפויה.
|
|
479
480
|
|
|
480
481
|
### `warn-repeated-tool-calls`
|
|
481
482
|
|
|
482
|
-
|
|
483
|
-
|
|
483
|
+
**Event:** PreToolUse (כל הכלים)
|
|
484
|
+
**Default:** מדריך את Claude לשקול מחדש כאשר אותו כלי נקרא 3+ פעמים עם פרמטרים זהים - סימן נפוץ שהסוכן תקוע בלולאה.
|
|
484
485
|
|
|
485
486
|
אין פרמטרים.
|
|
486
487
|
|
|
@@ -488,14 +489,14 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
488
489
|
|
|
489
490
|
## זרימת עבודה
|
|
490
491
|
|
|
491
|
-
אכוף זרימת עבודה
|
|
492
|
+
אכוף זרימת עבודה משמעותית בסוף ההפעלה. מדיניות אלה מופעלות על אירוע **Stop** ודוחות את Claude מלעצור עד למתן כל תנאי. הן עוקבות אחר שרשרת תלות טבעית: commit → push → PR → CI. אם מדיניות דוחה, מדיניות מאוחרות בשרשרת מדלג (deny short-circuits).
|
|
492
493
|
|
|
493
|
-
כל
|
|
494
|
+
כל מדיניות זרימת עבודה היא **fail-open**: אם הכלי הנדרש אינו זמין (למשל `gh` אינו מותקן, אין git remote), המדיניות מאפשרת עם הודעה מידע המסבירה מדוע בדיקה דולקה.
|
|
494
495
|
|
|
495
496
|
### `require-commit-before-stop`
|
|
496
497
|
|
|
497
|
-
|
|
498
|
-
|
|
498
|
+
**Event:** Stop
|
|
499
|
+
**Default:** דוחה עצירה כשיש שינויים לא מעומדים (קבצים שונויים, משודרים, או לא מעקובים). מחזיר הודעת מידע כאשר ספריית העבודה נקייה.
|
|
499
500
|
|
|
500
501
|
אין פרמטרים.
|
|
501
502
|
|
|
@@ -503,16 +504,16 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
503
504
|
|
|
504
505
|
### `require-push-before-stop`
|
|
505
506
|
|
|
506
|
-
|
|
507
|
-
|
|
507
|
+
**Event:** Stop
|
|
508
|
+
**Default:** דוחה עצירה כשיש commits לא דחופים או כאשר לענף הנוכחי אין ענף tracking מרוחק. מציע `git push -u` ליצירת ענף tracking אם צריך. נכשל open אם אין remote מוגדר.
|
|
508
509
|
|
|
509
|
-
|
|
510
|
+
**Parameters:**
|
|
510
511
|
|
|
511
512
|
| Param | Type | Default | Description |
|
|
512
513
|
|-------|------|---------|-------------|
|
|
513
|
-
| `remote` | `string` | `"origin"` | שם remote לדחוף אליו. |
|
|
514
|
+
| `remote` | `string` | `"origin"` | שם ה-remote לדחוף אליו. |
|
|
514
515
|
|
|
515
|
-
|
|
516
|
+
**Example:**
|
|
516
517
|
|
|
517
518
|
```json
|
|
518
519
|
{
|
|
@@ -528,39 +529,39 @@ failproofai משלוח עם 30 מדיניויות מובנות תופסות מש
|
|
|
528
529
|
|
|
529
530
|
### `require-pr-before-stop`
|
|
530
531
|
|
|
531
|
-
|
|
532
|
-
|
|
532
|
+
**Event:** Stop
|
|
533
|
+
**Default:** דוחה עצירה כאשר לא קיים pull request לענף הנוכחי, או כאשר ה-PR הקיים סגור/merged. מדריך את Claude ליצור PR עם `gh pr create`.
|
|
533
534
|
|
|
534
535
|
אין פרמטרים.
|
|
535
536
|
|
|
536
537
|
<Note>
|
|
537
|
-
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`) להיות
|
|
538
|
-
|
|
539
|
-
|
|
538
|
+
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`) להיות מותקן ומאומת.
|
|
539
|
+
הריץ `gh auth login` עם טוקן גישה אישי שיש לו `repo` scope לגישת קריאה ל-
|
|
540
|
+
pull requests. אם `gh` אינו מותקן או אינו מאומת, המדיניות נכשלת open ודווח הסיבה ל-Claude.
|
|
540
541
|
</Note>
|
|
541
542
|
|
|
542
543
|
---
|
|
543
544
|
|
|
544
545
|
### `require-ci-green-before-stop`
|
|
545
546
|
|
|
546
|
-
|
|
547
|
-
|
|
547
|
+
**Event:** Stop
|
|
548
|
+
**Default:** דוחה עצירה כאשר בדיקות CI נכשלות או עדיין פועלות בענף הנוכחי. בודק גם ריצות סדר עבודה של GitHub Actions וביקורות בוט צד שלישי (למשל CodeRabbit, SonarCloud, Codecov). מטפל בתוצאות `skipped` ו-`cancelled` כהצלחה. מחזיר הודעת מידע כאשר כל הבדיקות עוברות.
|
|
548
549
|
|
|
549
550
|
אין פרמטרים.
|
|
550
551
|
|
|
551
552
|
<Note>
|
|
552
|
-
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`) להיות
|
|
553
|
-
|
|
554
|
-
|
|
553
|
+
מדיניות זו דורשת [GitHub CLI](https://cli.github.com/) (`gh`) להיות מותקן ומאומת.
|
|
554
|
+
הריץ `gh auth login` עם טוקן גישה אישי שיש לו `repo` scope לגישת קריאה ל-
|
|
555
|
+
ריצות סדר עבודה של Actions ו-Checks API. אם `gh` אינו מותקן או אינו מאומת, המדיניות נכשלת open ודווח הסיבה ל-Claude.
|
|
555
556
|
</Note>
|
|
556
557
|
|
|
557
558
|
---
|
|
558
559
|
|
|
559
560
|
---
|
|
560
561
|
|
|
561
|
-
##
|
|
562
|
+
## השבתה של מדיניות בודדות
|
|
562
563
|
|
|
563
|
-
הסר מדיניות ספציפית מ-`enabledPolicies` בתצורה שלך, או
|
|
564
|
+
הסר מדיניות ספציפית מ-`enabledPolicies` בתצורה שלך, או החלף אותה בלשונית Policies של לוח המחוונים.
|
|
564
565
|
|
|
565
566
|
```json
|
|
566
567
|
{
|
|
@@ -571,4 +572,4 @@ Actions workflow runs ו-Checks API. אם `gh` לא מותקן או לא מאו
|
|
|
571
572
|
}
|
|
572
573
|
```
|
|
573
574
|
|
|
574
|
-
|
|
575
|
+
מדיניות שאינן רשומות ב-`enabledPolicies` אינן פועלות, גם אם ערכי `policyParams` קיימים עבורן.
|