fix: harden browser tools start and console flag - #28
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 11, 2026, 7:30 PM ET / 23:30 UTC. Summary Reproducibility: yes. The maintainer reproduced command substitution through current main's shell-built Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Merge the exact proven head while retaining the focused profile-copy tests as the compatibility contract for source validation, overlap rejection, symlink preservation, destination replacement, and launcher execution. Do we have a high-confidence way to reproduce the issue? Yes. The maintainer reproduced command substitution through current main's shell-built Is this the best way to solve the issue? Yes. Direct filesystem/process APIs remove shell interpretation at the root, and the follow-up compatibility guards and tests address the previously found symlink and destructive-copy regressions without adding a parallel implementation path. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning high; reviewed against 5c6abe6de9a2. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat 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
Review history (4 earlier review cycles)
|
8524425 to
abe8545
Compare
|
Proof added to the PR body. @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
abe8545 to
e281904
Compare
|
Maintainer proof for exact candidate
Risk: medium. The change deliberately replaces browser-profile contents, but source validation, overlap rejection, symlink-preserving behavior, malformed-destination handling, and regression coverage now protect the destructive boundary. |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
steipete
left a comment
There was a problem hiding this comment.
Maintainer review at exact head e281904c32e2641ce522582481e49bc2f83dbfef: shell-injection reproduction, profile-copy safety and compatibility regressions, console behavior, full tests, live Chrome proof, dependency audit, exact-head security check, ClawSweeper re-review, and model-identifier gate are clean. Approved for squash merge.
|
Landed as 5cc32f9. Thank you, @ShiroKSH. Verification:
No remaining caveats. |
Summary
Why
browser-tools start accepted profile paths and interpolated them into shell command strings. A path containing shell metacharacters could change the invoked command. The console command also declared no-serialize as a negated Commander option but read a non-existent noSerialize property, so the flag did not affect serialization.
Validation
Live Proof
Redacted terminal output from the patched compiled binary: