fix(status): bound sandbox browser Docker audit probes#85226
Conversation
|
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded. Close as superseded: the earlier open PR at #85046 already owns the same status/security-audit Docker hang and carries the more complete subprocess-timeout implementation, proof, tests, and maintainer-review path. Canonical path: Keep maintainer review focused on #85046, land the stronger bounded-subprocess fix there if approved, and close the linked issue after that merge. So I’m closing this here and keeping the remaining discussion on #85046. Review detailsBest possible solution: Keep maintainer review focused on #85046, land the stronger bounded-subprocess fix there if approved, and close the linked issue after that merge. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection and the linked report show current main routes deep status security audit into Docker Is this the best way to solve the issue? No for this branch as the merge target. The earlier open PR is the better current solution because it bounds Security review: Security review needs attention: The branch changes security-audit failure semantics and is superseded by a stronger PR that preserves a clearer warning-on-timeout path.
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 229490a48924. |
|
ClawSweeper applied the proposed close for this PR.
|
Fixes #84984.
Summary
Verification
pnpm test src/security/audit-sandbox-browser.test.ts src/commands/status-runtime-shared.test.tspnpm exec oxfmt --check src/security/audit-extra.async.ts src/security/audit.ts src/commands/status-runtime-shared.ts src/security/audit-sandbox-browser.test.ts src/commands/status-runtime-shared.test.tsgit diff --checkReal behavior proof
After fix, a real source CLI run with an isolated OpenClaw state dir and a temporary
dockercommand that hangs until aborted exits successfully and reports partial security-audit output instead of hanging.Command:
Key output:
{ "securityAudit": { "summary": { "critical": 2, "warn": 2, "info": 2 }, "findings": [ { "checkId": "sandbox.browser_container.docker_probe_timeout", "severity": "info", "title": "Sandbox browser Docker audit timed out", "detail": "Docker did not respond within 1000ms while auditing sandbox browser containers. Status continues with partial security audit results." } ] } }The command exited with status 0 before the outer 20s guard fired.
What was not tested