Skip to content

exp(reversing): rehash and independently replay fixed synthetic native P0 claims - #550

Draft
mark-e-deyoung wants to merge 11 commits into
exp/reversing-benchmark-p0-20261025from
exp/reversing-native-replay-20261025
Draft

mark-e-deyoung wants to merge 11 commits into
exp/reversing-benchmark-p0-20261025from
exp/reversing-native-replay-20261025

Conversation

@mark-e-deyoung

Copy link
Copy Markdown
Contributor

Project-native authority: ghidra-tools DLE #4, mission-command plan, P0 accepted only for same-run consistency. DRAFT child stacked on current draft #546 exact head ec218499a73e65fac07adf04ed6e934929977992; no merge, release or model admission.

Mission outcome: take the existing public generated stripped x86-64 ELF before temporary deletion; directly rehash actual target bytes in a different Python module, launch two fresh native GDB processes per optimized branch-seed image (fixed RDI n=0 and n=1), attest entry+target breakpoint installation, entry actual PC, initial RDI7, intervention RDI n, ordered native target hit or authenticated clean exit. Check immutable SHA before/after replay and correlate generated entry and branch target RVAs from independent GNU oracle. Compare this native second measurement with the primary GDB per-island observations in the existing four-case P0 reducer, and fail closed on disagreement. New adversarial unit tests cover contradictory terminal, wrong PC, wrong RDI, event time order, corrupted/replaced ELF, signals and duplicates. No arbitrary user-file CLI; verifier is imported only inside the existing fixed synthetic source producer and has a bounded ELF sanity/header/size check.

Explicit independence limit: second measurement is a new debugger process and direct file hash but shares the public CI host, GDB, generated fixture source and source-known target address. It is not external peer grading, hostile stdout authentication, sealed blind evaluation, model generalization, an admitted arbitrary-binary executor or a release approval. Preserve original Ghidra/GNU/native matrix and seven-file P0 parent change rather than replacing it.

Authority: free public standard GitHub Actions existing job; $0; zero private GitHub-hosted minutes; no credentials, protected/private binaries, new corpus, privileged host, Sidecar admission, model spending, new runner, merge, release, or source/license custody transfer. Private ghidra-tools PR #5 project evidence contract remains draft/unaccepted. Qualification requires exact-head CI and a separate independent authorized reviewer.

Copy link
Copy Markdown
Contributor Author

Exact-head final CI reconciliation and bounded source-adversarial review (2026-10-25)

Authority: project-native mark-e-deyoung/ghidra-tools#4; experiment PR #550 is DRAFT/UNMERGED. This is a technical checkpoint, not external peer approval, product/schema acceptance or a request to merge.

Resolved final-head hold: At PR #550 source head 7c958b740a387e4eeea326de01ebeee8384b176f based on #546 ec218499a73e65fac07adf04ed6e934929977992, public Actions run 40210404402 initial job 121220220274 was CANCELLED during Ghidra/JDK dependency setup; it was NOT a tested-success final head. Subsequent retry job 121230190623 finished SUCCESS. Independently retrieved raw job log confirms checkout Merge 7c958b740a387e4eeea326de01ebeee8384b176f into ec218499a73e65fac07adf04ed6e934929977992, 144/144 tests PASS in 13 groups, and native Ghidra/GDB second replay markers for O2-seed3 and O2-seed2, each n=0 NATIVE_PC_WITNESS and n=1 NOT_OBSERVED_SAMPLE at exact image RVA 4200 / 0x1068. No failed steps on retry. Machine JSON is explicitly scoped P0_FOUR_CONTROLS_CONSISTENT_NOT_SEALED_BLIND, FRESH_GDB_PROCESSES_SAME_HOST_SAME_INSTRUMENTATION, source_receipt_sha256=d6c034f4130ab760b24c9b52818e17035cee1b5f1ee6823bd7733f7612dd8338. Do not interpret n=1 nonhit as unreachability or same-host replay as independent external attestation.

New bounded red-team finding, medium/low within fixed synthetic source, must correct before claiming general ELF profile integrity: scripts/reversing_benchmark_native_replay.py:replay_fixed_stripped claims to check a public x86-64 ELF but presently reads six header bytes only (\x7fELF\x02\x01). That proves ELF magic/class/data, not e_machine=EM_X86_64 (62), e_type=ET_EXEC (2) for the fixed -no-pie target, or header version. A 64-byte synthetic little-endian AArch64/RISC-V ELF header with that same prefix passes the existing pre-GDB architecture gate. This is not a claim that native CI actually executed the wrong architecture: in this public, source-known and independently compiled target, real x86-64 GDB and runtime observations provide additional constraints, and successful exact-head CI remains valid for its documented narrow sample. But the helper's claimed static identity check is overstated.

Reproduction: independently modeled the exact six-byte predicate, generated ELF64 little-endian headers varying e_machine 62/183/243, e_type 2/3/1, ELF version and truncation; original six-byte guard accepts the inappropriate variants while a minimum fixed-profile gate using stdlib struct.unpack_from('<H',header,18)==62, e_type==2, version==1 and length>=64 rejects them. 9/9 local review tests PASS, including a real gcc -fno-pie -no-pie compiled ELF positive. These are a disposable independent model of the guard rather than tests against the exact repository module or native GDB; this distinction is material.

Next small corrective action: require actual ELF header machine/type/version under the existing 2 MiB file bound and update the existing mocked ELF test fixtures to syntactically correct 64-byte ELF headers; fail closed before GDB. A GitHub code change needs a new exact-head CI, independent reviewer, and no automatic merge. Do not create a general ELF loader, service, new schema, or privileged runner for this.

Unchanged gates: $0 public standard runner; no private source/artifacts, no new Sidecar admission/keys/private Actions minutes; true independent peer, assistive-tech observation and private project-schema acceptance still pending.

Copy link
Copy Markdown
Contributor Author

Corrective verification closure — exact-head native CI (2026-10-25)

This resolves the narrow ELF-header source validation defect identified in comment #6400494317 without changing the scientific outcome or expanding the execution envelope.

Current PR #550 DRAFT HEAD: 9205cb6a5345b55d8cfc8fe6bd2cfad37fa1bcf9, still stacked on draft #546 ec218499a73e65fac07adf04ed6e934929977992. Two files corrected: scripts/reversing_benchmark_native_replay.py and tests/test_reversing_benchmark_native_replay.py. Before invoking GDB, the fixed public synthetic helper now checks 64-byte ELF header, 64-bit class, little endian, version 1, ET_EXEC=2, and EM_X86_64=62, consistent with its existing -no-pie compiler profile. Existing mocked fixtures were updated to minimal valid headers, and tests challenge wrong architecture (AArch64/RISC-V), wrong object type, wrong version, and truncation. No new tool, workflow permissions, runner family, binary input, credential or credential-exposure path was introduced.

Exact-head public free CI run #40214623536, job 121232973797: COMPLETED SUCCESS. Independently read raw job log, checkout Merge 9205cb6a5345b55d8cfc8fe6bd2cfad37fa1bcf9 into ec218499a73e65fac07adf04ed6e934929977992. Thirteen test groups total 147/147 PASS, with the native-replay group 14/14 PASS. Real pinned Ghidra/GDB O2 matrix still reports:

  • O2-no-unwind n=0 NATIVE_PC_WITNESS, n=1 NOT_OBSERVED_SAMPLE, target image RVA 0x1068.
  • O2-seed2-no-unwind n=0 NATIVE_PC_WITNESS, n=1 NOT_OBSERVED_SAMPLE, same target RVA.
  • RE_BENCH_P0_NATIVE_FOUR_CASES_AUDIENCE_PROJECTIONS_PASS and source receipt SHA-256 d6c034f4130ab760b24c9b52818e17035cee1b5f1ee6823bd7733f7612dd8338 present in actual post-execution log.

Evidence class: SOURCE_AND_NATIVE_FIXED_SYNTHETIC_CI_VERIFIED, not strong independent same-host trust, blind source-held-out grading, universal reachability, actual screen-reader qualification, product schema acceptance, or merge. This technical implementation/review remains by the same assistant and does not satisfy the genuinely independent reviewer gate. The original final-head CI run #40210404402 was initially cancelled during dependency setup, then succeeded on retry; it was not evidence of a code defect.

Next bounded DLE baton: reconcile this exact head/CI into project-native mark-e-deyoung/ghidra-tools#4 through its authorized owner; request genuinely separate independent reviewer for #550 and #514; validate private candidate schema #5 with an independent semantic oracle before consequential promotion. Keep all upstream PRs DRAFT/UNMERGED, $0 free standard public Actions only, zero private hosted minutes, no private binaries, no new Sidecar grant.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant