failproofai 0.0.6-beta.1 → 0.0.6-beta.2
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/.failproofai/policies/review-policies.mjs +4 -3
- 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]__0~kmh8w._.js → [root-of-the-server]__05akje6._.js} +2 -2
- 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]__0rh.18_._.js → [root-of-the-server]__0i5kvry._.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/{08t08igdql9yt.js → 00j0rr7rh8ef8.js} +1 -1
- package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 05j1px0r8yzh6.js} +2 -2
- package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0badv41uxa56..js} +1 -1
- package/.next/standalone/.next/static/chunks/{0wlyoif4_kj_t.js → 0ijk_kek9_wyx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 0npb~873.wvg3.js} +1 -1
- package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0xpl.oscrakvx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 1052sguyd-.ka.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 14cl9poem30dq.js} +1 -1
- package/.next/standalone/CHANGELOG.md +11 -0
- package/.next/standalone/dist/cli.mjs +3 -3
- package/.next/standalone/docs/ar/built-in-policies.mdx +124 -87
- package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
- package/.next/standalone/docs/ar/examples.mdx +86 -33
- package/.next/standalone/docs/ar/getting-started.mdx +82 -29
- package/.next/standalone/docs/built-in-policies.mdx +1 -1
- package/.next/standalone/docs/de/built-in-policies.mdx +93 -56
- package/.next/standalone/docs/de/custom-policies.mdx +56 -56
- package/.next/standalone/docs/de/examples.mdx +72 -18
- package/.next/standalone/docs/de/getting-started.mdx +72 -20
- package/.next/standalone/docs/es/built-in-policies.mdx +115 -78
- package/.next/standalone/docs/es/custom-policies.mdx +55 -55
- package/.next/standalone/docs/es/examples.mdx +73 -19
- package/.next/standalone/docs/es/getting-started.mdx +72 -20
- package/.next/standalone/docs/fr/built-in-policies.mdx +83 -46
- package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
- package/.next/standalone/docs/fr/examples.mdx +78 -24
- package/.next/standalone/docs/fr/getting-started.mdx +65 -13
- package/.next/standalone/docs/he/built-in-policies.mdx +156 -117
- package/.next/standalone/docs/he/custom-policies.mdx +75 -75
- package/.next/standalone/docs/he/examples.mdx +87 -33
- package/.next/standalone/docs/he/getting-started.mdx +84 -33
- package/.next/standalone/docs/hi/built-in-policies.mdx +101 -60
- package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
- package/.next/standalone/docs/hi/examples.mdx +90 -36
- package/.next/standalone/docs/hi/getting-started.mdx +80 -27
- package/.next/standalone/docs/i18n/README.ar.md +69 -69
- package/.next/standalone/docs/i18n/README.de.md +46 -46
- package/.next/standalone/docs/i18n/README.es.md +42 -42
- package/.next/standalone/docs/i18n/README.fr.md +39 -39
- package/.next/standalone/docs/i18n/README.he.md +83 -83
- package/.next/standalone/docs/i18n/README.hi.md +69 -69
- package/.next/standalone/docs/i18n/README.it.md +72 -72
- package/.next/standalone/docs/i18n/README.ja.md +71 -71
- package/.next/standalone/docs/i18n/README.ko.md +52 -52
- package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
- package/.next/standalone/docs/i18n/README.ru.md +66 -66
- package/.next/standalone/docs/i18n/README.tr.md +82 -83
- package/.next/standalone/docs/i18n/README.vi.md +70 -71
- package/.next/standalone/docs/i18n/README.zh.md +51 -51
- package/.next/standalone/docs/it/built-in-policies.mdx +118 -81
- package/.next/standalone/docs/it/custom-policies.mdx +69 -69
- package/.next/standalone/docs/it/examples.mdx +93 -39
- package/.next/standalone/docs/it/getting-started.mdx +73 -21
- package/.next/standalone/docs/ja/built-in-policies.mdx +98 -61
- package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
- package/.next/standalone/docs/ja/examples.mdx +76 -22
- package/.next/standalone/docs/ja/getting-started.mdx +65 -13
- package/.next/standalone/docs/ko/built-in-policies.mdx +137 -100
- package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
- package/.next/standalone/docs/ko/examples.mdx +87 -33
- package/.next/standalone/docs/ko/getting-started.mdx +61 -9
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +94 -57
- package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
- package/.next/standalone/docs/pt-br/examples.mdx +78 -24
- package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
- package/.next/standalone/docs/ru/built-in-policies.mdx +142 -105
- package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
- package/.next/standalone/docs/ru/examples.mdx +77 -22
- package/.next/standalone/docs/ru/getting-started.mdx +74 -22
- package/.next/standalone/docs/tr/built-in-policies.mdx +104 -67
- package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
- package/.next/standalone/docs/tr/examples.mdx +97 -42
- package/.next/standalone/docs/tr/getting-started.mdx +75 -23
- package/.next/standalone/docs/vi/built-in-policies.mdx +110 -72
- package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
- package/.next/standalone/docs/vi/examples.mdx +93 -38
- package/.next/standalone/docs/vi/getting-started.mdx +74 -22
- package/.next/standalone/docs/zh/built-in-policies.mdx +132 -95
- package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
- package/.next/standalone/docs/zh/examples.mdx +90 -36
- package/.next/standalone/docs/zh/getting-started.mdx +73 -21
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +5 -1
- package/dist/cli.mjs +3 -3
- package/package.json +1 -1
- package/src/hooks/builtin-policies.ts +5 -1
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_ssgManifest.js +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Politiche
|
|
3
|
-
description: "Tutte le 30 politiche integrate che
|
|
2
|
+
title: Politiche Integrate
|
|
3
|
+
description: "Tutte le 30 politiche integrate che catturano le modalità di errore comuni degli agenti"
|
|
4
4
|
icon: shield
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
failproofai
|
|
7
|
+
failproofai viene fornito con 30 politiche integrate che catturano le modalità di errore comuni degli agenti. Ogni politica si attiva su un tipo di evento hook e un nome di strumento specifici. Nove politiche accettano parametri che ti permettono di regolarne il comportamento senza scrivere codice. Quattro politiche di flusso di lavoro applicano una pipeline commit → push → PR → CI prima che Claude si fermi.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -12,26 +12,27 @@ failproofai è dotato di 30 politiche integrate che rilevano le modalità di err
|
|
|
12
12
|
|
|
13
13
|
Le politiche sono raggruppate in categorie:
|
|
14
14
|
|
|
15
|
-
| Categoria | Politiche | Tipo di
|
|
15
|
+
| Categoria | Politiche | Tipo di Hook |
|
|
16
16
|
|----------|----------|-----------|
|
|
17
17
|
| [Comandi pericolosi](#comandi-pericolosi) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
18
|
-
| [Segreti (
|
|
18
|
+
| [Segreti (sanitizzatori)](#segreti-sanitizzatori) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
19
19
|
| [Ambiente](#ambiente) | block-env-files, protect-env-vars | PreToolUse |
|
|
20
20
|
| [Accesso ai file](#accesso-ai-file) | 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](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
|
|
23
23
|
| [Avvisi](#avvisi) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
|
|
24
|
-
| [
|
|
24
|
+
| [Gestori di pacchetti](#gestori-di-pacchetti) | prefer-package-manager | PreToolUse |
|
|
25
|
+
| [Flusso di lavoro](#flusso-di-lavoro) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
25
26
|
|
|
26
|
-
- **`block-`** —
|
|
27
|
-
- **`warn-`** — fornisce all'agente contesto aggiuntivo
|
|
28
|
-
- **`sanitize-`** —
|
|
29
|
-
- **`require-`** — blocca l'evento Stop fino
|
|
27
|
+
- **`block-`** — impedisce all'agente di procedere.
|
|
28
|
+
- **`warn-`** — fornisce all'agente contesto aggiuntivo in modo che possa autocorreggersi.
|
|
29
|
+
- **`sanitize-`** — ripulisce i dati sensibili dall'output dello strumento prima che l'agente li veda.
|
|
30
|
+
- **`require-`** — blocca l'evento Stop fino al soddisfacimento delle condizioni.
|
|
30
31
|
|
|
31
32
|
---
|
|
32
33
|
|
|
33
34
|
<Tip>
|
|
34
|
-
Ogni politica supporta un campo `hint`
|
|
35
|
+
Ogni politica supporta un campo `hint` facoltativo in `policyParams`. L'hint viene aggiunto al messaggio deny o instruct che Claude vede, fornendo indicazioni utili senza modificare il codice della politica. Funziona con politiche integrate, personalizzate e di convenzione. Consulta [Configuration → hint](/it/configuration#hint-cross-cutting) per i dettagli.
|
|
35
36
|
</Tip>
|
|
36
37
|
|
|
37
38
|
---
|
|
@@ -43,15 +44,15 @@ Impedisci agli agenti di eseguire operazioni difficili da annullare o che potreb
|
|
|
43
44
|
### `block-sudo`
|
|
44
45
|
|
|
45
46
|
**Evento:** PreToolUse (Bash)
|
|
46
|
-
**
|
|
47
|
+
**Predefinito:** Nega qualsiasi comando `sudo`.
|
|
47
48
|
|
|
48
|
-
Blocca
|
|
49
|
+
Blocca gli invocamenti che includono la parola chiave `sudo`. La corrispondenza del pattern viene eseguita sui token del comando analizzati, non sulla stringa grezza, per prevenire l'aggiramento tramite iniezione di operatori shell.
|
|
49
50
|
|
|
50
51
|
**Parametri:**
|
|
51
52
|
|
|
52
|
-
|
|
|
53
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
53
54
|
|-------|------|---------|-------------|
|
|
54
|
-
| `allowPatterns` | `string[]` | `[]` | Prefissi di comando esatti
|
|
55
|
+
| `allowPatterns` | `string[]` | `[]` | Prefissi di comando esatti consentiti. Ogni voce viene confrontata con i token argv analizzati. |
|
|
55
56
|
|
|
56
57
|
**Esempio:**
|
|
57
58
|
|
|
@@ -65,10 +66,10 @@ Blocca le invocazioni che includono la parola chiave `sudo`. L'abbinamento del p
|
|
|
65
66
|
}
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
Con questa configurazione, `sudo systemctl status nginx` è consentito, ma `sudo rm /etc/hosts`
|
|
69
|
+
Con questa configurazione, `sudo systemctl status nginx` è consentito, ma `sudo rm /etc/hosts` viene negato.
|
|
69
70
|
|
|
70
71
|
<Note>
|
|
71
|
-
I pattern vengono
|
|
72
|
+
I pattern vengono confrontati con i token analizzati, non con la stringa di comando grezza. Ciò impedisce l'aggiramento tramite operatori shell aggiunti (ad es. `sudo systemctl status x; rm -rf /` non corrisponde a `sudo systemctl status *`).
|
|
72
73
|
</Note>
|
|
73
74
|
|
|
74
75
|
---
|
|
@@ -76,13 +77,13 @@ I pattern vengono abbinati ai token analizzati, non alla stringa di comando grez
|
|
|
76
77
|
### `block-rm-rf`
|
|
77
78
|
|
|
78
79
|
**Evento:** PreToolUse (Bash)
|
|
79
|
-
**
|
|
80
|
+
**Predefinito:** Nega `rm -rf`, `rm -fr` e forme simili di eliminazione ricorsiva.
|
|
80
81
|
|
|
81
82
|
**Parametri:**
|
|
82
83
|
|
|
83
|
-
|
|
|
84
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
84
85
|
|-------|------|---------|-------------|
|
|
85
|
-
| `allowPaths` | `string[]` | `[]` | Percorsi che
|
|
86
|
+
| `allowPaths` | `string[]` | `[]` | Percorsi che è sicuro eliminare ricorsivamente (ad es. `/tmp`). |
|
|
86
87
|
|
|
87
88
|
**Esempio:**
|
|
88
89
|
|
|
@@ -101,7 +102,7 @@ I pattern vengono abbinati ai token analizzati, non alla stringa di comando grez
|
|
|
101
102
|
### `block-curl-pipe-sh`
|
|
102
103
|
|
|
103
104
|
**Evento:** PreToolUse (Bash)
|
|
104
|
-
**
|
|
105
|
+
**Predefinito:** Nega `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` e pattern simili.
|
|
105
106
|
|
|
106
107
|
Nessun parametro.
|
|
107
108
|
|
|
@@ -110,20 +111,20 @@ Nessun parametro.
|
|
|
110
111
|
### `block-failproofai-commands`
|
|
111
112
|
|
|
112
113
|
**Evento:** PreToolUse (Bash)
|
|
113
|
-
**
|
|
114
|
+
**Predefinito:** Nega i comandi che disinstallerebbero o disabiliterebbero failproofai stesso (ad es. `npm uninstall failproofai`, `failproofai policies --uninstall`).
|
|
114
115
|
|
|
115
116
|
Nessun parametro.
|
|
116
117
|
|
|
117
118
|
---
|
|
118
119
|
|
|
119
|
-
## Segreti (
|
|
120
|
+
## Segreti (sanitizzatori)
|
|
120
121
|
|
|
121
|
-
Impedisci agli agenti di
|
|
122
|
+
Impedisci agli agenti di filtrare le credenziali nel loro contesto o output. Le politiche dei sanitizzatori si attivano su eventi **PostToolUse**. Quando Claude esegue un comando Bash, legge un file o chiama qualsiasi strumento, queste politiche ispezionano l'output prima che venga restituito a Claude. Se viene rilevato un pattern di segreto, la politica restituisce una decisione di deny che impedisce l'output di essere passato indietro.
|
|
122
123
|
|
|
123
124
|
### `sanitize-jwt`
|
|
124
125
|
|
|
125
126
|
**Evento:** PostToolUse (tutti gli strumenti)
|
|
126
|
-
**
|
|
127
|
+
**Predefinito:** Redige i token JWT (tre segmenti base64url separati da `.`).
|
|
127
128
|
|
|
128
129
|
Nessun parametro.
|
|
129
130
|
|
|
@@ -132,11 +133,11 @@ Nessun parametro.
|
|
|
132
133
|
### `sanitize-api-keys`
|
|
133
134
|
|
|
134
135
|
**Evento:** PostToolUse (tutti gli strumenti)
|
|
135
|
-
**
|
|
136
|
+
**Predefinito:** Redige i formati comuni delle chiavi API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), chiavi di accesso AWS (`AKIA`), chiavi Stripe (`sk_live_`, `sk_test_`), e chiavi API Google (`AIza`).
|
|
136
137
|
|
|
137
138
|
**Parametri:**
|
|
138
139
|
|
|
139
|
-
|
|
|
140
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
140
141
|
|-------|------|---------|-------------|
|
|
141
142
|
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Pattern regex aggiuntivi da trattare come segreti. |
|
|
142
143
|
|
|
@@ -160,7 +161,7 @@ Nessun parametro.
|
|
|
160
161
|
### `sanitize-connection-strings`
|
|
161
162
|
|
|
162
163
|
**Evento:** PostToolUse (tutti gli strumenti)
|
|
163
|
-
**
|
|
164
|
+
**Predefinito:** Redige le stringhe di connessione del database che contengono credenziali incorporate (ad es. `postgresql://user:password@host/db`).
|
|
164
165
|
|
|
165
166
|
Nessun parametro.
|
|
166
167
|
|
|
@@ -169,7 +170,7 @@ Nessun parametro.
|
|
|
169
170
|
### `sanitize-private-key-content`
|
|
170
171
|
|
|
171
172
|
**Evento:** PostToolUse (tutti gli strumenti)
|
|
172
|
-
**
|
|
173
|
+
**Predefinito:** Redige i blocchi PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, ecc.).
|
|
173
174
|
|
|
174
175
|
Nessun parametro.
|
|
175
176
|
|
|
@@ -178,7 +179,7 @@ Nessun parametro.
|
|
|
178
179
|
### `sanitize-bearer-tokens`
|
|
179
180
|
|
|
180
181
|
**Evento:** PostToolUse (tutti gli strumenti)
|
|
181
|
-
**
|
|
182
|
+
**Predefinito:** Redige le intestazioni `Authorization: Bearer <token>` dove il token è di 20 o più caratteri.
|
|
182
183
|
|
|
183
184
|
Nessun parametro.
|
|
184
185
|
|
|
@@ -186,14 +187,14 @@ Nessun parametro.
|
|
|
186
187
|
|
|
187
188
|
## Ambiente
|
|
188
189
|
|
|
189
|
-
Proteggi la configurazione
|
|
190
|
+
Proteggi la configurazione dell'ambiente sensibile dalla lettura o dall'esposizione da parte degli agenti.
|
|
190
191
|
|
|
191
192
|
### `block-env-files`
|
|
192
193
|
|
|
193
194
|
**Evento:** PreToolUse (Bash, Read)
|
|
194
|
-
**
|
|
195
|
+
**Predefinito:** Nega la lettura dei file `.env` tramite `cat .env`, chiamate dello strumento Read con `.env` come percorso del file, ecc.
|
|
195
196
|
|
|
196
|
-
Non blocca `.envrc` o altri file
|
|
197
|
+
Non blocca `.envrc` o altri file legati all'ambiente — solo i file denominati esattamente `.env`.
|
|
197
198
|
|
|
198
199
|
Nessun parametro.
|
|
199
200
|
|
|
@@ -202,7 +203,7 @@ Nessun parametro.
|
|
|
202
203
|
### `protect-env-vars`
|
|
203
204
|
|
|
204
205
|
**Evento:** PreToolUse (Bash)
|
|
205
|
-
**
|
|
206
|
+
**Predefinito:** Nega i comandi che stampano le variabili d'ambiente: `printenv`, `env`, `echo $VAR`.
|
|
206
207
|
|
|
207
208
|
Nessun parametro.
|
|
208
209
|
|
|
@@ -210,18 +211,18 @@ Nessun parametro.
|
|
|
210
211
|
|
|
211
212
|
## Accesso ai file
|
|
212
213
|
|
|
213
|
-
Mantieni gli agenti
|
|
214
|
+
Mantieni gli agenti che lavorano all'interno dei confini del progetto e lontani dai file sensibili.
|
|
214
215
|
|
|
215
216
|
### `block-read-outside-cwd`
|
|
216
217
|
|
|
217
218
|
**Evento:** PreToolUse (Read, Bash)
|
|
218
|
-
**
|
|
219
|
+
**Predefinito:** Nega la lettura dei file al di fuori della directory di lavoro corrente (radice del progetto).
|
|
219
220
|
|
|
220
221
|
**Parametri:**
|
|
221
222
|
|
|
222
|
-
|
|
|
223
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
223
224
|
|-------|------|---------|-------------|
|
|
224
|
-
| `allowPaths` | `string[]` | `[]` | Prefissi di percorso assoluto consentiti anche se
|
|
225
|
+
| `allowPaths` | `string[]` | `[]` | Prefissi di percorso assoluto consentiti anche se al di fuori di cwd. |
|
|
225
226
|
|
|
226
227
|
**Esempio:**
|
|
227
228
|
|
|
@@ -240,11 +241,11 @@ Mantieni gli agenti al lavoro entro i confini del progetto e lontani dai file se
|
|
|
240
241
|
### `block-secrets-write`
|
|
241
242
|
|
|
242
243
|
**Evento:** PreToolUse (Write, Edit)
|
|
243
|
-
**
|
|
244
|
+
**Predefinito:** Nega le scritture nei file comunemente utilizzati per le chiavi private e i certificati: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
|
|
244
245
|
|
|
245
246
|
**Parametri:**
|
|
246
247
|
|
|
247
|
-
|
|
|
248
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
248
249
|
|-------|------|---------|-------------|
|
|
249
250
|
| `additionalPatterns` | `string[]` | `[]` | Pattern di nome file aggiuntivi (stile glob) da bloccare. |
|
|
250
251
|
|
|
@@ -269,11 +270,11 @@ Previeni push accidentali, force-push e errori di branch difficili da annullare.
|
|
|
269
270
|
### `block-push-master`
|
|
270
271
|
|
|
271
272
|
**Evento:** PreToolUse (Bash)
|
|
272
|
-
**
|
|
273
|
+
**Predefinito:** Nega `git push origin main` e `git push origin master`.
|
|
273
274
|
|
|
274
275
|
**Parametri:**
|
|
275
276
|
|
|
276
|
-
|
|
|
277
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
277
278
|
|-------|------|---------|-------------|
|
|
278
279
|
| `protectedBranches` | `string[]` | `["main", "master"]` | Nomi dei branch che non possono essere pushati direttamente. |
|
|
279
280
|
|
|
@@ -290,7 +291,7 @@ Previeni push accidentali, force-push e errori di branch difficili da annullare.
|
|
|
290
291
|
```
|
|
291
292
|
|
|
292
293
|
<Tip>
|
|
293
|
-
Per consentire il push
|
|
294
|
+
Per consentire il push in tutti i branch (disabilitando effettivamente questa politica senza rimuoverla da `enabledPolicies`), imposta `protectedBranches: []`.
|
|
294
295
|
</Tip>
|
|
295
296
|
|
|
296
297
|
---
|
|
@@ -298,28 +299,28 @@ Per consentire il push su tutti i branch (disabilitando effettivamente questa po
|
|
|
298
299
|
### `block-work-on-main`
|
|
299
300
|
|
|
300
301
|
**Evento:** PreToolUse (Bash)
|
|
301
|
-
**
|
|
302
|
+
**Predefinito:** Nega il checkout diretto dei branch `main` o `master`.
|
|
302
303
|
|
|
303
304
|
**Parametri:**
|
|
304
305
|
|
|
305
|
-
|
|
|
306
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
306
307
|
|-------|------|---------|-------------|
|
|
307
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | Nomi dei branch che non possono essere
|
|
308
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | Nomi dei branch che non possono essere controllati direttamente. |
|
|
308
309
|
|
|
309
310
|
---
|
|
310
311
|
|
|
311
312
|
### `block-force-push`
|
|
312
313
|
|
|
313
314
|
**Evento:** PreToolUse (Bash)
|
|
314
|
-
**
|
|
315
|
+
**Predefinito:** Nega `git push --force` e `git push -f`.
|
|
315
316
|
|
|
316
|
-
Nessun parametro specifico della politica. Usa
|
|
317
|
+
Nessun parametro specifico della politica. Usa il [`hint`](/it/configuration#hint-cross-cutting) cross-cutting per suggerire alternative:
|
|
317
318
|
|
|
318
319
|
```json
|
|
319
320
|
{
|
|
320
321
|
"policyParams": {
|
|
321
322
|
"block-force-push": {
|
|
322
|
-
"hint": "
|
|
323
|
+
"hint": "Crea un nuovo branch dal tuo HEAD attuale (ad es. `git checkout -b <new-branch>`) e esegui il push di questo."
|
|
323
324
|
}
|
|
324
325
|
}
|
|
325
326
|
}
|
|
@@ -330,7 +331,7 @@ Nessun parametro specifico della politica. Usa l'hint cross-cutting [`hint`](/it
|
|
|
330
331
|
### `warn-git-amend`
|
|
331
332
|
|
|
332
333
|
**Evento:** PreToolUse (Bash)
|
|
333
|
-
**
|
|
334
|
+
**Predefinito:** Istruisce Claude a procedere con cautela quando esegue `git commit --amend`. Non blocca il comando.
|
|
334
335
|
|
|
335
336
|
Nessun parametro.
|
|
336
337
|
|
|
@@ -339,7 +340,7 @@ Nessun parametro.
|
|
|
339
340
|
### `warn-git-stash-drop`
|
|
340
341
|
|
|
341
342
|
**Evento:** PreToolUse (Bash)
|
|
342
|
-
**
|
|
343
|
+
**Predefinito:** Istruisce Claude a confermare prima di eseguire `git stash drop`. Non blocca il comando.
|
|
343
344
|
|
|
344
345
|
Nessun parametro.
|
|
345
346
|
|
|
@@ -348,7 +349,7 @@ Nessun parametro.
|
|
|
348
349
|
### `warn-all-files-staged`
|
|
349
350
|
|
|
350
351
|
**Evento:** PreToolUse (Bash)
|
|
351
|
-
**
|
|
352
|
+
**Predefinito:** Istruisce Claude a rivedere ciò che sta preparando quando esegue `git add -A` o `git add .`. Non blocca il comando.
|
|
352
353
|
|
|
353
354
|
Nessun parametro.
|
|
354
355
|
|
|
@@ -356,12 +357,12 @@ Nessun parametro.
|
|
|
356
357
|
|
|
357
358
|
## Database
|
|
358
359
|
|
|
359
|
-
|
|
360
|
+
Cattura le operazioni SQL distruttive prima che vengano eseguite nel tuo database.
|
|
360
361
|
|
|
361
362
|
### `warn-destructive-sql`
|
|
362
363
|
|
|
363
364
|
**Evento:** PreToolUse (Bash)
|
|
364
|
-
**
|
|
365
|
+
**Predefinito:** Istruisce Claude a confermare prima di eseguire SQL contenente `DROP TABLE`, `DROP DATABASE`, o `DELETE` senza una clausola `WHERE`.
|
|
365
366
|
|
|
366
367
|
Nessun parametro.
|
|
367
368
|
|
|
@@ -370,7 +371,7 @@ Nessun parametro.
|
|
|
370
371
|
### `warn-schema-alteration`
|
|
371
372
|
|
|
372
373
|
**Evento:** PreToolUse (Bash)
|
|
373
|
-
**
|
|
374
|
+
**Predefinito:** Istruisce Claude a confermare prima di eseguire istruzioni `ALTER TABLE`.
|
|
374
375
|
|
|
375
376
|
Nessun parametro.
|
|
376
377
|
|
|
@@ -378,16 +379,16 @@ Nessun parametro.
|
|
|
378
379
|
|
|
379
380
|
## Avvisi
|
|
380
381
|
|
|
381
|
-
Fornisci agli agenti contesto
|
|
382
|
+
Fornisci agli agenti contesto aggiuntivo prima di operazioni potenzialmente rischiose ma non distruttive.
|
|
382
383
|
|
|
383
384
|
### `warn-large-file-write`
|
|
384
385
|
|
|
385
386
|
**Evento:** PreToolUse (Write)
|
|
386
|
-
**
|
|
387
|
+
**Predefinito:** Istruisce Claude a confermare prima di scrivere file più grandi di 1024 KB.
|
|
387
388
|
|
|
388
389
|
**Parametri:**
|
|
389
390
|
|
|
390
|
-
|
|
|
391
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
391
392
|
|-------|------|---------|-------------|
|
|
392
393
|
| `thresholdKb` | `number` | `1024` | Soglia di dimensione del file in kilobyte al di sopra della quale viene emesso un avviso. |
|
|
393
394
|
|
|
@@ -404,7 +405,7 @@ Fornisci agli agenti contesto extra prima di operazioni potenzialmente rischiose
|
|
|
404
405
|
```
|
|
405
406
|
|
|
406
407
|
<Note>
|
|
407
|
-
Il gestore dell'hook applica un limite stdin di 1 MB sui payload. Per testare questa politica con contenuto piccolo, imposta `thresholdKb` su un valore ben
|
|
408
|
+
Il gestore dell'hook applica un limite stdin di 1 MB sui payload. Per testare questa politica con contenuto piccolo, imposta `thresholdKb` su un valore ben al di sotto di 1024.
|
|
408
409
|
</Note>
|
|
409
410
|
|
|
410
411
|
---
|
|
@@ -412,7 +413,7 @@ Il gestore dell'hook applica un limite stdin di 1 MB sui payload. Per testare qu
|
|
|
412
413
|
### `warn-package-publish`
|
|
413
414
|
|
|
414
415
|
**Evento:** PreToolUse (Bash)
|
|
415
|
-
**
|
|
416
|
+
**Predefinito:** Istruisce Claude a confermare prima di eseguire `npm publish`.
|
|
416
417
|
|
|
417
418
|
Nessun parametro.
|
|
418
419
|
|
|
@@ -421,7 +422,7 @@ Nessun parametro.
|
|
|
421
422
|
### `warn-background-process`
|
|
422
423
|
|
|
423
424
|
**Evento:** PreToolUse (Bash)
|
|
424
|
-
**
|
|
425
|
+
**Predefinito:** Istruisce Claude di stare attento quando avvia processi in background tramite `nohup`, `&`, `disown`, o `screen`.
|
|
425
426
|
|
|
426
427
|
Nessun parametro.
|
|
427
428
|
|
|
@@ -430,35 +431,71 @@ Nessun parametro.
|
|
|
430
431
|
### `warn-global-package-install`
|
|
431
432
|
|
|
432
433
|
**Evento:** PreToolUse (Bash)
|
|
433
|
-
**
|
|
434
|
+
**Predefinito:** Istruisce Claude a confermare prima di eseguire `npm install -g`, `yarn global add`, o `pip install` senza un ambiente virtuale.
|
|
434
435
|
|
|
435
436
|
Nessun parametro.
|
|
436
437
|
|
|
437
438
|
---
|
|
438
439
|
|
|
439
|
-
##
|
|
440
|
+
## Gestori di pacchetti
|
|
440
441
|
|
|
441
|
-
|
|
442
|
+
Applica quale gestore di pacchetti l'agente è autorizzato a utilizzare.
|
|
443
|
+
|
|
444
|
+
### `prefer-package-manager`
|
|
445
|
+
|
|
446
|
+
**Evento:** PreToolUse (Bash)
|
|
447
|
+
**Predefinito:** Disabilitato. Quando abilitato, blocca qualsiasi comando del gestore di pacchetti non nell'elenco `allowed` e dice a Claude di riscrivere il comando utilizzando un gestore consentito.
|
|
448
|
+
|
|
449
|
+
Rileva: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
|
|
450
|
+
|
|
451
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
452
|
+
|-----------|------|---------|-------------|
|
|
453
|
+
| `allowed` | string[] | `[]` | Nomi dei gestori di pacchetti consentiti. Qualsiasi gestore rilevato non in questo elenco viene bloccato. Quando vuoto, la politica è inoperante. |
|
|
454
|
+
| `blocked` | string[] | `[]` | Nomi di gestori aggiuntivi da bloccare oltre all'elenco integrato (ad es. `['pdm', 'pipx']`). |
|
|
455
|
+
|
|
456
|
+
L'elenco di blocchi integrato copre: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Usa `blocked` per aggiungere gestori non in questo elenco.
|
|
457
|
+
|
|
458
|
+
**Configurazione di esempio:**
|
|
459
|
+
|
|
460
|
+
```json
|
|
461
|
+
{
|
|
462
|
+
"enabledPolicies": ["prefer-package-manager"],
|
|
463
|
+
"policyParams": {
|
|
464
|
+
"prefer-package-manager": {
|
|
465
|
+
"allowed": ["uv", "bun"],
|
|
466
|
+
"blocked": ["pdm", "pipx"]
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
Con questa configurazione, `pip install flask` e `pdm install flask` sono entrambi negati con un messaggio che dice a Claude di utilizzare `uv` o `bun`. Comandi come `uv pip install flask` sono consentiti perché `uv` è nell'elenco consentito e viene verificato per primo.
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## Comportamento dell'IA
|
|
477
|
+
|
|
478
|
+
Rileva quando gli agenti rimangono bloccati o si comportano inaspettatamente.
|
|
442
479
|
|
|
443
480
|
### `warn-repeated-tool-calls`
|
|
444
481
|
|
|
445
482
|
**Evento:** PreToolUse (tutti gli strumenti)
|
|
446
|
-
**
|
|
483
|
+
**Predefinito:** Istruisce Claude a riconsiderare quando lo stesso strumento viene chiamato 3 o più volte con parametri identici — un segno comune che l'agente è bloccato in un loop.
|
|
447
484
|
|
|
448
485
|
Nessun parametro.
|
|
449
486
|
|
|
450
487
|
---
|
|
451
488
|
|
|
452
|
-
##
|
|
489
|
+
## Flusso di lavoro
|
|
453
490
|
|
|
454
|
-
Applica un
|
|
491
|
+
Applica un flusso di lavoro di fine sessione disciplinato. Queste politiche si attivano sull'evento **Stop** e negano a Claude di fermarsi fino a quando ogni condizione non è soddisfatta. Seguono una catena di dipendenza naturale: commit → push → PR → CI. Se una politica nega, le politiche successive nella catena vengono saltate (deny short-circuits).
|
|
455
492
|
|
|
456
|
-
Tutte le politiche di
|
|
493
|
+
Tutte le politiche di flusso di lavoro sono **fail-open**: se lo strumento richiesto non è disponibile (ad es. `gh` non installato, nessun remote git), la politica consente con un messaggio informativo che spiega perché il controllo è stato saltato.
|
|
457
494
|
|
|
458
495
|
### `require-commit-before-stop`
|
|
459
496
|
|
|
460
497
|
**Evento:** Stop
|
|
461
|
-
**
|
|
498
|
+
**Predefinito:** Nega l'arresto quando ci sono modifiche non commitatte (file modificati, preparati o non tracciati). Restituisce un messaggio informativo quando la directory di lavoro è pulita.
|
|
462
499
|
|
|
463
500
|
Nessun parametro.
|
|
464
501
|
|
|
@@ -467,13 +504,13 @@ Nessun parametro.
|
|
|
467
504
|
### `require-push-before-stop`
|
|
468
505
|
|
|
469
506
|
**Evento:** Stop
|
|
470
|
-
**
|
|
507
|
+
**Predefinito:** Nega l'arresto quando ci sono commit non pushati o quando il branch attuale non ha un remote branch di tracciamento. Suggerisce `git push -u` per creare un branch di tracciamento se necessario. Fallisce aperto se nessun remote è configurato.
|
|
471
508
|
|
|
472
509
|
**Parametri:**
|
|
473
510
|
|
|
474
|
-
|
|
|
511
|
+
| Parametro | Tipo | Predefinito | Descrizione |
|
|
475
512
|
|-------|------|---------|-------------|
|
|
476
|
-
| `remote` | `string` | `"origin"` | Nome del remote
|
|
513
|
+
| `remote` | `string` | `"origin"` | Nome del remote per eseguire il push. |
|
|
477
514
|
|
|
478
515
|
**Esempio:**
|
|
479
516
|
|
|
@@ -492,14 +529,14 @@ Nessun parametro.
|
|
|
492
529
|
### `require-pr-before-stop`
|
|
493
530
|
|
|
494
531
|
**Evento:** Stop
|
|
495
|
-
**
|
|
532
|
+
**Predefinito:** Nega l'arresto quando nessuna pull request esiste per il branch attuale, o quando la PR esistente è chiusa/unita. Istruisce Claude a creare una PR con `gh pr create`.
|
|
496
533
|
|
|
497
534
|
Nessun parametro.
|
|
498
535
|
|
|
499
536
|
<Note>
|
|
500
|
-
Questa politica richiede
|
|
501
|
-
Esegui `gh auth login` con un personal access token che ha
|
|
502
|
-
pull request. Se `gh` non è installato o non
|
|
537
|
+
Questa politica richiede che [GitHub CLI](https://cli.github.com/) (`gh`) sia installato e autenticato.
|
|
538
|
+
Esegui `gh auth login` con un personal access token che ha scope `repo` per l'accesso in lettura alle
|
|
539
|
+
pull request. Se `gh` non è installato o non autenticato, la politica fallisce aperta e segnala il motivo a Claude.
|
|
503
540
|
</Note>
|
|
504
541
|
|
|
505
542
|
---
|
|
@@ -507,21 +544,21 @@ pull request. Se `gh` non è installato o non è autenticato, la politica fallis
|
|
|
507
544
|
### `require-ci-green-before-stop`
|
|
508
545
|
|
|
509
546
|
**Evento:** Stop
|
|
510
|
-
**
|
|
547
|
+
**Predefinito:** Nega l'arresto quando i controlli CI hanno esito negativo o sono ancora in esecuzione nel branch attuale. Verifica sia i GitHub Actions workflow run che i controlli di bot di terze parti (ad es. CodeRabbit, SonarCloud, Codecov). Tratta le conclusioni `skipped` come successo. Restituisce un messaggio informativo quando tutti i controlli passano.
|
|
511
548
|
|
|
512
549
|
Nessun parametro.
|
|
513
550
|
|
|
514
551
|
<Note>
|
|
515
|
-
Questa politica richiede
|
|
516
|
-
Esegui `gh auth login` con un personal access token che ha
|
|
517
|
-
workflow run
|
|
552
|
+
Questa politica richiede che [GitHub CLI](https://cli.github.com/) (`gh`) sia installato e autenticato.
|
|
553
|
+
Esegui `gh auth login` con un personal access token che ha scope `repo` per l'accesso in lettura ai
|
|
554
|
+
GitHub Actions workflow run e all'API dei Checks. Se `gh` non è installato o non autenticato, la politica fallisce aperta e segnala il motivo a Claude.
|
|
518
555
|
</Note>
|
|
519
556
|
|
|
520
557
|
---
|
|
521
558
|
|
|
522
559
|
---
|
|
523
560
|
|
|
524
|
-
## Disabilitazione
|
|
561
|
+
## Disabilitazione delle singole politiche
|
|
525
562
|
|
|
526
563
|
Rimuovi una politica specifica da `enabledPolicies` nella tua configurazione, o disattivala nella scheda Politiche del dashboard.
|
|
527
564
|
|