You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Makefile
+13-2Lines changed: 13 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ NPM_MIN_VERSION := 11
10
10
HOST_GOMODCACHE := $(shell go env GOMODCACHE)
11
11
HOST_GOCACHE := $(shell go env GOCACHE)
12
12
13
-
.PHONY: help check bootstrap build run rerun test vet race commit-check test-smoke test-critical test-fuzz code-ql test-classification test-subagents-e2e install \
13
+
.PHONY: help check bootstrap build run rerun test vet race fmt-check commit-check test-smoke test-critical test-fuzz code-ql test-classification test-subagents-e2e check-bundled-skills install \
Copy file name to clipboardExpand all lines: docs/architecture-security/security-for-ops.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,6 +94,21 @@ Test restore regularly on a clean host.
94
94
./kafclaw status
95
95
./kafclaw doctor
96
96
./kafclaw doctor --fix
97
+
./kafclaw security check
98
+
./kafclaw security audit --deep
99
+
./kafclaw security fix --yes
97
100
```
98
101
99
102
Use these as part of daily operations and after any security-relevant change.
103
+
104
+
## 9. Skills and OAuth Security Notes
105
+
106
+
- Prefer `skills.scope=selected` for least-privilege skill exposure.
107
+
- Use `skills.runtimeIsolation=auto` (or `strict` when container runtime is guaranteed).
108
+
- When using `strict`, `kafclaw security check` validates that `docker`/`podman` is actually usable by the current operator user.
109
+
- OAuth skill tokens are encrypted at rest with local tomb-key management by default (`~/.config/kafclaw/tomb.rr`), with optional keyring/file backends.
110
+
-`doctor --fix` moves sensitive env keys into tomb-managed encrypted storage and scrubs them from `~/.config/kafclaw/env`.
111
+
- Security events and install decisions are chained into immutable-style audit logs under `~/.kafclaw/skills/audit/`.
112
+
- For deployment-specific skill operations and remediations, refer to:
`doctor` returns non-zero when failing checks exist.
104
+
When skills are enabled, doctor also checks `node`, `clawhub` (if external installs are enabled), runtime dir permissions, and channel-onboarding readiness.
105
+
Use `kafclaw security` for consolidated security posture and deep skill audits.
-`skills.runtimeIsolation=auto` (use strict if container runtime is mandatory in your environment)
132
+
133
+
See [Skills](../skills/index.md) for full skill policy details.
134
+
120
135
### LLM provider and token management
121
136
122
137
Interactive (recommended):
@@ -272,6 +287,30 @@ Core runtime files:
272
287
This section applies to **direct HTTP clients** that call KafClaw API endpoints.
273
288
For Slack/Teams/WhatsApp users, authentication is handled by provider bridge + pairing/allowlist controls, not by manually passing the gateway bearer token.
274
289
290
+
## 12. Security Command Runbook
291
+
292
+
```bash
293
+
./kafclaw security check
294
+
./kafclaw security audit --deep
295
+
./kafclaw security fix --yes
296
+
```
297
+
298
+
Recommended usage:
299
+
300
+
-`security check`: quick operational gate in CI/day-2 operations.
301
+
-`security audit --deep`: include installed skill re-verification.
302
+
-`security fix --yes`: apply safe remediations; re-run check after changes.
303
+
-`doctor --fix`: merges env files, syncs sensitive env keys into tomb-managed encrypted storage, then scrubs those sensitive keys from `~/.config/kafclaw/env`.
304
+
305
+
For security posture details, see [Security for Operators](../architecture-security/security-for-ops.md).
306
+
For skills policy, OAuth keying, and source pinning syntax, see [Skills](../skills/index.md).
307
+
308
+
Recommended CI gate:
309
+
310
+
```bash
311
+
go run ./cmd/kafclaw security check
312
+
```
313
+
275
314
When `KAFCLAW_GATEWAY_AUTH_TOKEN` (or `gateway.authToken`) is set, direct clients do not auto-receive tokens.
0 commit comments