fix(browser): harden browser control override loading#62663
Conversation
Greptile SummaryThis PR hardens browser control override loading through two complementary layers: blocking Confidence Score: 5/5Safe to merge; the dotenv-level block is the primary defense and is correctly implemented. All remaining findings are P2. The only gap is the missing extensions/browser/src/plugin-service.ts — consider adding
|
|
@greptile review |
|
@codex review |
|
Codex Review: Didn't find any major issues. Another round soon, please! ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3cb88918e6
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
* main: (522 commits) fix(browser): re-check interaction-driven navigations (openclaw#63226) test: reuse verbose directive reply imports test: reuse exec directive reply imports fix(browser): harden browser control override loading (openclaw#62663) Matrix: report startup failures as errors auth: persist explicit profile upserts directly test(doctor): mock memory-core runtime seam auth: avoid external cli sync on profile upsert feat: parallelize character eval runs fix: load QA live provider overrides build: stage nostr runtime dependencies fix(dotenv): block workspace runtime env vars (openclaw#62660) build: narrow plugin SDK declaration build test: harden Parallels macOS smoke fallback fix(memory): accept embedded dreaming heartbeat tokens test: harden provider mock isolation docs(config): tighten wording in reference test: reuse followup runner imports test: reuse image generate tool imports Align remote node exec event system messages with untrusted handling (openclaw#62659) ...
* fix(browser): harden browser control overrides * fix(lint): prepare boundary artifacts for extension oxlint * docs(changelog): add browser override hardening entry * fix(lint): avoid duplicate boundary prep --------- Co-authored-by: Devin Robison <[email protected]> Co-authored-by: Devin Robison <[email protected]>
* fix(browser): harden browser control overrides * fix(lint): prepare boundary artifacts for extension oxlint * docs(changelog): add browser override hardening entry * fix(lint): avoid duplicate boundary prep --------- Co-authored-by: Devin Robison <[email protected]> Co-authored-by: Devin Robison <[email protected]>
* fix(browser): harden browser control overrides * fix(lint): prepare boundary artifacts for extension oxlint * docs(changelog): add browser override hardening entry * fix(lint): avoid duplicate boundary prep --------- Co-authored-by: Devin Robison <[email protected]> Co-authored-by: Devin Robison <[email protected]>
* fix(browser): harden browser control overrides * fix(lint): prepare boundary artifacts for extension oxlint * docs(changelog): add browser override hardening entry * fix(lint): avoid duplicate boundary prep --------- Co-authored-by: Devin Robison <[email protected]> Co-authored-by: Devin Robison <[email protected]>
* fix(browser): harden browser control overrides * fix(lint): prepare boundary artifacts for extension oxlint * docs(changelog): add browser override hardening entry * fix(lint): avoid duplicate boundary prep --------- Co-authored-by: Devin Robison <[email protected]> Co-authored-by: Devin Robison <[email protected]>
Summary
Changes
OPENCLAW_BROWSER_CONTROL_MODULEandOPENCLAW_SKIP_BROWSER_CONTROL_SERVERfrom workspace .env loadingstartLazyPluginServiceModule()and used it for the browser plugin service to reject unsafe URL-style specifiersValidation
corepack pnpm test src/infra/dotenv.test.ts src/plugins/lazy-service-module.test.ts extensions/browser/src/plugin-service.test.tscorepack pnpm formatcorepack pnpm buildcorepack pnpm plugin-sdk:api:gencorepack pnpm tsgorm -rf dist/plugin-sdk packages/plugin-sdk/dist && corepack pnpm lint:extensions:channelscorepack pnpm lint:extensions:bundled/reviewflow requested an existing PR selection instead of reviewing the local diffNotes
main