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,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 組み込みポリシー
|
|
3
|
-
description: "エージェントの一般的な障害モードを検出する30
|
|
3
|
+
description: "エージェントの一般的な障害モードを検出する30種類の組み込みポリシー"
|
|
4
4
|
icon: shield
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
failproofai
|
|
7
|
+
failproofaiには、エージェントの一般的な障害モードを検出する30種類の組み込みポリシーが付属しています。各ポリシーは特定のフックイベントタイプとツール名に対して動作します。9つのポリシーはコードを書くことなく動作を調整できるパラメーターを受け付けます。4つのワークフローポリシーは、Claudeが停止する前にコミット → プッシュ → PR → CIのパイプラインを強制します。
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -24,37 +24,37 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
24
24
|
| [パッケージマネージャー](#package-managers) | prefer-package-manager | PreToolUse |
|
|
25
25
|
| [ワークフロー](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
26
26
|
|
|
27
|
-
- **`block-`** —
|
|
28
|
-
- **`warn-`** —
|
|
29
|
-
- **`sanitize-`** —
|
|
30
|
-
- **`require-`** — 条件が満たされるまで
|
|
27
|
+
- **`block-`** — エージェントの処理を停止します。
|
|
28
|
+
- **`warn-`** — エージェントが自己修正できるよう追加のコンテキストを提供します。
|
|
29
|
+
- **`sanitize-`** — エージェントが参照する前にツールの出力から機密データを除去します。
|
|
30
|
+
- **`require-`** — 条件が満たされるまでStopイベントをブロックします。
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
34
34
|
<Tip>
|
|
35
|
-
|
|
35
|
+
すべてのポリシーは`policyParams`でオプションの`hint`フィールドをサポートしています。ヒントはClaudeが参照するdenyまたはinstructメッセージに追加され、ポリシーコードを変更せずに実用的なガイダンスを提供します。組み込み、カスタム、規約ポリシーで動作します。詳細は[設定 → hint](/ja/configuration#hint-cross-cutting)を参照してください。
|
|
36
36
|
</Tip>
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
40
|
-
## 危険なコマンド
|
|
40
|
+
## 危険なコマンド {#dangerous-commands}
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
元に戻しにくい操作やホストシステムに損害を与える可能性のある操作をエージェントが実行しないようにします。
|
|
43
43
|
|
|
44
44
|
### `block-sudo`
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
**イベント:** PreToolUse (Bash)
|
|
47
|
+
**デフォルト:** `sudo`コマンドをすべて拒否します。
|
|
48
48
|
|
|
49
|
-
`sudo
|
|
49
|
+
`sudo`キーワードを含む呼び出しをブロックします。パターンマッチングは生の文字列ではなく、解析されたコマンドトークンに対して行われるため、シェル演算子インジェクションによるバイパスを防ぎます。
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
**パラメーター:**
|
|
52
52
|
|
|
53
53
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
54
54
|
|-------|------|---------|-------------|
|
|
55
|
-
| `allowPatterns` | `string[]` | `[]` |
|
|
55
|
+
| `allowPatterns` | `string[]` | `[]` | 許可する正確なコマンドプレフィックス。各エントリは解析されたargvトークンと照合されます。 |
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
**例:**
|
|
58
58
|
|
|
59
59
|
```json
|
|
60
60
|
{
|
|
@@ -66,26 +66,26 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
66
66
|
}
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
この設定では`sudo systemctl status nginx`は許可されますが、`sudo rm /etc/hosts`は拒否されます。
|
|
70
70
|
|
|
71
71
|
<Note>
|
|
72
|
-
|
|
72
|
+
パターンは生のコマンド文字列ではなく、解析されたトークンと照合されます。これにより、シェル演算子を追加することによるバイパスを防ぎます(例:`sudo systemctl status x; rm -rf /`は`sudo systemctl status *`にマッチしません)。
|
|
73
73
|
</Note>
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
77
77
|
### `block-rm-rf`
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
**イベント:** PreToolUse (Bash)
|
|
80
|
+
**デフォルト:** `rm -rf`、`rm -fr`、およびそれに類する再帰的削除のパターンをすべて拒否します。
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
**パラメーター:**
|
|
83
83
|
|
|
84
84
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
85
85
|
|-------|------|---------|-------------|
|
|
86
|
-
| `allowPaths` | `string[]` | `[]` |
|
|
86
|
+
| `allowPaths` | `string[]` | `[]` | 再帰的に削除しても安全なパス(例:`/tmp`)。 |
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
**例:**
|
|
89
89
|
|
|
90
90
|
```json
|
|
91
91
|
{
|
|
@@ -101,8 +101,8 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
101
101
|
|
|
102
102
|
### `block-curl-pipe-sh`
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
**イベント:** PreToolUse (Bash)
|
|
105
|
+
**デフォルト:** `curl <url> | bash`、`curl <url> | sh`、`wget <url> | bash`、およびそれに類するパターンをすべて拒否します。
|
|
106
106
|
|
|
107
107
|
パラメーターなし。
|
|
108
108
|
|
|
@@ -110,21 +110,21 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
110
110
|
|
|
111
111
|
### `block-failproofai-commands`
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
**イベント:** PreToolUse (Bash)
|
|
114
|
+
**デフォルト:** failproofai自体をアンインストールまたは無効化するコマンド(例:`npm uninstall failproofai`、`failproofai policies --uninstall`)を拒否します。
|
|
115
115
|
|
|
116
116
|
パラメーターなし。
|
|
117
117
|
|
|
118
118
|
---
|
|
119
119
|
|
|
120
|
-
## シークレット(サニタイザー)
|
|
120
|
+
## シークレット(サニタイザー) {#secrets-sanitizers}
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
エージェントがコンテキストや出力に認証情報を漏洩しないようにします。サニタイザーポリシーは**PostToolUse**イベントで動作します。ClaudeがBashコマンドを実行したり、ファイルを読み取ったり、ツールを呼び出したりすると、これらのポリシーはClaudeに返される前に出力を検査します。シークレットのパターンが検出された場合、ポリシーはdeny決定を返し、出力が返されないようにします。
|
|
123
123
|
|
|
124
124
|
### `sanitize-jwt`
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
**イベント:** PostToolUse(全ツール)
|
|
127
|
+
**デフォルト:** JWTトークン(`.`で区切られた3つのbase64urlセグメント)を削除します。
|
|
128
128
|
|
|
129
129
|
パラメーターなし。
|
|
130
130
|
|
|
@@ -132,16 +132,16 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
132
132
|
|
|
133
133
|
### `sanitize-api-keys`
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
**イベント:** PostToolUse(全ツール)
|
|
136
|
+
**デフォルト:** 一般的なAPIキー形式を削除します:Anthropic(`sk-ant-`)、OpenAI(`sk-`)、GitHub PAT(`ghp_`)、AWSアクセスキー(`AKIA`)、Stripeキー(`sk_live_`、`sk_test_`)、Google APIキー(`AIza`)。
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
**パラメーター:**
|
|
139
139
|
|
|
140
140
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
141
141
|
|-------|------|---------|-------------|
|
|
142
142
|
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | シークレットとして扱う追加の正規表現パターン。 |
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
**例:**
|
|
145
145
|
|
|
146
146
|
```json
|
|
147
147
|
{
|
|
@@ -160,8 +160,8 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
160
160
|
|
|
161
161
|
### `sanitize-connection-strings`
|
|
162
162
|
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
**イベント:** PostToolUse(全ツール)
|
|
164
|
+
**デフォルト:** 認証情報が埋め込まれたデータベース接続文字列(例:`postgresql://user:password@host/db`)を削除します。
|
|
165
165
|
|
|
166
166
|
パラメーターなし。
|
|
167
167
|
|
|
@@ -169,8 +169,8 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
169
169
|
|
|
170
170
|
### `sanitize-private-key-content`
|
|
171
171
|
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
**イベント:** PostToolUse(全ツール)
|
|
173
|
+
**デフォルト:** PEMブロック(`-----BEGIN PRIVATE KEY-----`、`-----BEGIN RSA PRIVATE KEY-----`など)を削除します。
|
|
174
174
|
|
|
175
175
|
パラメーターなし。
|
|
176
176
|
|
|
@@ -178,23 +178,23 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
178
178
|
|
|
179
179
|
### `sanitize-bearer-tokens`
|
|
180
180
|
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
**イベント:** PostToolUse(全ツール)
|
|
182
|
+
**デフォルト:** トークンが20文字以上の`Authorization: Bearer <token>`ヘッダーを削除します。
|
|
183
183
|
|
|
184
184
|
パラメーターなし。
|
|
185
185
|
|
|
186
186
|
---
|
|
187
187
|
|
|
188
|
-
## 環境
|
|
188
|
+
## 環境 {#environment}
|
|
189
189
|
|
|
190
|
-
|
|
190
|
+
エージェントによる機密環境設定の読み取りや露出を防ぎます。
|
|
191
191
|
|
|
192
192
|
### `block-env-files`
|
|
193
193
|
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
**イベント:** PreToolUse (Bash, Read)
|
|
195
|
+
**デフォルト:** `cat .env`、ファイルパスに`.env`を指定した`Read`ツール呼び出しなど、`.env`ファイルの読み取りを拒否します。
|
|
196
196
|
|
|
197
|
-
`.envrc
|
|
197
|
+
`.envrc`やその他の環境関連ファイルはブロックしません。`.env`という名前のファイルのみが対象です。
|
|
198
198
|
|
|
199
199
|
パラメーターなし。
|
|
200
200
|
|
|
@@ -202,29 +202,29 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
202
202
|
|
|
203
203
|
### `protect-env-vars`
|
|
204
204
|
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
**イベント:** PreToolUse (Bash)
|
|
206
|
+
**デフォルト:** 環境変数を出力するコマンド(`printenv`、`env`、`echo $VAR`)を拒否します。
|
|
207
207
|
|
|
208
208
|
パラメーターなし。
|
|
209
209
|
|
|
210
210
|
---
|
|
211
211
|
|
|
212
|
-
## ファイルアクセス
|
|
212
|
+
## ファイルアクセス {#file-access}
|
|
213
213
|
|
|
214
214
|
エージェントをプロジェクトの境界内に留め、機密ファイルへのアクセスを防ぎます。
|
|
215
215
|
|
|
216
216
|
### `block-read-outside-cwd`
|
|
217
217
|
|
|
218
|
-
|
|
219
|
-
|
|
218
|
+
**イベント:** PreToolUse (Read, Bash)
|
|
219
|
+
**デフォルト:** カレントワーキングディレクトリ(プロジェクトルート)の外にあるファイルの読み取りを拒否します。
|
|
220
220
|
|
|
221
|
-
|
|
221
|
+
**パラメーター:**
|
|
222
222
|
|
|
223
223
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
224
224
|
|-------|------|---------|-------------|
|
|
225
|
-
| `allowPaths` | `string[]` | `[]` | cwd
|
|
225
|
+
| `allowPaths` | `string[]` | `[]` | cwdの外でも許可する絶対パスのプレフィックス。 |
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
**例:**
|
|
228
228
|
|
|
229
229
|
```json
|
|
230
230
|
{
|
|
@@ -240,16 +240,16 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
240
240
|
|
|
241
241
|
### `block-secrets-write`
|
|
242
242
|
|
|
243
|
-
|
|
244
|
-
|
|
243
|
+
**イベント:** PreToolUse (Write, Edit)
|
|
244
|
+
**デフォルト:** 秘密鍵や証明書によく使われるファイル(`id_rsa`、`id_ed25519`、`*.key`、`*.pem`、`*.p12`、`*.pfx`)への書き込みを拒否します。
|
|
245
245
|
|
|
246
|
-
|
|
246
|
+
**パラメーター:**
|
|
247
247
|
|
|
248
248
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
249
249
|
|-------|------|---------|-------------|
|
|
250
|
-
| `additionalPatterns` | `string[]` | `[]` |
|
|
250
|
+
| `additionalPatterns` | `string[]` | `[]` | ブロックする追加のファイル名パターン(グロブ形式)。 |
|
|
251
251
|
|
|
252
|
-
|
|
252
|
+
**例:**
|
|
253
253
|
|
|
254
254
|
```json
|
|
255
255
|
{
|
|
@@ -263,22 +263,22 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
263
263
|
|
|
264
264
|
---
|
|
265
265
|
|
|
266
|
-
## Git
|
|
266
|
+
## Git {#git}
|
|
267
267
|
|
|
268
|
-
|
|
268
|
+
元に戻しにくい誤ったプッシュ、強制プッシュ、ブランチの操作ミスを防ぎます。
|
|
269
269
|
|
|
270
270
|
### `block-push-master`
|
|
271
271
|
|
|
272
|
-
|
|
273
|
-
|
|
272
|
+
**イベント:** PreToolUse (Bash)
|
|
273
|
+
**デフォルト:** `git push origin main`および`git push origin master`を拒否します。
|
|
274
274
|
|
|
275
|
-
|
|
275
|
+
**パラメーター:**
|
|
276
276
|
|
|
277
277
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
278
278
|
|-------|------|---------|-------------|
|
|
279
279
|
| `protectedBranches` | `string[]` | `["main", "master"]` | 直接プッシュできないブランチ名。 |
|
|
280
280
|
|
|
281
|
-
|
|
281
|
+
**例:**
|
|
282
282
|
|
|
283
283
|
```json
|
|
284
284
|
{
|
|
@@ -291,17 +291,17 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
291
291
|
```
|
|
292
292
|
|
|
293
293
|
<Tip>
|
|
294
|
-
すべてのブランチへのプッシュを許可する(`enabledPolicies
|
|
294
|
+
すべてのブランチへのプッシュを許可する(`enabledPolicies`からポリシーを削除せずに実質的に無効化する)には、`protectedBranches: []`を設定してください。
|
|
295
295
|
</Tip>
|
|
296
296
|
|
|
297
297
|
---
|
|
298
298
|
|
|
299
299
|
### `block-work-on-main`
|
|
300
300
|
|
|
301
|
-
|
|
302
|
-
|
|
301
|
+
**イベント:** PreToolUse (Bash)
|
|
302
|
+
**デフォルト:** `main`または`master`ブランチへの直接チェックアウトを拒否します。
|
|
303
303
|
|
|
304
|
-
|
|
304
|
+
**パラメーター:**
|
|
305
305
|
|
|
306
306
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
307
307
|
|-------|------|---------|-------------|
|
|
@@ -311,10 +311,10 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
311
311
|
|
|
312
312
|
### `block-force-push`
|
|
313
313
|
|
|
314
|
-
|
|
315
|
-
|
|
314
|
+
**イベント:** PreToolUse (Bash)
|
|
315
|
+
**デフォルト:** `git push --force`および`git push -f`を拒否します。
|
|
316
316
|
|
|
317
|
-
ポリシー固有のパラメーターはありません。クロスカッティングの
|
|
317
|
+
ポリシー固有のパラメーターはありません。クロスカッティングの[`hint`](/ja/configuration#hint-cross-cutting)を使用して代替手段を提案できます:
|
|
318
318
|
|
|
319
319
|
```json
|
|
320
320
|
{
|
|
@@ -330,8 +330,8 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
330
330
|
|
|
331
331
|
### `warn-git-amend`
|
|
332
332
|
|
|
333
|
-
|
|
334
|
-
|
|
333
|
+
**イベント:** PreToolUse (Bash)
|
|
334
|
+
**デフォルト:** `git commit --amend`を実行する際に慎重に進むようClaudeに指示します。コマンドはブロックしません。
|
|
335
335
|
|
|
336
336
|
パラメーターなし。
|
|
337
337
|
|
|
@@ -339,8 +339,8 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
339
339
|
|
|
340
340
|
### `warn-git-stash-drop`
|
|
341
341
|
|
|
342
|
-
|
|
343
|
-
|
|
342
|
+
**イベント:** PreToolUse (Bash)
|
|
343
|
+
**デフォルト:** `git stash drop`を実行する前に確認するようClaudeに指示します。コマンドはブロックしません。
|
|
344
344
|
|
|
345
345
|
パラメーターなし。
|
|
346
346
|
|
|
@@ -348,21 +348,21 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
348
348
|
|
|
349
349
|
### `warn-all-files-staged`
|
|
350
350
|
|
|
351
|
-
|
|
352
|
-
|
|
351
|
+
**イベント:** PreToolUse (Bash)
|
|
352
|
+
**デフォルト:** `git add -A`または`git add .`を実行する際にステージングする内容を確認するようClaudeに指示します。コマンドはブロックしません。
|
|
353
353
|
|
|
354
354
|
パラメーターなし。
|
|
355
355
|
|
|
356
356
|
---
|
|
357
357
|
|
|
358
|
-
## データベース
|
|
358
|
+
## データベース {#database}
|
|
359
359
|
|
|
360
|
-
|
|
360
|
+
データベースに対して実行される前に、破壊的なSQL操作を検出します。
|
|
361
361
|
|
|
362
362
|
### `warn-destructive-sql`
|
|
363
363
|
|
|
364
|
-
|
|
365
|
-
|
|
364
|
+
**イベント:** PreToolUse (Bash)
|
|
365
|
+
**デフォルト:** `DROP TABLE`、`DROP DATABASE`、または`WHERE`句のない`DELETE`を含むSQLを実行する前に確認するようClaudeに指示します。
|
|
366
366
|
|
|
367
367
|
パラメーターなし。
|
|
368
368
|
|
|
@@ -370,29 +370,29 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
370
370
|
|
|
371
371
|
### `warn-schema-alteration`
|
|
372
372
|
|
|
373
|
-
|
|
374
|
-
|
|
373
|
+
**イベント:** PreToolUse (Bash)
|
|
374
|
+
**デフォルト:** `ALTER TABLE`文を実行する前に確認するようClaudeに指示します。
|
|
375
375
|
|
|
376
376
|
パラメーターなし。
|
|
377
377
|
|
|
378
378
|
---
|
|
379
379
|
|
|
380
|
-
## 警告
|
|
380
|
+
## 警告 {#warnings}
|
|
381
381
|
|
|
382
|
-
|
|
382
|
+
潜在的にリスクがあるものの非破壊的な操作の前に、エージェントに追加のコンテキストを提供します。
|
|
383
383
|
|
|
384
384
|
### `warn-large-file-write`
|
|
385
385
|
|
|
386
|
-
|
|
387
|
-
|
|
386
|
+
**イベント:** PreToolUse (Write)
|
|
387
|
+
**デフォルト:** 1024 KBを超えるファイルを書き込む前に確認するようClaudeに指示します。
|
|
388
388
|
|
|
389
|
-
|
|
389
|
+
**パラメーター:**
|
|
390
390
|
|
|
391
391
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
392
392
|
|-------|------|---------|-------------|
|
|
393
393
|
| `thresholdKb` | `number` | `1024` | 警告が発生するファイルサイズのしきい値(キロバイト)。 |
|
|
394
394
|
|
|
395
|
-
|
|
395
|
+
**例:**
|
|
396
396
|
|
|
397
397
|
```json
|
|
398
398
|
{
|
|
@@ -405,15 +405,15 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
405
405
|
```
|
|
406
406
|
|
|
407
407
|
<Note>
|
|
408
|
-
|
|
408
|
+
フックハンドラーはペイロードに対してstdinの1 MB制限を適用します。小さなコンテンツでこのポリシーをテストするには、`thresholdKb`を1024より十分に小さい値に設定してください。
|
|
409
409
|
</Note>
|
|
410
410
|
|
|
411
411
|
---
|
|
412
412
|
|
|
413
413
|
### `warn-package-publish`
|
|
414
414
|
|
|
415
|
-
|
|
416
|
-
|
|
415
|
+
**イベント:** PreToolUse (Bash)
|
|
416
|
+
**デフォルト:** `npm publish`を実行する前に確認するようClaudeに指示します。
|
|
417
417
|
|
|
418
418
|
パラメーターなし。
|
|
419
419
|
|
|
@@ -421,8 +421,8 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
421
421
|
|
|
422
422
|
### `warn-background-process`
|
|
423
423
|
|
|
424
|
-
|
|
425
|
-
|
|
424
|
+
**イベント:** PreToolUse (Bash)
|
|
425
|
+
**デフォルト:** `nohup`、`&`、`disown`、または`screen`を使用してバックグラウンドプロセスを起動する際に注意するようClaudeに指示します。
|
|
426
426
|
|
|
427
427
|
パラメーターなし。
|
|
428
428
|
|
|
@@ -430,32 +430,32 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
430
430
|
|
|
431
431
|
### `warn-global-package-install`
|
|
432
432
|
|
|
433
|
-
|
|
434
|
-
|
|
433
|
+
**イベント:** PreToolUse (Bash)
|
|
434
|
+
**デフォルト:** `npm install -g`、`yarn global add`、または仮想環境なしの`pip install`を実行する前に確認するようClaudeに指示します。
|
|
435
435
|
|
|
436
436
|
パラメーターなし。
|
|
437
437
|
|
|
438
438
|
---
|
|
439
439
|
|
|
440
|
-
## パッケージマネージャー
|
|
440
|
+
## パッケージマネージャー {#package-managers}
|
|
441
441
|
|
|
442
|
-
|
|
442
|
+
エージェントが使用できるパッケージマネージャーを制限します。
|
|
443
443
|
|
|
444
444
|
### `prefer-package-manager`
|
|
445
445
|
|
|
446
|
-
|
|
447
|
-
|
|
446
|
+
**イベント:** PreToolUse (Bash)
|
|
447
|
+
**デフォルト:** 無効。有効にすると、`allowed`リストにないパッケージマネージャーコマンドをブロックし、許可されたマネージャーを使用してコマンドを書き直すようClaudeに指示します。
|
|
448
448
|
|
|
449
449
|
検出対象:pip、pip3、python -m pip、npm、npx、yarn、pnpm、pnpx、bun、bunx、uv、poetry、pipenv、conda、cargo。
|
|
450
450
|
|
|
451
451
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
452
452
|
|-----------|------|---------|-------------|
|
|
453
|
-
| `allowed` | string[] | `[]` |
|
|
454
|
-
| `blocked` | string[] | `[]` |
|
|
453
|
+
| `allowed` | string[] | `[]` | 許可するパッケージマネージャー名。このリストにない検出されたマネージャーはブロックされます。空の場合、ポリシーは何もしません。 |
|
|
454
|
+
| `blocked` | string[] | `[]` | 組み込みリストに加えてブロックするマネージャー名(例:`['pdm', 'pipx']`)。 |
|
|
455
455
|
|
|
456
|
-
|
|
456
|
+
組み込みのブロックリストには以下が含まれます:pip、pip3、npm、npx、yarn、pnpm、pnpx、bun、bunx、uv、poetry、pipenv、conda、cargo。`blocked`を使用して、このリストにないマネージャーを追加できます。
|
|
457
457
|
|
|
458
|
-
|
|
458
|
+
**設定例:**
|
|
459
459
|
|
|
460
460
|
```json
|
|
461
461
|
{
|
|
@@ -469,33 +469,33 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
469
469
|
}
|
|
470
470
|
```
|
|
471
471
|
|
|
472
|
-
この設定では、`pip install flask
|
|
472
|
+
この設定では、`pip install flask`と`pdm install flask`はどちらも拒否され、`uv`または`bun`を使用するよう指示されます。`uv pip install flask`のようなコマンドは`uv`がallowlistにあり最初にチェックされるため許可されます。
|
|
473
473
|
|
|
474
474
|
---
|
|
475
475
|
|
|
476
|
-
## AI
|
|
476
|
+
## AIの動作 {#ai-behavior}
|
|
477
477
|
|
|
478
|
-
|
|
478
|
+
エージェントが行き詰まったり予期しない動作をしたりするケースを検出します。
|
|
479
479
|
|
|
480
480
|
### `warn-repeated-tool-calls`
|
|
481
481
|
|
|
482
|
-
|
|
483
|
-
|
|
482
|
+
**イベント:** PreToolUse(全ツール)
|
|
483
|
+
**デフォルト:** 同じツールが同じパラメーターで3回以上呼び出された場合(エージェントがループに陥っているよくある兆候)に再考するようClaudeに指示します。
|
|
484
484
|
|
|
485
485
|
パラメーターなし。
|
|
486
486
|
|
|
487
487
|
---
|
|
488
488
|
|
|
489
|
-
## ワークフロー
|
|
489
|
+
## ワークフロー {#workflow}
|
|
490
490
|
|
|
491
|
-
|
|
491
|
+
セッション終了時の規律あるワークフローを強制します。これらのポリシーは**Stop**イベントで動作し、各条件が満たされるまでClaudeの停止を拒否します。コミット → プッシュ → PR → CIという自然な依存チェーンに従います。ポリシーが拒否した場合、チェーン内の後続のポリシーはスキップされます(denyによるショートサーキット)。
|
|
492
492
|
|
|
493
|
-
|
|
493
|
+
すべてのワークフローポリシーは**フェイルオープン**です:必要なツールが利用できない場合(例:`gh`がインストールされていない、gitリモートがない)、ポリシーはチェックがスキップされた理由を説明する情報メッセージとともに許可します。
|
|
494
494
|
|
|
495
495
|
### `require-commit-before-stop`
|
|
496
496
|
|
|
497
|
-
|
|
498
|
-
|
|
497
|
+
**イベント:** Stop
|
|
498
|
+
**デフォルト:** コミットされていない変更(変更済み、ステージ済み、または未追跡のファイル)がある場合に停止を拒否します。ワーキングディレクトリがクリーンな場合は情報メッセージを返します。
|
|
499
499
|
|
|
500
500
|
パラメーターなし。
|
|
501
501
|
|
|
@@ -503,16 +503,16 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
503
503
|
|
|
504
504
|
### `require-push-before-stop`
|
|
505
505
|
|
|
506
|
-
|
|
507
|
-
|
|
506
|
+
**イベント:** Stop
|
|
507
|
+
**デフォルト:** プッシュされていないコミットがある場合、または現在のブランチにリモートトラッキングブランチがない場合に停止を拒否します。必要に応じてトラッキングブランチを作成するために`git push -u`を提案します。リモートが設定されていない場合はフェイルオープンします。
|
|
508
508
|
|
|
509
|
-
|
|
509
|
+
**パラメーター:**
|
|
510
510
|
|
|
511
511
|
| パラメーター | 型 | デフォルト | 説明 |
|
|
512
512
|
|-------|------|---------|-------------|
|
|
513
513
|
| `remote` | `string` | `"origin"` | プッシュ先のリモート名。 |
|
|
514
514
|
|
|
515
|
-
|
|
515
|
+
**例:**
|
|
516
516
|
|
|
517
517
|
```json
|
|
518
518
|
{
|
|
@@ -528,28 +528,28 @@ failproofai には、エージェントの一般的な障害モードを検出
|
|
|
528
528
|
|
|
529
529
|
### `require-pr-before-stop`
|
|
530
530
|
|
|
531
|
-
|
|
532
|
-
|
|
531
|
+
**イベント:** Stop
|
|
532
|
+
**デフォルト:** 現在のブランチにプルリクエストが存在しない場合、または既存のPRがクローズ済み/マージ済みの場合に停止を拒否します。`gh pr create`でPRを作成するようClaudeに指示します。
|
|
533
533
|
|
|
534
534
|
パラメーターなし。
|
|
535
535
|
|
|
536
536
|
<Note>
|
|
537
|
-
このポリシーには
|
|
538
|
-
|
|
537
|
+
このポリシーには[GitHub CLI](https://cli.github.com/)(`gh`)のインストールと認証が必要です。
|
|
538
|
+
プルリクエストへの読み取りアクセスのために`repo`スコープを持つ個人アクセストークンで`gh auth login`を実行してください。`gh`がインストールされていないか認証されていない場合、ポリシーはフェイルオープンし、その理由をClaudeに報告します。
|
|
539
539
|
</Note>
|
|
540
540
|
|
|
541
541
|
---
|
|
542
542
|
|
|
543
543
|
### `require-ci-green-before-stop`
|
|
544
544
|
|
|
545
|
-
|
|
546
|
-
|
|
545
|
+
**イベント:** Stop
|
|
546
|
+
**デフォルト:** 現在のブランチでCIチェックが失敗または実行中の場合に停止を拒否します。GitHub Actionsのワークフロー実行とサードパーティのボットチェック(例:CodeRabbit、SonarCloud、Codecov)の両方を確認します。`skipped`および`cancelled`の結論は成功として扱います。すべてのチェックが通過した場合は情報メッセージを返します。
|
|
547
547
|
|
|
548
548
|
パラメーターなし。
|
|
549
549
|
|
|
550
550
|
<Note>
|
|
551
|
-
このポリシーには
|
|
552
|
-
Actions
|
|
551
|
+
このポリシーには[GitHub CLI](https://cli.github.com/)(`gh`)のインストールと認証が必要です。
|
|
552
|
+
Actionsワークフロー実行とChecks APIへの読み取りアクセスのために`repo`スコープを持つ個人アクセストークンで`gh auth login`を実行してください。`gh`がインストールされていないか認証されていない場合、ポリシーはフェイルオープンし、その理由をClaudeに報告します。
|
|
553
553
|
</Note>
|
|
554
554
|
|
|
555
555
|
---
|
|
@@ -558,7 +558,7 @@ Actions ワークフロー実行と Checks API への読み取りアクセスの
|
|
|
558
558
|
|
|
559
559
|
## 個別ポリシーの無効化
|
|
560
560
|
|
|
561
|
-
|
|
561
|
+
設定の`enabledPolicies`から特定のポリシーを削除するか、ダッシュボードのPoliciesタブでオフに切り替えます。
|
|
562
562
|
|
|
563
563
|
```json
|
|
564
564
|
{
|
|
@@ -569,4 +569,4 @@ Actions ワークフロー実行と Checks API への読み取りアクセスの
|
|
|
569
569
|
}
|
|
570
570
|
```
|
|
571
571
|
|
|
572
|
-
`enabledPolicies
|
|
572
|
+
`enabledPolicies`に記載されていないポリシーは、`policyParams`のエントリが存在しても実行されません。
|