-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Debug capture leaks registered secrets and sentinels retain credential history #102388
Copy link
Copy link
Closed
Closed
Copy link
Labels
P0Emergency: data loss, security bypass, crash loop, or unusable core runtime.Emergency: data loss, security bypass, crash loop, or unusable core runtime.bugSomething isn't workingSomething isn't workingclawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maintainerMaintainer-authored PRMaintainer-authored PRmaturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Description
Metadata
Metadata
Assignees
Labels
P0Emergency: data loss, security bypass, crash loop, or unusable core runtime.Emergency: data loss, security bypass, crash loop, or unusable core runtime.bugSomething isn't workingSomething isn't workingclawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maintainerMaintainer-authored PRMaintainer-authored PRmaturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Type
Fields
Priority
None yet
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
Debug proxy WebSocket capture persists registered credential values verbatim, while process-local secret sentinels retain every resolved credential in unbounded maps.
Steps to reproduce
Expected behavior
Every persisted debug-capture field should exact-redact registered values before storage, and sentinels should remain process-local without retaining one plaintext registry entry per historical credential.
Actual behavior
captureWsEventstores the raw URL, frame payload, error text, and metadata.src/secrets/sentinel.tskeeps forward and reverse plaintext maps until process exit.OpenClaw version
Current
mainat1017ea5bc8048dfee9aff0d6a4be4d7e80f342bf; sentinel behavior shipped inv2026.7.1-beta.3.Operating system
Ubuntu 24.04 (Blacksmith Testbox)
Install method
Source checkout
Model
N/A
Provider / routing chain
N/A
Logs
Synthetic capture proof recorded one WebSocket event and found the registered test secret in persisted capture data. No real credential values are included here.
Impact and severity
Additional information
Follow-up to #102008 and #102009. The Mattermost authentication frame is one concrete WebSocket caller, but the persistence boundary is shared by all capture callers.