mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
docs(security): clarify requester-scoped controls (#113400)
* docs(security): clarify requester-scoped controls * docs(security): refresh documentation map
This commit is contained in:
committed by
GitHub
parent
c0c12da9f2
commit
59fc573fb9
@@ -119,6 +119,8 @@ By default OpenClaw keeps context as received: allowlists decide who can trigger
|
||||
|
||||
Set it per channel (`channels.<channel>.contextVisibility`), per account (`channels.<channel>.accounts.<accountId>.contextVisibility`), or globally (`channels.defaults.contextVisibility`). Channels that fetch supplemental context (Discord, Feishu, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp) apply the policy when building inbound context; unknown policy combinations fail closed and omit the context.
|
||||
|
||||
These modes filter channel-supplied supplemental context only. Tool policy and the owner-only tool inventory are still selected from the current turn's originating requester, not every sender represented in the prompt. See [Requester-scoped controls and prompt context](/gateway/security#requester-scoped-controls-and-prompt-context).
|
||||
|
||||

|
||||
|
||||
If you want...
|
||||
|
||||
@@ -4026,6 +4026,7 @@ Do not edit it by hand; run `pnpm docs:map:gen`.
|
||||
- H3: What the audit checks (high level)
|
||||
- H3: Priority order when triaging findings
|
||||
- H2: Hardened baseline in 60 seconds
|
||||
- H3: Requester-scoped controls and prompt context
|
||||
- H2: Trust boundary matrix
|
||||
- H2: Not vulnerabilities by design
|
||||
- H2: Gateway and node trust
|
||||
|
||||
@@ -154,7 +154,7 @@ Further restrict tools for specific providers or models. Order: base profile →
|
||||
|
||||
### `tools.toolsBySender`
|
||||
|
||||
Restricts tools for a specific requester identity. This is defense-in-depth on top of channel access control; sender values must come from the channel adapter, not message text.
|
||||
Restricts tools for the current turn's originating requester. This is defense-in-depth on top of channel access control; sender values must come from the channel adapter, not message text. It does not authenticate other content in the model prompt; see [Requester-scoped controls and prompt context](/gateway/security#requester-scoped-controls-and-prompt-context).
|
||||
|
||||
```json5
|
||||
{
|
||||
|
||||
@@ -95,6 +95,12 @@ Keeps the Gateway local-only, isolates DMs, and disables control-plane/runtime t
|
||||
|
||||
Built-in baseline for chat-driven agent turns: non-owner senders cannot use the `cron` or `gateway` tools regardless of config.
|
||||
|
||||
### Requester-scoped controls and prompt context
|
||||
|
||||
`tools.toolsBySender`, sender ownership, and owner-only tool inventories are evaluated against the current turn's originating requester. They do not authenticate or sanitize other content in that model prompt, including quoted text, prior shared-room history, forwarded content, fetched content, attachments, tool results, or other prompt inputs. Content from another person can therefore influence an owner-triggered turn when it is included in that turn's context.
|
||||
|
||||
Treat these controls as defense in depth that reduces direct capability for a requester, not as hostile multi-user isolation. Use `contextVisibility` to filter supported channel-supplied context, restrict tools and sandbox the agent, and use separate gateways and ideally separate OS users or hosts when participants are mutually adversarial.
|
||||
|
||||
## Trust boundary matrix
|
||||
|
||||
Quick model for triaging risk reports:
|
||||
|
||||
Reference in New Issue
Block a user