mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
docs(security): record that WebSocket auth is REST-only and /ws/system is unauthenticated
Token enforcement currently covers the REST API only; the /ws/* endpoints — including the read-only operator stream /ws/system, which carries rate-limit and token-usage telemetry — do not validate X-Agent-Token even in secure mode (nginx injects it for the panel, but a direct WS connection is not rejected). Recorded under the existing trusted-network disclaimer; the streams are read-only with no control surface.
This commit is contained in:
@@ -274,6 +274,15 @@ and team. Token enforcement is gated by `ROBOCO_AGENT_AUTH_REQUIRED`:
|
|||||||
never holds the signing secret. Generate that token with `make panel-token`
|
never holds the signing secret. Generate that token with `make panel-token`
|
||||||
and set it as `ROBOCO_PANEL_AGENT_TOKEN` in `.env` before enabling secure mode.
|
and set it as `ROBOCO_PANEL_AGENT_TOKEN` in `.env` before enabling secure mode.
|
||||||
|
|
||||||
|
**WebSocket streams.** Token enforcement is currently REST-only. The `/ws/*`
|
||||||
|
endpoints authenticate by `agent_id` query param at most and do not yet validate
|
||||||
|
`X-Agent-Token`, even in secure mode — nginx injects the token so the panel
|
||||||
|
works, but a direct WebSocket connection that bypasses nginx is not rejected. In
|
||||||
|
particular the operator stream `/ws/system` (rate-limit lifecycle + token-usage
|
||||||
|
snapshots for the dashboard) is unauthenticated. These streams are read-only —
|
||||||
|
no control surface, secrets, or task content — but treat the orchestrator port
|
||||||
|
as trusted-network-only until WebSocket auth lands.
|
||||||
|
|
||||||
**Secrets** (the Fernet `ROBOCO_ENCRYPTION_KEY`, GitHub PATs) live encrypted in
|
**Secrets** (the Fernet `ROBOCO_ENCRYPTION_KEY`, GitHub PATs) live encrypted in
|
||||||
the database and in gitignored env files — never in the repo. Per-project git
|
the database and in gitignored env files — never in the repo. Per-project git
|
||||||
tokens are Fernet-encrypted at rest and never returned by the API.
|
tokens are Fernet-encrypted at rest and never returned by the API.
|
||||||
|
|||||||
Reference in New Issue
Block a user