Skip to content

feat(extension): identify reduced-assurance attached tabs - #83

Draft
seonghobae wants to merge 17 commits into
feat/native-messaging-host-authorityfrom
feat/attached-tab-reduced-assurance
Draft

feat(extension): identify reduced-assurance attached tabs#83
seonghobae wants to merge 17 commits into
feat/native-messaging-host-authorityfrom
feat/attached-tab-reduced-assurance

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #27, stacked on live PR #82 (feat/native-messaging-host-authority).

Buyer/security gap

Issue #27 requires attached human-tab sessions to be identified as reduced-assurance when existing extensions can influence page state. The extension/native-host authority work separates Chromium extension permissions and native-host grants from OriginWeave Agent capability, but protected main has no typed classification for the weaker assurance of an attached human tab whose page state can be modified by existing extensions.

Current dependency / stack state

The independently resolved live prerequisite is exact #82 head c639cd78e3acad235be4cbbfdef67b84ce7ddbfa. Current exact #83 head is 2412fb1f7eefd61f4e71985ece378a5604ac77b6.

Another actor already reconciled this child after #82 moved; this scheduled writer inspected and adopted that current topology instead of racing it. Fresh exact comparison reports ahead 17 / behind 0, with merge base exactly c639cd78e3acad235be4cbbfdef67b84ce7ddbfa. No prerequisite/predecessor check or review transfers. Keep Draft while #82 remains active.

Test-first implementation and correction

The original test-only head eeec42404d2b2135f5550e1fbc71456594d513c2 established the missing reduced-assurance classifier before production implementation.

A later API-truth audit found that the public variant name NoExtensionInfluence overstated what the documented boundary could prove: absence of trusted positive evidence is not proof that extensions are absent or unable to interfere. Exact correction test-only head 292736fc8a697292e4ec49224b4c43f673ac1de9 therefore required the uncertainty-safe public name NoKnownExtensionInfluence. CI run 31489921146, Rust contracts job 93773720465, passed repository contracts and formatting and then failed at the workspace check as intended because production still exposed the old variant.

The production classifier returns ReducedAssuranceReason::AttachedTabExtensionInfluence only when both facts are present: the control surface is an attached human tab and trusted adapter evidence says an extension can influence page state. NoKnownExtensionInfluence and isolated profiles are not labeled by this specific reduction rule.

Current exact-head evidence

On unchanged exact head 2412fb1f7eefd61f4e71985ece378a5604ac77b6 against exact prerequisite c639cd78e3acad235be4cbbfdef67b84ce7ddbfa:

  • CI run 32026567690: success;
  • Rust contracts job 95377095086: repository contracts, canonical formatting, locked workspace/all-target check, full tests, strict Clippy and rustdoc success;
  • Production coverage job 95377094947: exact owned-production function/line/region/branch measurement and enforcement success;
  • Manifest V3 Compatibility run 32026567744: success;
  • formal reviews currently returned: none; and
  • inline review threads currently returned: none.

Security/SAST/central OpenCode/Noema/Strix gates not generated for this stacked feature-base head are absent, not passing. Skipped formatting-diagnostic helpers are not promoted as success. No predecessor-head, prerequisite-head, synthetic-merge, queued, pending, skipped, cancelled, absent, stale, status-only, or model-only evidence is promoted as current proof.

Truth boundary

The API records one specific reduction reason. None and NoKnownExtensionInfluence must never be interpreted as proof of full trust, extension absence, inability to interfere, or high assurance. This lane does not detect installed extensions, inspect Chrome policy, prove extension absence, attach to a real browser, grant Agent authority, execute actions, or replace the separate managed-extension/native-messaging boundaries. A future trusted Chromium adapter must supply the attachment and extension-influence evidence.

This PR does not close #27. Passing automation is not independent approval, and this scheduled actor does not merge or self-approve.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: fc6a7c1c-3722-4c35-8265-123a71b674e0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant