fix(status): resolve gateway auth secrets for deep audit#87848
Conversation
|
Codex review: needs maintainer review before merge. Reviewed May 31, 2026, 8:59 PM ET / 00:59 UTC. Summary PR surface: Source +2, Tests +23. Total +25 across 3 files. Reproducibility: yes. for source-level review: current main routes status scans through getStatusCommandSecretTargetIds while that selector omits gateway auth targets, matching the linked report and PR proof. I did not run the CLI because this review was read-only. Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Next step before merge
Security Review detailsBest possible solution: Land this scoped selector/test change after normal maintainer handling so status --deep and security audit resolve the same gateway auth SecretRefs. Do we have a high-confidence way to reproduce the issue? Yes for source-level review: current main routes status scans through getStatusCommandSecretTargetIds while that selector omits gateway auth targets, matching the linked report and PR proof. I did not run the CLI because this review was read-only. Is this the best way to solve the issue? Yes, this is the best narrow fix: reuse the existing command-secret resolver by sharing the gateway auth target ids with status, rather than changing gateway auth runtime behavior or adding a new config path. AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against 43ced7bc4949. Label changesLabel justifications:
Evidence reviewedPR surface: Source +2, Tests +23. Total +25 across 3 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
ca31e9d to
41b052a
Compare
|
Maintainer land prep for SHA
Known proof gap: no packaged install/service upgrade E2E was rerun locally; the PR body already contains real source-checkout gateway/status behavior proof for the SecretRef-backed gateway token case. |
Summary
status --deepso gateway auth SecretRefs are resolved before the embedded security audit runs.Fixes #87815.
Verification
pnpm test src/cli/command-secret-targets.test.ts src/cli/command-secret-targets.import.test.tspnpm test src/commands/status.scan-overview.test.ts src/commands/status.scan.test.ts src/commands/status.scan.fast-json.test.ts src/security/audit-gateway-http-auth.test.tsgit diff --checkReal behavior proof
content: behavior
environment: Ubuntu 26.04, Node 22.22.2, OpenClaw source checkout at
c3ff31e7, isolated config/state under/tmp/openclaw-87815-proof, gateway token supplied through a SecretRef toOPENCLAW_GATEWAY_TOKEN.steps:
gateway.auth.mode="token"andgateway.auth.tokenas an env SecretRef.28815.status --deepagainst the same isolated config and SecretRef-backed token.evidence:
observedResult:
status --deepreports the gateway as reachable withauth token, and the embedded security audit does not emitgateway.http.no_author claimgateway.auth.mode="none"for the SecretRef-backed token config.notTested: A packaged install/service upgrade E2E was not run. The proof uses a real source-checkout gateway/status run with isolated config and focused regression tests for the command target selection path.