Commit Graph
3819 Commits
Author SHA1 Message Date
Entrpi 8201d8889b fix(artifacts): compare ESP segment declarations
Segment entries hash only their data, so compare_artifacts reported a
segment that moved to another load address with the same bytes as
unchanged; only the image itself changed. Compare each segment's
load_addr and data_len as its declaration, as Node SEA and PyInstaller
members are compared, and count a changed declaration as a metadata
change, also when content is unavailable.

Header offsets are layout and the classification is derived, so neither
is compared.
2026-10-28 01:09:12 +11:00
Entrpi 546119b63e feat(artifacts): inventory and extract ESP32 firmware images
ESP32-family app and bootloader images (magic 0xE9) had no reader, so
open_binary refused OTA downloads, app partitions and bootloaders.

Add the esp-image container format behind inspect_artifact and
extract_artifact. A pure decoder reads each byte once and keeps only
fixed-size fields. Derived facts cover the chip, from a table cited to
ESP-IDF v6.1; segment classification as ESP-IDF's should_map and
should_load; checksum and appended SHA-256 results; app and bootloader
descriptors; Secure Boot v2 signature blocks, observed and unverified;
and undescribed trailing byte ranges. Truncation and undescribed bytes
make coverage unknown. ESP8266 images are refused with a specific
reason, and ciphertext stays unrecognized.

Add the format to every target, Evidence, snapshot, live-summary and
artifact vocabulary, document it, and add an optional verify:esp-images
lane that compares esptool-built images with esptool image-info and
espsecure signature-info-v2.

Refs #3615
2026-10-27 22:54:29 +11:00
gensokyo-dev d6f88becd5 fix(mcp): summarize copied browser observations in input declarations (#7469)
Declare copied complete browser observations as abbreviated object operands, keeping canonical validation and normalization controls unchanged. Preserve all other tool declarations and Evidence identities.

Refs #4973 and #4081.
2026-10-27 17:09:22 +08:00
morluto b8cdbdf0ef test(sqlite): gate projection checks on native limits 2026-10-27 15:47:54 +08:00
gensokyo-devand555aaditya 03f17cf41d feat(android): apply caller-selected R8 mapping evidence (#7456)
Apply caller-selected R8/ProGuard mappings to shared Android inspections, preserving raw identities, exact verification, ambiguity and provenance. Add retained summaries and bounded/cached parsing, with measured real R8/Conscrypt workflows and review fixes.

Fixes #6329.

Co-authored-by: 555aaditya <107977627+555aaditya@users.noreply.github.com>
2026-10-27 15:47:08 +08:00
Rudy Mizrahi Celekliandgensokyo-dev 98422997c0 fix(setup): report Kuna cache aliases consistently (#7207)
fix(setup): report Kuna cache aliases consistently (#7207)

Unify lexical default-cache reports without changing removal authority. Plan selections before deleting managed directories; resolve absolute POSIX paths independently of ambient cwd. Preserve parent traversal, literal backslashes, caller data, and result/removal order.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-27 15:13:47 +08:00
gensokyo-dev 2817d30ab2 fix(docs): preserve verification reports after experiment archival (#7462)
Move the retained allocation report and unchanged receipt JSON into verification documentation. Keep one report producer, repair current and archived links, document test-support ownership, and remove retired lint inputs.

Fixes #7458.

Validated focused/Python checks, report consistency, docs rendering, and real Bash CLI/MCP facts against an independent oracle. Greptile reviewed all seven files without comments. CI source/Windows/shard-8 failures match clean-main or existing-main controls; the requester authorized merging with those established failures. Codex review quota was unavailable.
2026-10-27 15:10:48 +08:00
morluto dfe6aaf6da fix(gpu): preserve omitted metadata in projected views 2026-10-27 14:23:55 +08:00
morluto 365fb03e73 chore: archive analysis efficiency experiments 2026-10-27 14:10:07 +08:00
morluto 5b14823353 fix(gdb): retain confirmed detach during close 2026-10-27 14:09:06 +08:00
morluto d14f199736 fix(debugger): retain verified detach across cleanup retries 2026-10-27 14:04:49 +08:00
morluto 1fe92bff8e fix(pe): bound forwarders to export directory 2026-10-27 14:04:44 +08:00
morluto 50822e1eff fix(evidence): include every subject format in bundles 2026-10-27 13:59:32 +08:00
morluto 59dc48db20 fix(pcap): attribute DNS answers using wire identities 2026-10-27 13:54:20 +08:00
morluto df0e2f7b3e fix(desktop): read bounded MZ signature evidence 2026-10-27 13:46:36 +08:00
morluto 4055cc4df1 fix(verification): retain browser profile until shutdown 2026-10-27 13:42:36 +08:00
morluto c9df40f810 refactor(verification): own browser fixture lifecycle 2026-10-27 13:36:57 +08:00
Rudy Mizrahi Celekliandgensokyo-dev 7d6bccb86d fix(harmony): classify exact manifest names once (#7206)
Use one exact-case manifest path classifier for Harmony model hints and components. Preserve unavailable content identity, resource exclusions, Stage precedence and Evidence provenance.

33 boundary tests, docs checks, serial static checks and real pinned-HAP CLI/MCP before/after task passed. Canonical complete projection Evidence stays identical; uppercase derivative now reports unknown/no manifests. Shipped verifier source-ID assertion reproduces on unchanged main. CI7pass4fail19skip7cancel; exactmain reproduces17source and20shard8 failures. Greptile4/5soleupstreamfile-readercleanup scoped/resolvednotfixed. Requester authorized readiness and unrelated-main bypass; human review is not attested.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-27 13:30:24 +08:00
morluto f59fc19d21 fix(managed): unify native module identity matching 2026-10-27 13:24:11 +08:00
morluto 4e67bc3999 refactor(analysis): consolidate selection ownership 2026-10-27 13:21:35 +08:00
morluto 01a725ecfa fix(setup): preserve configuration directory requirements 2026-10-27 13:14:50 +08:00
morluto ddb5337674 fix(setup): resolve Hermes home ancestors before profile selection 2026-10-27 13:06:29 +08:00
morluto df8c90df8f fix(browser): retain cancellation after failed worker stop 2026-10-27 13:01:18 +08:00
morluto 8a8331b082 fix(setup): preserve Hermes home traversal 2026-10-27 13:01:18 +08:00
morluto c66729eca9 fix(workers): retain cancellation through final cleanup 2026-10-27 12:56:10 +08:00
morluto 4572f31589 fix(pcap): preserve DNS class when attributing answers 2026-10-27 12:56:10 +08:00
morluto 8691e48e67 refactor(evidence): return import counts from ledger owner 2026-10-27 12:54:37 +08:00
morluto 160648cc60 fix(filesystem): unify stable file identity checks 2026-10-27 12:45:57 +08:00
Rudy Mizrahi Celekliandgensokyo-dev 921225d4b2 fix(apk): match signer serials by signed integer identity (#7205)
Match v1 APK certificate and signer serials by signed integer value. Normalize each comparison identity once and preserve raw certificate bytes and Evidence.

37 source/integration tests, 23 real Android SDK verifier cases, SDK-valid padded APK CLI/MCP oracle and serial static checks passed. Hosted real-apk-signature passed. CI27pass7fail2skip7cancel; exact-main controls reproduce17source and14targeted existing-main assertions. NativeWindows/Mac/Node22 baseline gaps and canceled shards are documented. Greptile sole finding is unchanged upstream browser privacy code, scoped and resolved without a fix claim. Requester authorized readiness and unrelated-main failure bypass; no human review is attested.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-27 12:45:43 +08:00
morluto 25375924f7 fix(pcap): attribute DNS addresses by record owner 2026-10-27 12:42:51 +08:00
morluto 44310bba32 fix(il2cpp): validate selected FAT slice identity 2026-10-27 12:37:39 +08:00
morluto 279fc04095 fix(snapshot): retain publication receipt on cleanup failure 2026-10-27 12:37:38 +08:00
gensokyo-devandHarsh 7e8f7f6101 feat(android): expose selected manifest component declarations (#7379)
Extend static manifest declarations and retain precise source locations and historical unknowns. Share bounded selected component views across CLI and MCP with complete parent Evidence.

Verified real ApiDemos, an AAPT2-built fixture, legacy Evidence, default-package metadata and relevant CLI/MCP contracts. Recorded whole-task token estimates, timing/resource limits and independent main-failure controls in the PR.

Co-authored-by: Harsh <johiyaharsh@gmail.com>
2026-10-27 12:37:10 +08:00
morluto 3d311d9eca fix(cli): report failed browser cleanup retries 2026-10-27 12:31:48 +08:00
morluto b9e5a9f463 fix(process): retain unrepresentable filename evidence 2026-10-27 12:31:48 +08:00
morluto dd2cbbf1a2 fix(il2cpp): require FAT container identity 2026-10-27 12:31:35 +08:00
morluto f5edef3c96 fix(hopper): share cancellable probe output waits 2026-10-27 12:25:03 +08:00
morluto c4242cb85e fix(evidence): own standalone command finalization 2026-10-27 12:24:59 +08:00
morluto 2e7a206b20 fix(process): preserve symlink target bytes 2026-10-27 12:23:56 +08:00
morluto ff6b3fb9a1 fix(evidence): admit rebound APK and WASM views 2026-10-27 12:23:56 +08:00
Rudy Mizrahi Celekliandgensokyo-dev 1cd82597da fix(browser): normalize discovery wire facts at the shared boundary (#7204)
Normalize transport-specific discovery facts at their shared owner; preserve upstream duplicate-ID rejection and correct discovery-time attachment uncertainty in all consumers.

53 focused regressions, serial static checks and real Chrome CLI/MCP fault injection/inspection pass. Greptile final head 5/5. Exact-main controls reproduce all 17 source and 21 shard-8 failures; seven shards cancelled and remain unverified. Requester authorized readiness and unrelated-main CI bypass. Human review is not attested.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-27 12:16:50 +08:00
morluto e334a13c79 fix(cli): merge mixed array filter selections 2026-10-27 12:14:36 +08:00
morluto 47a8000cce fix(cli): project nested array slices 2026-10-27 12:06:29 +08:00
morluto 0793b6c3ca fix(rizin): retain rejected debugger shutdowns 2026-10-27 12:06:14 +08:00
morluto f89b03e738 fix(gdb): retain rejected shutdowns for retry 2026-10-27 12:01:12 +08:00
morluto 0eff039d08 fix(mcp): preserve Android cleanup failures 2026-10-27 11:56:01 +08:00
morluto 7cc33fcf7e fix(server): preserve cleanup failure diagnostics 2026-10-27 11:52:46 +08:00
morluto 8aa6df2d86 fix(native): share otool build tool parsing 2026-10-27 11:52:21 +08:00
morluto a6a69ec63e fix(ghidra): require Windows cleanup ownership 2026-10-27 11:49:23 +08:00
morluto c79bd41b5d test(hopper): verify bootstrap cleanup ownership 2026-10-27 11:45:25 +08:00