








@@ -14,6 +14,14 @@ OpenClaw supports additive SecretRefs so supported credentials do not need to be
1414Plaintext still works. SecretRefs are opt-in per credential.
1515</Note>
161617+<Warning>
18+Plaintext credentials remain agent-readable if they are stored in files the
19+agent can inspect, including `openclaw.json`, `auth-profiles.json`, `.env`, or
20+generated `agents/*/agent/models.json` files. SecretRefs reduce that local blast
21+radius only after every supported credential has been migrated and
22+`openclaw secrets audit --check` reports no plaintext secret residue.
23+</Warning>
24+1725## Goals and runtime model
18261927Secrets are resolved into an in-memory runtime snapshot.
@@ -28,6 +36,33 @@ Secrets are resolved into an in-memory runtime snapshot.
28362937This keeps secret-provider outages off hot request paths.
303839+## Agent-access boundary
40+41+SecretRefs protect credentials from being persisted in supported config and
42+generated model surfaces, but they are not a process-isolation boundary. If a
43+plaintext credential remains on disk in a path the agent can read, the agent can
44+bypass API-level redaction by using file or shell tools to inspect that file.
45+46+For production deployments where agent-accessible files are in scope, treat
47+SecretRef migration as complete only when all of these are true:
48+49+- supported credentials use SecretRefs instead of plaintext values
50+- legacy plaintext residue has been scrubbed from `openclaw.json`,
51+`auth-profiles.json`, `.env`, and generated `models.json` files
52+- `openclaw secrets audit --check` is clean after the migration
53+- any remaining unsupported or rotating credentials are protected by operating
54+ system isolation, container isolation, or an external credential proxy
55+56+This is why the audit/configure/apply workflow is a security migration gate, not
57+just a convenience helper.
58+59+<Warning>
60+SecretRefs do not make arbitrary readable files safe. Backups, copied configs,
61+old generated model catalogs, and unsupported credential classes must be treated
62+as production secrets until they are deleted, moved outside the agent trust
63+boundary, or protected by a separate isolation layer.
64+</Warning>
65+3166## Active-surface filtering
32673368SecretRefs are validated only on effectively active surfaces.
@@ -495,9 +530,9 @@ Default operator flow:
495530openclaw secrets audit --check
496531```
497532</Step>
498-<Step title="Configure SecretRefs">
533+<Step title="Configure and apply SecretRefs">
499534```bash
500-openclaw secrets configure
535+openclaw secrets configure --apply
501536```
502537</Step>
503538<Step title="Re-audit">
@@ -507,6 +542,13 @@ Default operator flow:
507542</Step>
508543</Steps>
509544545+Do not treat the migration as complete until the re-audit is clean. If the audit
546+still reports plaintext values at rest, the agent-access risk is still present
547+even when runtime APIs return redacted values.
548+549+If you save a plan instead of applying during `configure`, apply that saved plan
550+with `openclaw secrets apply --from <plan-path>` before the re-audit.
551+510552<AccordionGroup>
511553<Accordion title="secrets audit">
512554Findings include:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。