rea/docs
Ysopwnable b5afa5f91e
feat(browser): attribute native execution and listener sources (#917)
* feat(browser): attribute native execution and listener sources

Integrate finite native precise-coverage windows and direct DOM listener inspection through shared CLI/MCP workflows, exact session script identities, inline source evidence and owned instrumentation cleanup.

Refs #881, #774

Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)

* fix(browser): preserve runtime identity and settle fixture cleanup

Retain complete reported initiator objects, reject changing loader availability, propagate the selected operation through main-frame authorization and complete effect/help inventories. Close only the synthetic owned Chrome via its native endpoint, await process-group settlement and preserve primary verification errors during cleanup.

Refs #881

Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)

* fix(browser): settle invalid events and preserve document evidence

Accept same-document URL changes with proven stable loader identity, retain metadata without inventing ownership, terminate malformed event collection immediately, and sanitize known transport URLs without erasing sourceURL declarations.

Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)

* fix(browser): end detached target windows and sanitize coverage identities

Reuse the existing flat-session event matcher, retain prearming termination, and apply the source identity policy to coverage URLs. Add real MCP target-close verification and producer regressions for detachment orderings.

Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)

* fix(browser): retain final sample metadata and settle fatal protocol failures

Keep source inventory open through the resetting sample, propagate fatal wire failures without outstanding commands, and check listener collection failures after final document validation.

Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)

Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)

* fix(browser): require default execution worlds for website attribution

Preserve native context and world metadata without treating same-frame isolated or unknown contexts as website sources. Verify actual Chrome isolated function execution before excluding its coverage, and cover ambiguous world metadata with producer regressions.

Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)

Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)

* fix(browser): revalidate runtime source joins and selector failures

Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)

---------

Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
2026-10-07 21:45:07 +08:00
..
.vitepress docs: publish VitePress documentation on GitHub Pages 2026-10-07 16:58:04 +08:00
adr docs: publish VitePress documentation on GitHub Pages 2026-10-07 16:58:04 +08:00
assets docs: add Discord community links to README 2026-10-05 17:36:29 +08:00
verification feat(browser): attribute native execution and listener sources (#917) 2026-10-07 21:45:07 +08:00
android-analysis.md docs: publish VitePress documentation on GitHub Pages 2026-10-07 16:58:04 +08:00
apple-application-analysis.md docs(apple): describe directory-based framework plist ambiguity 2026-10-07 12:21:41 +00:00
architecture.mermaid feat(browser): attribute native execution and listener sources (#917) 2026-10-07 21:45:07 +08:00
browser-observation.md feat(browser): trace captured website module imports (#879) 2026-10-07 14:59:52 +08:00
browser-scenario-contract.md feat(browser): capture correlated network content and lifecycle evidence (#797) 2026-10-07 04:35:49 +08:00
capability-migration.md refactor(apple): group artifact producers and verification (#952) 2026-10-07 21:09:33 +08:00
electron-observation.md fix(tools)!: simplify direct invocation and harden boundary contracts (#555) 2026-10-05 20:16:44 +08:00
error-contract.schema.json refactor!: simplify runtime tools and remove replay engines (#572) 2026-10-05 21:15:04 +08:00
firmware-analysis.md docs: publish VitePress documentation on GitHub Pages 2026-10-07 16:58:04 +08:00
ghidra-dos.md fix(ghidra): admit the 12.1 line and the install's JDK range (#840) 2026-10-07 12:24:36 +08:00
ghidra-nativeaot.md fix(ghidra): admit the 12.1 line and the install's JDK range (#840) 2026-10-07 12:24:36 +08:00
ida-provider.md feat(ida): add read-only GUI and headless MCP providers (#754) 2026-10-07 01:47:05 +08:00
index.md docs: publish VitePress documentation on GitHub Pages 2026-10-07 16:58:04 +08:00
installation.md docs: publish VitePress documentation on GitHub Pages 2026-10-07 16:58:04 +08:00
javascript-application-graph.md refactor!: simplify runtime tools and remove replay engines (#572) 2026-10-05 21:15:04 +08:00
javascript-application-workflows.md fix(javascript): keep mutated object initializer values unknown (#752) 2026-10-07 10:51:44 +08:00
javascript-artifact-reconstruction.md fix(javascript): hash graph and evidence JSON incrementally (#646) 2026-10-06 11:54:55 +08:00
javascript-recovery.md feat(javascript): recover readable modules with Wakaru (#848) 2026-10-07 12:46:13 +08:00
javascript-runtime-observation.md docs: clarify onboarding and align provider guidance (#745) 2026-10-06 22:57:36 +08:00
javascript-runtime-reconciliation.md fix(tools)!: simplify direct invocation and harden boundary contracts (#555) 2026-10-05 20:16:44 +08:00
managed-code-analysis.md chore: merge main and resolve PR #889 conflicts 2026-10-07 17:28:56 +08:00
mcp-contracts.md feat(evidence): accept exact retained application references (#734) 2026-10-06 20:17:59 +08:00
mcp-prompts.md fix(target): explain the JavaScript directory analysis route (#733) 2026-10-06 19:53:08 +08:00
native-investigation.md feat(native): decode chained fixups, binds, ObjC categories and properties 2026-10-07 12:18:24 +00:00
process-capture.md fix(process): clarify Windows capture support and recovery (#798) 2026-10-07 04:20:53 +08:00
product-catalog.json feat(browser): attribute native execution and listener sources (#917) 2026-10-07 21:45:07 +08:00
provider-evaluation.md fix(ghidra): admit the 12.1 line and the install's JDK range (#840) 2026-10-07 12:24:36 +08:00
reconstruction-obligation-ledgers.md refactor: return complete analysis results inline 2026-09-29 08:07:24 +08:00
reconstruction-readiness.md fix(tools)!: simplify direct invocation and harden boundary contracts (#555) 2026-10-05 20:16:44 +08:00
roadmap.md fix(ghidra): admit the 12.1 line and the install's JDK range (#840) 2026-10-07 12:24:36 +08:00
testing.md feat(browser): attribute native execution and listener sources (#917) 2026-10-07 21:45:07 +08:00
tool-design.md refactor!: simplify runtime tools and remove replay engines (#572) 2026-10-05 21:15:04 +08:00
user-visible-errors.csv fix(target): explain the JavaScript directory analysis route (#733) 2026-10-06 19:53:08 +08:00
web-runtime.md feat(browser): attribute native execution and listener sources (#917) 2026-10-07 21:45:07 +08:00
web-source-location.md feat(browser): trace captured website source-map locations (#897) 2026-10-07 16:21:18 +08:00
website-module-trace.md feat(browser): trace captured website module imports (#879) 2026-10-07 14:59:52 +08:00
website-script-export.md feat(web): export captured scripts for JavaScript application analysis (#801) 2026-10-07 05:24:32 +08:00
windows-ghidra-p0.md docs: publish VitePress documentation on GitHub Pages 2026-10-07 16:58:04 +08:00