failproofai 0.0.6-beta.1 → 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/.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]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~kmh8w._.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]__0rh.18_._.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/{0gbf4cphy8ksq.js → 0-dm_9a6nsc2l.js} +1 -1
- package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 01pmw1-asbek~.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 051m32nx~n5yr.js} +1 -1
- package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0a-yctdwn368y.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0l-mu4okl-cj1.js} +1 -1
- package/.next/standalone/.next/static/chunks/{08t08igdql9yt.js → 0mazj-p-~2kc6.js} +1 -1
- package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
- package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 156zca6aewyr-.js} +1 -1
- package/.next/standalone/CHANGELOG.md +18 -0
- package/.next/standalone/bin/failproofai.mjs +91 -4
- package/.next/standalone/dist/cli.mjs +1156 -55
- package/.next/standalone/docs/ar/built-in-policies.mdx +140 -103
- 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 +3 -3
- package/.next/standalone/docs/de/built-in-policies.mdx +97 -60
- 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 +91 -54
- 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 +99 -62
- 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 +139 -99
- 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 +203 -166
- 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 +115 -78
- 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 +155 -118
- 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 +103 -66
- 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 +72 -35
- 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 +135 -98
- 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 +126 -89
- 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 +116 -81
- 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 +117 -82
- 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/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 +27 -21
- 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 +1156 -55
- 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 +27 -21
- 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/0wlyoif4_kj_t.js +0 -6
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Встроенные политики
|
|
3
|
-
description: "Все 30 встроенных политик, которые
|
|
3
|
+
description: "Все 30 встроенных политик, которые ловят распространённые режимы отказа агентов"
|
|
4
4
|
icon: shield
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
failproofai поставляется с 30 встроенными политиками, которые
|
|
7
|
+
failproofai поставляется с 30 встроенными политиками, которые ловят распространённые режимы отказа агентов. Каждая политика срабатывает на определённый тип события хука и имя инструмента. Девять политик принимают параметры, которые позволяют вам настраивать их поведение без написания кода. Четыре политики рабочего процесса обеспечивают конвейер commit → push → PR → CI перед тем, как Claude остановится.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -13,7 +13,7 @@ failproofai поставляется с 30 встроенными политик
|
|
|
13
13
|
Политики сгруппированы по категориям:
|
|
14
14
|
|
|
15
15
|
| Категория | Политики | Тип хука |
|
|
16
|
-
|
|
16
|
+
|----------|----------|-----------|
|
|
17
17
|
| [Опасные команды](#опасные-команды) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
18
18
|
| [Секреты (санитайзеры)](#секреты-санитайзеры) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
19
19
|
| [Окружение](#окружение) | block-env-files, protect-env-vars | PreToolUse |
|
|
@@ -21,36 +21,37 @@ failproofai поставляется с 30 встроенными политик
|
|
|
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
|
| [База данных](#база-данных) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
|
|
23
23
|
| [Предупреждения](#предупреждения) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
|
|
24
|
+
| [Менеджеры пакетов](#менеджеры-пакетов) | prefer-package-manager | PreToolUse |
|
|
24
25
|
| [Рабочий процесс](#рабочий-процесс) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
25
26
|
|
|
26
27
|
- **`block-`** — остановить агента от продолжения.
|
|
27
|
-
- **`warn-`** — дать агенту дополнительный контекст, чтобы он мог
|
|
28
|
-
- **`sanitize-`** — удалить чувствительные данные из
|
|
29
|
-
- **`require-`** —
|
|
28
|
+
- **`warn-`** — дать агенту дополнительный контекст, чтобы он мог сам исправиться.
|
|
29
|
+
- **`sanitize-`** — удалить чувствительные данные из вывода инструмента перед тем, как их увидит агент.
|
|
30
|
+
- **`require-`** — заблокировать событие Stop до выполнения условий.
|
|
30
31
|
|
|
31
32
|
---
|
|
32
33
|
|
|
33
34
|
<Tip>
|
|
34
|
-
Каждая политика поддерживает
|
|
35
|
+
Каждая политика поддерживает опциональное поле `hint` в `policyParams`. Подсказка добавляется к сообщению отказа или инструкции, которые видит Claude, предоставляя полезные рекомендации без изменения кода политики. Работает с встроенными, пользовательскими и политиками соглашений. См. раздел [Конфигурация → hint](/ru/configuration#hint-cross-cutting) для деталей.
|
|
35
36
|
</Tip>
|
|
36
37
|
|
|
37
38
|
---
|
|
38
39
|
|
|
39
40
|
## Опасные команды
|
|
40
41
|
|
|
41
|
-
Предотвратите
|
|
42
|
+
Предотвратите запуск агентами операций, которые трудно отменить или которые могут повредить хост-систему.
|
|
42
43
|
|
|
43
44
|
### `block-sudo`
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
**По умолчанию:**
|
|
46
|
+
**Событие:** PreToolUse (Bash)
|
|
47
|
+
**По умолчанию:** Запрещает любую команду `sudo`.
|
|
47
48
|
|
|
48
|
-
Блокирует вызовы,
|
|
49
|
+
Блокирует вызовы, включающие ключевое слово `sudo`. Сопоставление шаблонов выполняется на разобранных токенах команды, а не на исходной строке, чтобы предотвратить обход через инъекцию оператора shell.
|
|
49
50
|
|
|
50
51
|
**Параметры:**
|
|
51
52
|
|
|
52
53
|
| Параметр | Тип | По умолчанию | Описание |
|
|
53
|
-
|
|
54
|
+
|-------|------|---------|-------------|
|
|
54
55
|
| `allowPatterns` | `string[]` | `[]` | Точные префиксы команд, которые разрешены. Каждая запись сопоставляется с разобранными токенами argv. |
|
|
55
56
|
|
|
56
57
|
**Пример:**
|
|
@@ -65,24 +66,24 @@ failproofai поставляется с 30 встроенными политик
|
|
|
65
66
|
}
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
С
|
|
69
|
+
С этой конфигурацией `sudo systemctl status nginx` разрешается, но `sudo rm /etc/hosts` запрещается.
|
|
69
70
|
|
|
70
71
|
<Note>
|
|
71
|
-
Шаблоны сопоставляются с разобранными токенами, а не с исходной
|
|
72
|
+
Шаблоны сопоставляются с разобранными токенами, а не с исходной строкой команды. Это предотвращает обход через добавленные операторы shell (например, `sudo systemctl status x; rm -rf /` не соответствует `sudo systemctl status *`).
|
|
72
73
|
</Note>
|
|
73
74
|
|
|
74
75
|
---
|
|
75
76
|
|
|
76
77
|
### `block-rm-rf`
|
|
77
78
|
|
|
78
|
-
|
|
79
|
-
**По умолчанию:**
|
|
79
|
+
**Событие:** PreToolUse (Bash)
|
|
80
|
+
**По умолчанию:** Запрещает `rm -rf`, `rm -fr` и аналогичные формы рекурсивного удаления.
|
|
80
81
|
|
|
81
82
|
**Параметры:**
|
|
82
83
|
|
|
83
84
|
| Параметр | Тип | По умолчанию | Описание |
|
|
84
|
-
|
|
85
|
-
| `allowPaths` | `string[]` | `[]` | Пути,
|
|
85
|
+
|-------|------|---------|-------------|
|
|
86
|
+
| `allowPaths` | `string[]` | `[]` | Пути, безопасные для рекурсивного удаления (например, `/tmp`). |
|
|
86
87
|
|
|
87
88
|
**Пример:**
|
|
88
89
|
|
|
@@ -100,8 +101,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
100
101
|
|
|
101
102
|
### `block-curl-pipe-sh`
|
|
102
103
|
|
|
103
|
-
|
|
104
|
-
**По умолчанию:**
|
|
104
|
+
**Событие:** PreToolUse (Bash)
|
|
105
|
+
**По умолчанию:** Запрещает `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` и аналогичные шаблоны.
|
|
105
106
|
|
|
106
107
|
Нет параметров.
|
|
107
108
|
|
|
@@ -109,8 +110,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
109
110
|
|
|
110
111
|
### `block-failproofai-commands`
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
**По умолчанию:**
|
|
113
|
+
**Событие:** PreToolUse (Bash)
|
|
114
|
+
**По умолчанию:** Запрещает команды, которые выполняли бы удаление или отключение самого failproofai (например, `npm uninstall failproofai`, `failproofai policies --uninstall`).
|
|
114
115
|
|
|
115
116
|
Нет параметров.
|
|
116
117
|
|
|
@@ -118,12 +119,12 @@ failproofai поставляется с 30 встроенными политик
|
|
|
118
119
|
|
|
119
120
|
## Секреты (санитайзеры)
|
|
120
121
|
|
|
121
|
-
Предотвратите утечку учётных данных
|
|
122
|
+
Предотвратите утечку агентами учётных данных в их контекст или вывод. Политики санитайзеры срабатывают на событиях **PostToolUse**. Когда Claude запускает команду Bash, читает файл или вызывает любой инструмент, эти политики проверяют вывод перед возвратом Claude. Если обнаруживается шаблон секрета, политика возвращает решение отказа, которое предотвращает передачу вывода.
|
|
122
123
|
|
|
123
124
|
### `sanitize-jwt`
|
|
124
125
|
|
|
125
|
-
|
|
126
|
-
**По умолчанию:** Скрывает JWT
|
|
126
|
+
**Событие:** PostToolUse (все инструменты)
|
|
127
|
+
**По умолчанию:** Скрывает JWT токены (три сегмента base64url, разделённые `.`).
|
|
127
128
|
|
|
128
129
|
Нет параметров.
|
|
129
130
|
|
|
@@ -131,14 +132,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
131
132
|
|
|
132
133
|
### `sanitize-api-keys`
|
|
133
134
|
|
|
134
|
-
|
|
135
|
-
**По умолчанию:** Скрывает распространённые форматы API
|
|
135
|
+
**Событие:** PostToolUse (все инструменты)
|
|
136
|
+
**По умолчанию:** Скрывает распространённые форматы API ключей: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS access keys (`AKIA`), Stripe keys (`sk_live_`, `sk_test_`), и Google API keys (`AIza`).
|
|
136
137
|
|
|
137
138
|
**Параметры:**
|
|
138
139
|
|
|
139
140
|
| Параметр | Тип | По умолчанию | Описание |
|
|
140
|
-
|
|
141
|
-
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Дополнительные regex
|
|
141
|
+
|-------|------|---------|-------------|
|
|
142
|
+
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Дополнительные regex шаблоны для обработки как секреты. |
|
|
142
143
|
|
|
143
144
|
**Пример:**
|
|
144
145
|
|
|
@@ -159,8 +160,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
159
160
|
|
|
160
161
|
### `sanitize-connection-strings`
|
|
161
162
|
|
|
162
|
-
|
|
163
|
-
**По умолчанию:** Скрывает строки подключения
|
|
163
|
+
**Событие:** PostToolUse (все инструменты)
|
|
164
|
+
**По умолчанию:** Скрывает строки подключения базы данных, содержащие встроенные учётные данные (например, `postgresql://user:password@host/db`).
|
|
164
165
|
|
|
165
166
|
Нет параметров.
|
|
166
167
|
|
|
@@ -168,8 +169,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
168
169
|
|
|
169
170
|
### `sanitize-private-key-content`
|
|
170
171
|
|
|
171
|
-
|
|
172
|
-
**По умолчанию:** Скрывает PEM
|
|
172
|
+
**Событие:** PostToolUse (все инструменты)
|
|
173
|
+
**По умолчанию:** Скрывает блоки PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, и т. д.).
|
|
173
174
|
|
|
174
175
|
Нет параметров.
|
|
175
176
|
|
|
@@ -177,8 +178,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
177
178
|
|
|
178
179
|
### `sanitize-bearer-tokens`
|
|
179
180
|
|
|
180
|
-
|
|
181
|
-
**По умолчанию:** Скрывает заголовки `Authorization: Bearer <token>`, где токен
|
|
181
|
+
**Событие:** PostToolUse (все инструменты)
|
|
182
|
+
**По умолчанию:** Скрывает заголовки `Authorization: Bearer <token>`, где токен содержит 20 или более символов.
|
|
182
183
|
|
|
183
184
|
Нет параметров.
|
|
184
185
|
|
|
@@ -190,10 +191,10 @@ failproofai поставляется с 30 встроенными политик
|
|
|
190
191
|
|
|
191
192
|
### `block-env-files`
|
|
192
193
|
|
|
193
|
-
|
|
194
|
-
**По умолчанию:**
|
|
194
|
+
**Событие:** PreToolUse (Bash, Read)
|
|
195
|
+
**По умолчанию:** Запрещает чтение файлов `.env` через `cat .env`, вызовы инструмента Read с `.env` как путём к файлу и т. д.
|
|
195
196
|
|
|
196
|
-
Не блокирует `.envrc` или другие файлы, связанные с окружением — только
|
|
197
|
+
Не блокирует `.envrc` или другие файлы, связанные с окружением — только файлы с именем ровно `.env`.
|
|
197
198
|
|
|
198
199
|
Нет параметров.
|
|
199
200
|
|
|
@@ -201,8 +202,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
201
202
|
|
|
202
203
|
### `protect-env-vars`
|
|
203
204
|
|
|
204
|
-
|
|
205
|
-
**По умолчанию:**
|
|
205
|
+
**Событие:** PreToolUse (Bash)
|
|
206
|
+
**По умолчанию:** Запрещает команды, которые выводят переменные окружения: `printenv`, `env`, `echo $VAR`.
|
|
206
207
|
|
|
207
208
|
Нет параметров.
|
|
208
209
|
|
|
@@ -210,18 +211,18 @@ failproofai поставляется с 30 встроенными политик
|
|
|
210
211
|
|
|
211
212
|
## Доступ к файлам
|
|
212
213
|
|
|
213
|
-
Держите агентов внутри границ проекта и
|
|
214
|
+
Держите агентов работающими внутри границ проекта и вдали от чувствительных файлов.
|
|
214
215
|
|
|
215
216
|
### `block-read-outside-cwd`
|
|
216
217
|
|
|
217
|
-
|
|
218
|
-
**По умолчанию:**
|
|
218
|
+
**Событие:** PreToolUse (Read, Bash)
|
|
219
|
+
**По умолчанию:** Запрещает чтение файлов вне текущей рабочей директории (корень проекта).
|
|
219
220
|
|
|
220
221
|
**Параметры:**
|
|
221
222
|
|
|
222
223
|
| Параметр | Тип | По умолчанию | Описание |
|
|
223
|
-
|
|
224
|
-
| `allowPaths` | `string[]` | `[]` |
|
|
224
|
+
|-------|------|---------|-------------|
|
|
225
|
+
| `allowPaths` | `string[]` | `[]` | Абсолютные префиксы путей, которые разрешены даже если они вне cwd. |
|
|
225
226
|
|
|
226
227
|
**Пример:**
|
|
227
228
|
|
|
@@ -239,13 +240,13 @@ failproofai поставляется с 30 встроенными политик
|
|
|
239
240
|
|
|
240
241
|
### `block-secrets-write`
|
|
241
242
|
|
|
242
|
-
|
|
243
|
-
**По умолчанию:**
|
|
243
|
+
**Событие:** PreToolUse (Write, Edit)
|
|
244
|
+
**По умолчанию:** Запрещает записи в файлы, обычно используемые для приватных ключей и сертификатов: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
|
|
244
245
|
|
|
245
246
|
**Параметры:**
|
|
246
247
|
|
|
247
248
|
| Параметр | Тип | По умолчанию | Описание |
|
|
248
|
-
|
|
249
|
+
|-------|------|---------|-------------|
|
|
249
250
|
| `additionalPatterns` | `string[]` | `[]` | Дополнительные шаблоны имён файлов (glob-стиль) для блокировки. |
|
|
250
251
|
|
|
251
252
|
**Пример:**
|
|
@@ -264,18 +265,18 @@ failproofai поставляется с 30 встроенными политик
|
|
|
264
265
|
|
|
265
266
|
## Git
|
|
266
267
|
|
|
267
|
-
Предотвратите случайные
|
|
268
|
+
Предотвратите случайные push, force-push и ошибки ветвей, которые трудно отменить.
|
|
268
269
|
|
|
269
270
|
### `block-push-master`
|
|
270
271
|
|
|
271
|
-
|
|
272
|
-
**По умолчанию:**
|
|
272
|
+
**Событие:** PreToolUse (Bash)
|
|
273
|
+
**По умолчанию:** Запрещает `git push origin main` и `git push origin master`.
|
|
273
274
|
|
|
274
275
|
**Параметры:**
|
|
275
276
|
|
|
276
277
|
| Параметр | Тип | По умолчанию | Описание |
|
|
277
|
-
|
|
278
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей,
|
|
278
|
+
|-------|------|---------|-------------|
|
|
279
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, на которые нельзя пушить напрямую. |
|
|
279
280
|
|
|
280
281
|
**Пример:**
|
|
281
282
|
|
|
@@ -290,30 +291,30 @@ failproofai поставляется с 30 встроенными политик
|
|
|
290
291
|
```
|
|
291
292
|
|
|
292
293
|
<Tip>
|
|
293
|
-
Чтобы разрешить
|
|
294
|
+
Чтобы разрешить пушинг во все ветви (фактически отключив эту политику без удаления её из `enabledPolicies`), установите `protectedBranches: []`.
|
|
294
295
|
</Tip>
|
|
295
296
|
|
|
296
297
|
---
|
|
297
298
|
|
|
298
299
|
### `block-work-on-main`
|
|
299
300
|
|
|
300
|
-
|
|
301
|
-
**По умолчанию:**
|
|
301
|
+
**Событие:** PreToolUse (Bash)
|
|
302
|
+
**По умолчанию:** Запрещает checkout веток `main` или `master` напрямую.
|
|
302
303
|
|
|
303
304
|
**Параметры:**
|
|
304
305
|
|
|
305
306
|
| Параметр | Тип | По умолчанию | Описание |
|
|
306
|
-
|
|
307
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, которые нельзя
|
|
307
|
+
|-------|------|---------|-------------|
|
|
308
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, которые нельзя checkoutить напрямую. |
|
|
308
309
|
|
|
309
310
|
---
|
|
310
311
|
|
|
311
312
|
### `block-force-push`
|
|
312
313
|
|
|
313
|
-
|
|
314
|
-
**По умолчанию:**
|
|
314
|
+
**Событие:** PreToolUse (Bash)
|
|
315
|
+
**По умолчанию:** Запрещает `git push --force` и `git push -f`.
|
|
315
316
|
|
|
316
|
-
Нет
|
|
317
|
+
Нет политик-специфичных параметров. Используйте кросс-режущую [`hint`](/ru/configuration#hint-cross-cutting) для предложения альтернатив:
|
|
317
318
|
|
|
318
319
|
```json
|
|
319
320
|
{
|
|
@@ -329,7 +330,7 @@ failproofai поставляется с 30 встроенными политик
|
|
|
329
330
|
|
|
330
331
|
### `warn-git-amend`
|
|
331
332
|
|
|
332
|
-
|
|
333
|
+
**Событие:** PreToolUse (Bash)
|
|
333
334
|
**По умолчанию:** Инструктирует Claude действовать осторожно при запуске `git commit --amend`. Не блокирует команду.
|
|
334
335
|
|
|
335
336
|
Нет параметров.
|
|
@@ -338,7 +339,7 @@ failproofai поставляется с 30 встроенными политик
|
|
|
338
339
|
|
|
339
340
|
### `warn-git-stash-drop`
|
|
340
341
|
|
|
341
|
-
|
|
342
|
+
**Событие:** PreToolUse (Bash)
|
|
342
343
|
**По умолчанию:** Инструктирует Claude подтвердить перед запуском `git stash drop`. Не блокирует команду.
|
|
343
344
|
|
|
344
345
|
Нет параметров.
|
|
@@ -347,8 +348,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
347
348
|
|
|
348
349
|
### `warn-all-files-staged`
|
|
349
350
|
|
|
350
|
-
|
|
351
|
-
**По умолчанию:** Инструктирует Claude просмотреть то, что он
|
|
351
|
+
**Событие:** PreToolUse (Bash)
|
|
352
|
+
**По умолчанию:** Инструктирует Claude просмотреть то, что он staging, когда запускает `git add -A` или `git add .`. Не блокирует команду.
|
|
352
353
|
|
|
353
354
|
Нет параметров.
|
|
354
355
|
|
|
@@ -356,12 +357,12 @@ failproofai поставляется с 30 встроенными политик
|
|
|
356
357
|
|
|
357
358
|
## База данных
|
|
358
359
|
|
|
359
|
-
|
|
360
|
+
Ловите деструктивные SQL операции перед их выполнением против вашей базы данных.
|
|
360
361
|
|
|
361
362
|
### `warn-destructive-sql`
|
|
362
363
|
|
|
363
|
-
|
|
364
|
-
**По умолчанию:** Инструктирует Claude подтвердить перед запуском SQL, содержащего `DROP TABLE`, `DROP DATABASE
|
|
364
|
+
**Событие:** PreToolUse (Bash)
|
|
365
|
+
**По умолчанию:** Инструктирует Claude подтвердить перед запуском SQL, содержащего `DROP TABLE`, `DROP DATABASE`, или `DELETE` без `WHERE` предложения.
|
|
365
366
|
|
|
366
367
|
Нет параметров.
|
|
367
368
|
|
|
@@ -369,8 +370,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
369
370
|
|
|
370
371
|
### `warn-schema-alteration`
|
|
371
372
|
|
|
372
|
-
|
|
373
|
-
**По умолчанию:** Инструктирует Claude подтвердить перед запуском
|
|
373
|
+
**Событие:** PreToolUse (Bash)
|
|
374
|
+
**По умолчанию:** Инструктирует Claude подтвердить перед запуском операций `ALTER TABLE`.
|
|
374
375
|
|
|
375
376
|
Нет параметров.
|
|
376
377
|
|
|
@@ -378,17 +379,17 @@ failproofai поставляется с 30 встроенными политик
|
|
|
378
379
|
|
|
379
380
|
## Предупреждения
|
|
380
381
|
|
|
381
|
-
Дайте агентам дополнительный контекст перед потенциально рискованными, но
|
|
382
|
+
Дайте агентам дополнительный контекст перед потенциально рискованными, но не деструктивными операциями.
|
|
382
383
|
|
|
383
384
|
### `warn-large-file-write`
|
|
384
385
|
|
|
385
|
-
|
|
386
|
-
**По умолчанию:** Инструктирует Claude подтвердить перед записью файлов
|
|
386
|
+
**Событие:** PreToolUse (Write)
|
|
387
|
+
**По умолчанию:** Инструктирует Claude подтвердить перед записью файлов больше 1024 КБ.
|
|
387
388
|
|
|
388
389
|
**Параметры:**
|
|
389
390
|
|
|
390
391
|
| Параметр | Тип | По умолчанию | Описание |
|
|
391
|
-
|
|
392
|
+
|-------|------|---------|-------------|
|
|
392
393
|
| `thresholdKb` | `number` | `1024` | Порог размера файла в килобайтах, выше которого выводится предупреждение. |
|
|
393
394
|
|
|
394
395
|
**Пример:**
|
|
@@ -404,14 +405,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
404
405
|
```
|
|
405
406
|
|
|
406
407
|
<Note>
|
|
407
|
-
Обработчик хука обеспечивает
|
|
408
|
+
Обработчик хука обеспечивает лимит stdin в 1 МБ на полезные нагрузки. Для тестирования этой политики с малым содержимым установите `thresholdKb` на значение хорошо ниже 1024.
|
|
408
409
|
</Note>
|
|
409
410
|
|
|
410
411
|
---
|
|
411
412
|
|
|
412
413
|
### `warn-package-publish`
|
|
413
414
|
|
|
414
|
-
|
|
415
|
+
**Событие:** PreToolUse (Bash)
|
|
415
416
|
**По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm publish`.
|
|
416
417
|
|
|
417
418
|
Нет параметров.
|
|
@@ -420,8 +421,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
420
421
|
|
|
421
422
|
### `warn-background-process`
|
|
422
423
|
|
|
423
|
-
|
|
424
|
-
**По умолчанию:** Инструктирует Claude быть осторожным при запуске фоновых процессов через `nohup`, `&`, `disown
|
|
424
|
+
**Событие:** PreToolUse (Bash)
|
|
425
|
+
**По умолчанию:** Инструктирует Claude быть осторожным при запуске фоновых процессов через `nohup`, `&`, `disown`, или `screen`.
|
|
425
426
|
|
|
426
427
|
Нет параметров.
|
|
427
428
|
|
|
@@ -429,21 +430,57 @@ failproofai поставляется с 30 встроенными политик
|
|
|
429
430
|
|
|
430
431
|
### `warn-global-package-install`
|
|
431
432
|
|
|
432
|
-
|
|
433
|
-
**По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm install -g`, `yarn global add
|
|
433
|
+
**Событие:** PreToolUse (Bash)
|
|
434
|
+
**По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm install -g`, `yarn global add`, или `pip install` без виртуального окружения.
|
|
434
435
|
|
|
435
436
|
Нет параметров.
|
|
436
437
|
|
|
437
438
|
---
|
|
438
439
|
|
|
439
|
-
##
|
|
440
|
+
## Менеджеры пакетов
|
|
441
|
+
|
|
442
|
+
Обеспечьте, какой менеджер пакетов агенту разрешено использовать.
|
|
443
|
+
|
|
444
|
+
### `prefer-package-manager`
|
|
445
|
+
|
|
446
|
+
**Событие:** PreToolUse (Bash)
|
|
447
|
+
**По умолчанию:** Отключено. Когда включено, блокирует любую команду менеджера пакетов, не входящую в список `allowed`, и говорит Claude переписать команду, используя разрешённый менеджер.
|
|
448
|
+
|
|
449
|
+
Обнаруживает: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
|
|
450
|
+
|
|
451
|
+
| Параметр | Тип | По умолчанию | Описание |
|
|
452
|
+
|-----------|------|---------|-------------|
|
|
453
|
+
| `allowed` | string[] | `[]` | Разрешённые имена менеджеров пакетов. Любой обнаруженный менеджер, не входящий в этот список, блокируется. Когда пусто, политика неоперативна. |
|
|
454
|
+
| `blocked` | string[] | `[]` | Дополнительные имена менеджеров для блокировки сверх встроенного списка (например, `['pdm', 'pipx']`). |
|
|
455
|
+
|
|
456
|
+
Встроенный список блокировки охватывает: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Используйте `blocked` для добавления менеджеров, не входящих в этот список.
|
|
457
|
+
|
|
458
|
+
**Пример конфигурации:**
|
|
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
|
+
С этой конфигурацией `pip install flask` и `pdm install flask` оба запрещены с сообщением, говорящим Claude использовать `uv` или `bun` вместо этого. Команды типа `uv pip install flask` разрешены, потому что `uv` находится в списке разрешённых и проверяется первым.
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## Поведение AI
|
|
440
477
|
|
|
441
478
|
Обнаружьте, когда агенты застревают или ведут себя неожиданно.
|
|
442
479
|
|
|
443
480
|
### `warn-repeated-tool-calls`
|
|
444
481
|
|
|
445
|
-
|
|
446
|
-
**По умолчанию:** Инструктирует Claude пересмотреть, когда
|
|
482
|
+
**Событие:** PreToolUse (все инструменты)
|
|
483
|
+
**По умолчанию:** Инструктирует Claude пересмотреть, когда тот же инструмент вызывается 3+ раза с идентичными параметрами — распространённый признак того, что агент застрял в цикле.
|
|
447
484
|
|
|
448
485
|
Нет параметров.
|
|
449
486
|
|
|
@@ -451,14 +488,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
451
488
|
|
|
452
489
|
## Рабочий процесс
|
|
453
490
|
|
|
454
|
-
Обеспечьте дисциплинированный рабочий процесс конца
|
|
491
|
+
Обеспечьте дисциплинированный рабочий процесс конца сессии. Эти политики срабатывают на событии **Stop** и запрещают Claude останавливаться до выполнения каждого условия. Они следуют естественной цепочке зависимостей: commit → push → PR → CI. Если политика запрещает, позже идущие политики в цепи пропускаются (отказ коротко-замыкает).
|
|
455
492
|
|
|
456
493
|
Все политики рабочего процесса **fail-open**: если требуемый инструмент недоступен (например, `gh` не установлен, нет git remote), политика разрешает с информационным сообщением, объясняющим, почему проверка была пропущена.
|
|
457
494
|
|
|
458
495
|
### `require-commit-before-stop`
|
|
459
496
|
|
|
460
|
-
|
|
461
|
-
**По умолчанию:**
|
|
497
|
+
**Событие:** Stop
|
|
498
|
+
**По умолчанию:** Запрещает остановку, когда есть незакоммиченные изменения (изменённые, поставленные на stage или неотслеживаемые файлы). Возвращает информационное сообщение, когда рабочая директория чистая.
|
|
462
499
|
|
|
463
500
|
Нет параметров.
|
|
464
501
|
|
|
@@ -466,14 +503,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
466
503
|
|
|
467
504
|
### `require-push-before-stop`
|
|
468
505
|
|
|
469
|
-
|
|
470
|
-
**По умолчанию:**
|
|
506
|
+
**Событие:** Stop
|
|
507
|
+
**По умолчанию:** Запрещает остановку, когда есть неотправленные коммиты или когда текущая ветвь не имеет удалённой отслеживаемой ветви. Предлагает `git push -u` для создания отслеживаемой ветви при необходимости. Fails open если no remote не сконфигурирован.
|
|
471
508
|
|
|
472
509
|
**Параметры:**
|
|
473
510
|
|
|
474
511
|
| Параметр | Тип | По умолчанию | Описание |
|
|
475
|
-
|
|
476
|
-
| `remote` | `string` | `"origin"` | Имя remote для
|
|
512
|
+
|-------|------|---------|-------------|
|
|
513
|
+
| `remote` | `string` | `"origin"` | Имя remote для пушинга. |
|
|
477
514
|
|
|
478
515
|
**Пример:**
|
|
479
516
|
|
|
@@ -491,30 +528,30 @@ failproofai поставляется с 30 встроенными политик
|
|
|
491
528
|
|
|
492
529
|
### `require-pr-before-stop`
|
|
493
530
|
|
|
494
|
-
|
|
495
|
-
**По умолчанию:**
|
|
531
|
+
**Событие:** Stop
|
|
532
|
+
**По умолчанию:** Запрещает остановку, когда для текущей ветви не существует pull request, или когда существующий PR закрыт/merged. Инструктирует Claude создать PR с `gh pr create`.
|
|
496
533
|
|
|
497
534
|
Нет параметров.
|
|
498
535
|
|
|
499
536
|
<Note>
|
|
500
537
|
Эта политика требует установки и аутентификации [GitHub CLI](https://cli.github.com/) (`gh`).
|
|
501
538
|
Запустите `gh auth login` с личным токеном доступа, имеющим область `repo` для чтения доступа к
|
|
502
|
-
pull
|
|
539
|
+
pull requests. Если `gh` не установлен или не аутентифицирован, политика fails open и сообщает причину Claude.
|
|
503
540
|
</Note>
|
|
504
541
|
|
|
505
542
|
---
|
|
506
543
|
|
|
507
544
|
### `require-ci-green-before-stop`
|
|
508
545
|
|
|
509
|
-
|
|
510
|
-
**По умолчанию:**
|
|
546
|
+
**Событие:** Stop
|
|
547
|
+
**По умолчанию:** Запрещает остановку, когда CI проверки не проходят или ещё выполняются на текущей ветви. Проверяет как запуски рабочих процессов GitHub Actions, так и проверки сторонних ботов (например, CodeRabbit, SonarCloud, Codecov). Рассматривает `skipped` и `cancelled` выводы как успех. Возвращает информационное сообщение, когда все проверки проходят.
|
|
511
548
|
|
|
512
549
|
Нет параметров.
|
|
513
550
|
|
|
514
551
|
<Note>
|
|
515
552
|
Эта политика требует установки и аутентификации [GitHub CLI](https://cli.github.com/) (`gh`).
|
|
516
553
|
Запустите `gh auth login` с личным токеном доступа, имеющим область `repo` для чтения доступа к
|
|
517
|
-
запускам рабочих процессов Actions и API
|
|
554
|
+
запускам рабочих процессов Actions и Checks API. Если `gh` не установлен или не аутентифицирован, политика fails open и сообщает причину Claude.
|
|
518
555
|
</Note>
|
|
519
556
|
|
|
520
557
|
---
|
|
@@ -523,7 +560,7 @@ pull request. Если `gh` не установлен или не аутенти
|
|
|
523
560
|
|
|
524
561
|
## Отключение отдельных политик
|
|
525
562
|
|
|
526
|
-
Удалите
|
|
563
|
+
Удалите определённую политику из `enabledPolicies` в вашей конфигурации или отключите её на вкладке Policies в dashboardе.
|
|
527
564
|
|
|
528
565
|
```json
|
|
529
566
|
{
|
|
@@ -534,4 +571,4 @@ pull request. Если `gh` не установлен или не аутенти
|
|
|
534
571
|
}
|
|
535
572
|
```
|
|
536
573
|
|
|
537
|
-
Политики, не указанные в `enabledPolicies`, не запускаются, даже если существуют записи `policyParams
|
|
574
|
+
Политики, не указанные в `enabledPolicies`, не запускаются, даже если для них существуют записи `policyParams`.
|