morluto
5e1afe454f
fix(snapshot): retain MCP workflow replay bindings
2026-10-08 23:29:43 +08:00
Ysopwnable
163ee09a74
feat(native): inspect recorded crashes through pwntools and pwndbg ( #1054 )
...
* feat(native): inspect recorded crashes through pwntools and pwndbg
* fix(native): bind core note semantics to raw owner bytes
* fix(native): validate recorded core ABI and evidence scalars
* fix(native): require complete recorded note interpretations
* fix(native): bind physical core notes to original headers
2026-10-08 16:50:31 +08:00
Ysopwnable
7af7bc88ce
feat(evm): inspect offline bytecode interfaces through EVMole ( #1051 )
...
* feat(evm): inspect offline bytecode interfaces through evmole
* fix(evm): distinguish unsupported bytecode targets
* style(evm): format verifier string-prefix checks
2026-10-08 15:32:05 +08:00
Ysopwnable
4fc6565b0f
feat(native): inspect offline ELF layout through pwntools ( #1037 )
...
* feat(native): inspect offline ELF layout through pwntools
* fix(build): prepare offline ELF verification on clean runners
* fix(native): preserve snapshot acquisition cancellation
* fix(native): handle sectionless ELF and retain decoder diagnostics
* test(native): verify malformed symbol table entry sizes
* fix(native): respect inherited limits and unused segment fields
* fix(native): preserve packed relocations and decoder launch constraints
* fix(native): validate symbol spans and preserve resource failures
* fix(native): preserve diagnostic completeness and memory failures
* fix(native): guard bridge imports against allocation failures
* fix(native): validate relocation symbol and section references
* fix(native): retain diagnostics through compounded cleanup failures
* fix(native): preserve unresolved relocation section references
* fix(native): bound linkage evidence and preserve CPU signal diagnostics
* fix(native): preserve file-size resource failure evidence
* fix(native): retain opaque linkage names and late cancellation output
* test(native): make CPU-limit fixture robust across runners
* fix(native): verify resource failure branches before interpreting exits
* fix(native): validate declared ELF string references
* fix(native): validate section-name table before decoding
* fix(native): enforce canonical ELF name-table escapes
2026-10-08 14:22:08 +08:00
2bf3663f65
feat(browser): inspect historical web network captures ( #992 )
...
* feat(browser): inspect retained HAR and mitmproxy capture evidence
Add independent offline format adapters, inline CLI/MCP evidence, bounded
owned decoder processes, and real producer verification.
Refs #882
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): preserve capture boundaries during cancellation and decoding
Honor cancellation during owned-command cleanup, retain opaque HAR
extension content, and clean verifier resources on every failure path.
Refs #882
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): exclude sensitive capture fields across representations
Normalize known native transport URLs for both bytes and strings, including backups. Exclude explicitly sensitive text fields with null so redaction markers cannot reintroduce declared literals. Cover both provider identities in catalog conformance.
Refs #882
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): exclude sensitive capture identities and bound diagnostics
* fix(browser): validate excluded HAR subtrees before projection
* fix(browser): distinguish capture input limits from decoder failures
* fix(browser): preserve decoder failure categories
* fix(browser): validate excluded native credential values
* test(browser): report capture verifier assertions directly
* fix(browser): classify native representation failures precisely
* fix(browser): exclude URL userinfo after header whitespace
* fix(browser): preserve capture evidence and failure boundaries
* fix(browser): exclude sensitive literals from capture limitations
* test(browser): check limitation values without JSON syntax
* fix(browser): preserve acquisition integrity and exclude selection diagnostics
* fix(browser): preserve capture acquisition and declaration boundaries
* fix(mcp): project sensitive capture argument validation
* fix: preserve capture bytes and prelaunch cancellation
* fix(browser): exclude sensitive HAR record ancestry
* fix(browser): preserve transport URL and parameter exclusions
* fix(browser): preserve numeric redaction and canonical capture provenance
* fix(browser): cover derived capture values and ownership preparation deadlines
* fix(browser): exclude explicitly sensitive artifact digests
* chore: regenerate generated metadata
* fix(browser): reject lossy HAR member normalization
* test(browser): assert the advertised unsupported-profile outcome
* fix(browser): preserve JSON visitor nesting failure locations
* fix(browser): exclude explicitly sensitive native source ranges
---------
Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-08 07:53:41 +08:00
Ysopwnable and morluto
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
morluto
eab34a9d8c
fix(android)!: preserve JVM settings and reuse metadata sessions ( #908 )
...
* perf(graph): avoid repeated traversal edge scans and copies
* fix(android)!: preserve JVM settings and reuse metadata sessions
Read class metadata without generating application source, retain immutable serialized APK sessions, and join owned cleanup on cancellation and shutdown.
BREAKING CHANGE: Android analysis now requires a full JDK 17 or newer with its compiler module for the packaged Java source bridge.
2026-10-07 16:50:41 +08:00
ysopwnable
f430c416c7
feat(browser): trace captured website source-map locations ( #897 )
...
* refactor(browser): share captured-script acquisition boundaries
Reuse stable capture/source acquisition and identity validation for module
and source-map analysis. Preserve host I/O, malformed input, unavailable
source and digest mismatch diagnostics.
Refs #851
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* feat(browser): trace captured website source-map locations
Refs #851 . Preserve selected capture/map byte identity, duplicate mappings and embedded source evidence through the pinned upstream codec.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* test(browser): verify source-map artifacts and synchronize generated contracts
Cover byte-preserving map reads and actionable filesystem constraints. Refresh generated public schemas and metadata on current main.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): preserve inert source-map URL context
The selected URL is local codec context and grants no transport authority. Preserve its reported text and verify normal/userinfo contexts through real public interfaces, alongside independent manifest byte identity.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
2026-10-07 16:21:18 +08:00
ysopwnable
0804722cdf
refactor(javascript): group application workflows and verification ( #896 )
2026-10-07 16:03:37 +08:00
ysopwnable
dd114d3980
refactor(binary): group session selection and snapshot ownership ( #886 )
2026-10-07 15:05:29 +08:00
ysopwnable
01be082e9e
feat(browser): trace captured website module imports ( #879 )
...
* feat(browser): trace captured website module imports
Compose verified exported scripts, inert native import syntax and a narrow
Chromium resolution port. Preserve query/fragment identity, import-map context,
all reported capture candidates and explicit unknown execution. Share named
CLI/MCP contracts and retain native reports, diagnostics and cleanup failures.
Add focused boundary regressions and a real module-loading oracle to the
existing conditional Chrome lane. No captured application code is executed
by module tracing, and no selected website asset is refetched.
Refs #851 , #774
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(browser): preserve module contexts and source bindings
Keep capture completeness inline, validate actual source text against its
digest, and separate unsupported URL contexts from malformed input.
Use the importer origin for native module resolution and the selected map
base independently, including mixed HTTP/HTTPS and escaped HTML attributes.
Refs #851 , #774
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
2026-10-07 14:59:52 +08:00
ysopwnable
507e8b3c7b
refactor(firmware): group layered source and verification ( #878 )
2026-10-07 14:44:52 +08:00
ysopwnable
8e8921d40c
refactor(android): group layered source and verification ( #873 )
2026-10-07 14:09:57 +08:00
N0zoM1z0
166dcd21d0
feat(javascript): recover readable modules with Wakaru ( #848 )
...
* feat(javascript): recover readable modules with Wakaru
Integrate pinned upstream source behind a typed optional recovery port,
preserve source identity and producer provenance, and publish verified
artifacts for existing JavaScript analysis through CLI and MCP.
Add focused real-tool CI with genuine bundler fixtures and bounded
resource, cancellation, cleanup, schema and packaged-artifact checks.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(javascript): align recovery catalog and browser verification
Share canonical Wakaru provider identity, describe CLI mode options, and
format the new workflow test. Disconnect the real page transport after
its observation readiness progress instead of a fixed delay.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* refactor(javascript): consume the investigation evidence writer
Verify that the SDK recovery handler records complete Evidence through the newly shared investigation owner.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
* chore(test): account for isolated recovery fixture compilers
* fix(javascript): validate recovery paths before acquiring the engine
Return field-specific invalid_format diagnostics for relative paths and verify compiled CLI/MCP parity even when the optional engine is unavailable.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
2026-10-07 12:46:13 +08:00
N0zoM1z0
be3cfbffdf
fix(mcp): isolate optional observation adapter failures ( #838 )
2026-10-07 11:45:17 +08:00
N0zoM1z0
3ed59b2812
refactor: share Android and firmware provider factories ( #826 )
2026-10-07 11:20:26 +08:00
N0zoM1z0
472b72a530
feat(web): export captured scripts for JavaScript application analysis ( #801 )
...
* feat(web): export captured scripts for JavaScript application analysis
Add capture adapters, conservative source path projection, verified exclusive publication and a shared CLI/MCP workflow. Retain source identities, missing content and competing URL versions in a complete manifest for existing static analysis.
Refs: #774
Closes : #799
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* test(web): include script export in independent effect audit
Register the new contract family in the independent inventory audit and verify the filesystem, session, network and idempotence metadata of the named export contract.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
* fix(web): preserve capture limitation values in export manifests
Align the export boundary with passive capture’s string contract instead of rejecting an admitted empty limitation. Cover the publisher boundary and regenerate canonical schemas and identities.
Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis)
Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
2026-10-07 05:24:32 +08:00
N0zoM1z0
5a7c769692
feat(firmware): integrate Binwalk and Unblob analysis
...
* feat(firmware): integrate Binwalk and Unblob analysis
* fix(firmware): verify published files and namespace source references
* test(firmware): isolate extractor dependency failure from process cleanup
* fix(firmware): retain actionable report and cleanup diagnostics
* test: assert retained batch output failure diagnostics
2026-10-06 14:16:04 +00:00
N0zoM1z0
904d03e987
feat(android): integrate static APK analysis with headless JADX ( #738 )
...
* feat(android): integrate static APK analysis with headless JADX
* test(android): include APK tools in explicit effects audit
2026-10-06 12:46:48 +00:00
N0zoM1z0
d0f3480a3c
feat(evidence): accept exact retained application references ( #734 )
2026-10-06 20:17:59 +08:00
morluto
e07b81649e
refactor!: simplify runtime tools and remove replay engines ( #572 )
...
* fix(hopper): report unavailable procedure body coverage
* refactor!: simplify runtime tools and remove replay engines
Keep direct inspection, capture, and comparison tools. Bind handlers to named contracts and let agents compose experiments with commands and local fixture servers.
BREAKING CHANGE: Remove controlled replay, Node characterization, finite replay-machine, managed runtime planning, and redundant string-tracing tools. Retire process replay, shims, reactive scenarios, custom checkpoints, and active browser replay and origin-scope inputs.
2026-10-05 21:15:04 +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
bb6a58c2a7
refactor(server): use canonical elicitation type
2026-09-29 19:12:21 +08:00
morluto
ecf3ed8bdb
refactor(tools): remove remaining arbitrary workflow caps
2026-09-29 17:00:06 +08:00
morluto
2f08c7c932
refactor(tools): remove artificial analysis ceilings
2026-09-29 16:29:23 +08:00
morluto
2a6eb41147
refactor(tools): return complete analysis results inline
2026-09-29 14:53:50 +08:00
morluto
34d00fd323
refactor(mcp): simplify workflow and observation scope
2026-09-29 12:41:28 +08:00
morluto
8c24272ee7
refactor(artifacts): remove selectors and traversal quotas
2026-09-29 12:15:49 +08:00
morluto
f55c2b9267
refactor(mcp): simplify tool inputs and inline results
2026-09-29 11:22:00 +08:00
morluto
7acac615ca
refactor(contracts): simplify workflows and drop readiness tool
2026-09-29 09:22:44 +08:00
morluto
9e7605482a
refactor(coverage): evaluate inline without workspaces
2026-09-29 08:45:00 +08:00
morluto
0d96275b68
refactor: return complete tool results inline
2026-09-29 07:08:46 +08:00
morluto
b8a9da0c0f
refactor(mcp): make analysis states unrepresentable ( #468 )
...
* refactor(config): parse capability settings into exact states
* refactor(runtime): encode replay and process outcomes exactly
* refactor: make analysis states unrepresentable
* refactor(mcp): register canonical schemas with SDK
* fix: preserve capability and catalog invariants
* fix(build): remove stale compiled modules
* fix(replay): update real verifier policy dependency
* fix(package): verify the complete MCP catalog
* fix(test): supply complete replay reload policy
* refactor(contracts): centralize output schema lookup
* refactor(mcp): delegate protocol boundaries to SDK
* fix(browser): approve real source capture
* fix(mcp): preserve catalog guidance
2026-08-10 02:28:11 +08:00
morluto
8f229ede70
feat(electron): add autonomous Electron runtime analysis ( #464 )
...
* feat: add autonomous Electron runtime analysis
* feat(electron): add lifecycle and boundary telemetry
* feat(electron): capture runtime boundary evidence
* fix(electron): package boundary hook helper
* feat(electron): report active capture coverage
* fix(electron): account for bring-your-own runtime
* feat(electron): expand agent-owned runtime scenarios
* fix(ghidra): keep fixture credentials out of argv
* perf(test): serialize local test and docs workloads
* fix(electron): harden active runtime capture
* fix(inspector): require exact runtime target authorization
* fix(docs): make managed manifest host independent
* fix(ci): make generated catalog portable
* fix: unblock autonomous command and electron flows
* fix(electron): close popup and detached helper gaps
2026-08-05 19:07:46 +08:00
morluto
51559245d2
Merge pull request #461 from morluto/agent/comprehensive-repository-audit
...
fix: harden evidence lifecycle and MCP contracts
2026-08-04 03:00:25 +08:00
morluto
1712e6d821
feat!: make evidence bundles canonical MCP resources
...
Add immutable session bundle snapshots, bounded resource discovery, paginated unknowns, mutable current analysis snapshots, and provider-neutral navigation/address context tools.
BREAKING CHANGE: export_evidence_bundle now requires a filesystem path and no longer returns an inline bundle.
2026-07-29 17:36:40 +00:00
morluto
969519c00f
fix(mcp): clarify routing and advertise input examples
2026-07-29 07:18:09 +00:00
morluto
fecddc0549
perf(mcp): reduce cold-start work
2026-07-26 15:02:58 +00:00
morluto
035e1144b0
feat(server): advertise available tools dynamically
2026-07-24 13:18:58 +00:00
N0zoM1z0
d25e98c3f9
feat: complete REA remediation program
2026-07-22 22:09:12 +09:00
N0zoM1z0
f4156d9663
fix(mcp): preserve investigation input policy
2026-07-21 19:51:11 +08:00
N0zoM1z0
3e3d45856e
feat: streamline agent integration and MCP routing
2026-07-20 17:11:06 +08:00
morluto
c6ee0049c4
refactor(app): split session and CLI workflows
2026-07-18 05:49:14 +00:00
morluto
2e5b44365f
refactor: simplify authorization boundaries
2026-07-18 05:49:14 +00:00
morluto
e6cfce3902
feat(permissions): add scoped process capture elicitation
2026-07-18 04:50:22 +00:00
morluto
194349683a
feat: add managed characterization and coverage closure
2026-07-16 22:53:50 +00:00
morluto
412bbaf05e
fix(mcp): hide managed workflows without a session
2026-07-16 19:53:03 +08:00
morluto
9c4a93d9b1
fix(mcp): integrate managed contracts after rebase
2026-07-16 19:52:35 +08:00
N0zoM1z0
5f66cfd57a
feat(dotnet): add managed runtime correlation planning
2026-07-16 20:10:36 +09:00
N0zoM1z0
55794d6083
feat(dotnet): add managed member comparison
2026-07-16 18:27:08 +09:00