feat(extension): identify reduced-assurance attached tabs - #83
Draft
seonghobae wants to merge 7 commits into
Draft
feat(extension): identify reduced-assurance attached tabs#83seonghobae wants to merge 7 commits into
seonghobae wants to merge 7 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
This was referenced Aug 11, 2026
This was referenced Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Partial implementation of #27, stacked on PR #82.
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 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.
Dependency and exact stack state
This Draft targets PR #82's branch. The independently refetched live prerequisite is exact #82 head
28593cf991cc552968da54b722a887252a3695e7; this PR is now exact head204cedb1bee54a40a6d6bc0b97719afd309c3f71.The branch previously diverged from current #82 only because #82 added the numeric native-host-name coverage commit after this stack was opened. Exact blob comparison showed that
crates/originweave-core/tests/native_messaging_authority.rswas already content-identical on both branches. A non-destructive merge-topology commit therefore added current #82 as the second parent while preserving the exact existing #83 tree. Fresh compare now reports #83 ahead of current #82 withbehind_by=0and merge base exactly28593cf991cc552968da54b722a887252a3695e7; no prerequisite review/check is transferred.Test-first implementation and correction
The original test-only head
eeec42404d2b2135f5550e1fbc71456594d513c2established the missing reduced-assurance classifier before production implementation.A later API-truth audit found that the public variant name
NoExtensionInfluenceoverstated 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 head292736fc8a697292e4ec49224b4c43f673ac1de9therefore required the uncertainty-safe public nameNoKnownExtensionInfluence. CI run31489921146, Rust contracts job93773720465, 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::AttachedTabExtensionInfluenceonly when both facts are present: the control surface is an attached human tab and trusted adapter evidence says an extension can influence page state.NoKnownExtensionInfluenceand isolated profiles are not labeled by this specific reduction rule.Exact-head verification
For exact current head
204cedb1bee54a40a6d6bc0b97719afd309c3f71:31536812406: success;93929752779: success, including repository contracts, formatting, locked workspace/all-target check, full tests, strict Clippy and rustdoc;93929752710: success, including exact owned production function/line/region/branch enforcement;31536812367: success;No predecessor-head check, review, mergeability result, or synthetic status is transferred to this current head.
Truth boundary
The API records one specific reduction reason.
NoneandNoKnownExtensionInfluencemust 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.Keep Draft while #82 remains active. This PR does not close #27, and fresh exact-head/live-base acceptance is required after any dependency movement.