3af3811ab0
fix: integrate 24 reviewed browser/native/semantics corrections ( #815 )
...
* fix(reference): resolve emitted extensions to TypeScript source
Signed-off-by: Rudy Celekli <rudy@gradiahq.com >
* test(reference): retain legitimate declaration import counterparts
Signed-off-by: Rudy Celekli <rudy@gradiahq.com >
* fix(mcp): recognize implicit form elicitation capability
Signed-off-by: RudyCelekli <47457359+rudycelekli@users.noreply.github.com >
* fix(ghidra): reject contradictory NativeAOT reports
* fix(native): preserve thin architectures across echoed filename lines
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
* fix(native): preserve app bundle executable filename whitespace
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
* fix(doctor): validate Node-wrapped client policy
Signed-off-by: RudyCelekli <47457359+rudycelekli@users.noreply.github.com >
* fix(reference): preserve observed entry failure reasons
Signed-off-by: Rudy Celekli <rudy@gradiahq.com >
* fix(artifacts): verify opaque bytes before reusing inventory identities
Signed-off-by: Rudy Celekli <rudy@gradiahq.com >
* fix(browser): resolve DOM destinations against document base URL
Signed-off-by: Rudy Celekli <rudy@gradiahq.com >
* fix: recover serialized native NIB view hierarchy
Signed-off-by: RudyCelekli <47457359+rudycelekli@users.noreply.github.com >
* ci: exercise native compiled NIB hierarchy regressions
Signed-off-by: RudyCelekli <47457359+rudycelekli@users.noreply.github.com >
* 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 <47457359+rudycelekli@users.noreply.github.com >
* fix(native): recognize only whole otool command headers
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
* fix(native): retain nm-proven literal export names
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
* fix(javascript): project decoded file URL paths
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
* fix: preserve explicit source-relative URL observation spelling
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
* fix(native): project Mach-O evidence into container file offsets
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
* fix(browser): normalize referrer policy fallback lists
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
---------
Signed-off-by: Rudy Celekli <rudy@gradiahq.com >
Signed-off-by: RudyCelekli <47457359+rudycelekli@users.noreply.github.com >
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com >
Co-authored-by: Rudy Celekli <rudy@gradiahq.com >
Co-authored-by: RudyCelekli <47457359+rudycelekli@users.noreply.github.com >
Co-authored-by: Kaoru0822 <aisakamimaki@gmail.com >
Co-authored-by: DeryFerd <deryferdikao125@gmail.com >
2026-10-07 10:33:10 +08:00
N0zoM1z0
9bab55337a
feat(ghidra): add atomic function annotation edits ( #709 )
...
* feat(ghidra): edit function annotations atomically
Return annotation readback and refreshed function analysis through CLI and MCP. Own each database transaction, invalidate caches and immutable snapshots, preserve executable bytes, and retain the Windows mutation boundary.
Assisted-by: Nitori (gensokyo-skills:nitori-reverse-engineering)
* fix(ghidra): preserve qualified function annotation identity
Preserve namespaces during local name writes and match qualified readback to the refreshed dossier. Add a producer-shaped regression and verify a real namespaced C++ function through the CLI.
Assisted-by: Nitori (gensokyo-skills:nitori-reverse-engineering)
* test(ghidra): align verification with annotation authority
Keep strict capability and profile checks while admitting the explicit session metadata operation. Verify packaged transport authority and atomic transaction commitments and preserve a read-only Windows expectation.
Assisted-by: Nitori (gensokyo-skills:nitori-reverse-engineering)
2026-10-06 17:24:33 +08:00
N0zoM1z0
26881da76a
feat(ghidra): enable Windows x64 read-only analysis ( #699 )
...
* feat(ghidra): enable Windows x64 read-only analysis
* test(ghidra): exercise native Windows runtime boundaries
* test(ghidra): verify current Windows inventory and isolate ACL observer
* fix(ghidra): align Windows admission and address P0 review
2026-10-06 16:53:33 +08:00
morluto
5daaa453ff
chore: migrate formatting to Oxfmt ( #615 )
2026-10-06 01:59:19 +08:00
N0zoM1z0
b225b0f64b
fix(ghidra): recover evidenced switch cases and default targets ( #579 )
...
Correlate typed labels with recovered block entries and one indirect dispatch.
Preserve ambiguous and nonexact integer associations as unknown with raw diagnostics.
Expose defaults separately, collect backing load metadata, and invalidate old profiles.
Add independent compiler-byte CLI/MCP acceptance and actual Ghidra model controls.
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
Assisted-by: Suika (gensokyo-skills:suika-scatter-gather-planning)
2026-10-05 22:54:17 +08:00
morluto
b5e98915c6
fix(tools)!: simplify direct invocation and harden boundary contracts ( #555 )
...
Remove REA permission grants, scope ceilings, approval confirmations, and inert settings. Preserve selected local evidence, accept caller-chosen commands and paths, and report actual runtime failures.
Harden provider results, schema serialization, snapshot evidence binding, archive paths, source maps, native screenshots, managed EH parsing, and cancellation cleanup. Regenerate tool metadata and document direct invocation.
BREAKING CHANGE: Removed permission configuration and policy commands, approval fields, filesystem scope inputs, and fixed confirmation options. Process capture inherits the host environment and accepts command names; callers must refresh tool schemas and migrate removed fields.
2026-10-05 20:16:44 +08:00
morluto
5b383b2ddd
docs: align translated READMEs and clarify support guides
2026-10-05 18:39:28 +08:00
morluto
4fbc501121
feat(native): add inspection primitives, dispatch traces and approved UI observation ( #500 )
...
* fix(hopper): normalize string-backed addresses and update verification
* feat(native): add inspection primitives, dispatch traces and approved UI observation
* test: prioritize real artifact E2E and captured golden regressions
* fix(process): queue observed output before reactive rendering actions
* test: prune redundant cases and strengthen boundary assertions
* fix(cli): route native value tracing through shared workflows
* test: replace synthetic success with real workflows and captured data
* fix(catalog): separate portable metadata from native host availability
2026-10-04 16:02:36 +08:00
morluto
ed933d1893
feat(native): add investigation features ( #486 )
...
* feat(native): add UI and dispatch investigation workflows
* feat(ghidra): support macOS host validation
* docs: update native investigation capabilities
* feat(artifacts): decode compiled Interface Builder archives
* feat(ghidra): expose bounded p-code value flow
* test(ghidra): split host and cross-format verification
* fix(verify): follow complete result contracts
* refactor: remove unused authorization and schema helpers
* refactor: remove unused evidence result alias
* fix(ghidra): report jump-table evidence precisely
* fix(verify): align browser scenario fixture schema
* fix(setup): compare parsed client config structurally
* test(ghidra): verify AArch64 jump-table mappings
* fix(ghidra): recover AArch64 byte jump tables
* test(artifacts): verify compiled interface builder archives
* feat(native): trace UI actions through handlers
* fix(tests): update native trace and shutdown fixtures
* fix(verification): diagnose browser scenario failures
* fix(browser): wrap scenario snapshots in capture state
* fix(native): bind and bound investigation workflows
* fix(artifacts): preserve bounded interface builder evidence
* fix(ghidra): enforce admitted hosts and preflight tools
* fix(native): preserve trace cancellation and bounds
* test(application): expect bound analysis target evidence
* fix(native): preserve investigation bounds and cancellation
* fix(application): preserve bundle and unresolved trace evidence
* style(test): format artifact subject fixture
2026-09-30 00:41:05 +08:00