Commit Graph
8 Commits
Author SHA1 Message Date
morluto 684199ba0b fix(javascript)!: retain nested artifact readers in caller scopes
Require the caller artifact resource scope when reading JavaScript artifacts. Transfer failed nested ASAR cleanup to that scope so later work retries the same owner before admission. Preserve traversal failures and attempt every remaining iterator during unwind.

Validation: reconstruction, integrity, content identity, cancellation and nested-reader cleanup boundary checks.

BREAKING CHANGE: readJavaScriptArtifactFiles now requires ArtifactResourceScope as its third argument; the optional abort signal is fourth.
2026-10-11 05:33:15 +08:00
morluto ffe0574e17 fix(artifacts)!: retain cleanup owners through client shutdown
Keep failed reader, root descriptor, and output-tree cleanup with the caller. Drain admitted work before close, retry the same retained owners, and block new resource work while cleanup is incomplete. Preserve primary failures and complete inventory observations.

Thread ownership through JavaScript reconstruction, the CLI's one-shot scope, MCP server shutdown, verifier scripts, and test fixtures. Remove redundant ownership flags and the unused validated test wrapper.

Validate with 850 passing focused tests across 90 suites (two skipped), targeted classification and cleanup retries, static and unused-code checks, and real macOS CLI/MCP directory, ZIP, and DMG workflows. Native Windows and deep-analysis providers were not verified.

BREAKING CHANGE: Direct artifact inventory/extraction and JavaScript analysis APIs require an explicit caller-owned ArtifactResourceScope. CLI and MCP input contracts are unchanged.
2026-10-11 04:43:02 +08:00
morluto d79317cda0 fix(artifacts): bind ASAR interpretation to owned snapshots
Verify captured container bytes against their inventoried digest before listing or reading packed members. Isolate per-reader ASAR metadata, preserve original unpacked companions, and retain complete inventories when snapshot cleanup fails.
2026-10-10 06:20:28 +08:00
Ysopwnable 6e4535c101 refactor(artifacts): move inventory and extraction into provider owners (#1032) 2026-10-08 05:51:14 +08:00
morluto abd7a5ed09 perf(artifacts): stream ASAR members without full buffering (#962)
* fix(artifacts): stream ASAR members without full buffering

* fix(artifacts): close unopened ASAR member streams

* fix(artifacts): preserve unpacked ASAR mismatch digests

* fix(artifacts): preserve ASAR read failures

* fix(artifacts): retain unpacked ASAR stat failures

* fix(artifacts): validate ASAR entry producer identity
2026-10-07 23:57:05 +08:00
ysopwnable f0a68dce60 refactor(artifacts): isolate JavaScript file acquisition (#916) 2026-10-07 17:57:33 +08:00
ysopwnable 0804722cdf refactor(javascript): group application workflows and verification (#896) 2026-10-07 16:03:37 +08:00
3af3811ab0 fix: integrate 24 reviewed browser/native/semantics corrections (#815)
* fix(reference): resolve emitted extensions to TypeScript source

Signed-off-by: Rudy Celekli <[email protected]>

* test(reference): retain legitimate declaration import counterparts

Signed-off-by: Rudy Celekli <[email protected]>

* fix(mcp): recognize implicit form elicitation capability

Signed-off-by: RudyCelekli <[email protected]>

* fix(ghidra): reject contradictory NativeAOT reports

* fix(native): preserve thin architectures across echoed filename lines

Signed-off-by: Rudy Celekli <[email protected]>

* fix(native): preserve app bundle executable filename whitespace

Signed-off-by: Rudy Celekli <[email protected]>

* fix(doctor): validate Node-wrapped client policy

Signed-off-by: RudyCelekli <[email protected]>

* fix(reference): preserve observed entry failure reasons

Signed-off-by: Rudy Celekli <[email protected]>

* fix(artifacts): verify opaque bytes before reusing inventory identities

Signed-off-by: Rudy Celekli <[email protected]>

* fix(browser): resolve DOM destinations against document base URL

Signed-off-by: Rudy Celekli <[email protected]>

* fix: recover serialized native NIB view hierarchy

Signed-off-by: RudyCelekli <[email protected]>

* ci: exercise native compiled NIB hierarchy regressions

Signed-off-by: RudyCelekli <[email protected]>

* fix(deps): remediate reachable archive-parsing advisories

Two high-severity advisories are reachable from untrusted target content:

- @xmldom/xmldom 0.9.10 (via plist) parses XML plist bytes from analyzed
  app bundles in the keyed-archive reader. Refreshed to 0.9.12.
- brace-expansion 5.0.7 (via @electron/asar -> minimatch) is reached while
  analyzing untrusted ASAR archives. Refreshed to 5.0.12.

Both are in-range patch updates (plist declares ^0.9.10, minimatch declares
^5.0.5), so no source or API change is required and no direct dependency
declaration moves. Lockfile-only change.

The remaining smol-toml advisory is not included: it parses operator-owned
client configuration rather than untrusted target content, and its fix moves
outside the declared range and changes leading-BOM handling.

* fix(semantics): link wrapped arrow Promise returns

* fix(reconstruction): preserve unknown graph limitations

* fix(native): preserve exact code signing identifiers

Signed-off-by: Rudy Celekli <[email protected]>

* fix(native): recognize only whole otool command headers

Signed-off-by: Rudy Celekli <[email protected]>

* fix(native): retain nm-proven literal export names

Signed-off-by: Rudy Celekli <[email protected]>

* fix(javascript): project decoded file URL paths

Signed-off-by: Rudy Celekli <[email protected]>

* fix: preserve explicit source-relative URL observation spelling

Signed-off-by: Rudy Celekli <[email protected]>

* fix(native): project Mach-O evidence into container file offsets

Signed-off-by: Rudy Celekli <[email protected]>

* fix(browser): normalize referrer policy fallback lists

Signed-off-by: Rudy Celekli <[email protected]>

---------

Signed-off-by: Rudy Celekli <[email protected]>
Signed-off-by: RudyCelekli <[email protected]>
Signed-off-by: Rudy Celekli <[email protected]>
Co-authored-by: Rudy Celekli <[email protected]>
Co-authored-by: RudyCelekli <[email protected]>
Co-authored-by: Kaoru0822 <[email protected]>
Co-authored-by: DeryFerd <[email protected]>
2026-10-07 10:33:10 +08:00