$ nightshade vulnerable.compact --config config.json --compiler /path/to/compactc MEDIUM — Ledger-bound private preimage is published [ledger-bound-preimage-publication] vulnerable.compact:12:3 12 | published = disclose(secret); | ^ Private value from ownerSecret reaches ledger-write published without a hiding transformation. A hash of this value is asserted equal to ledger ownerHash on the same potential successful path. Ledger operation data is public. If an untrusted observer obtains a reusable authentication secret through this boundary, secrecy is lost. An intentional reveal protocol may permit this flow. Source: vulnerable.compact:10:18 Constraint: vulnerable.compact:11:3 Call path: update Remediation: Keep reusable authentication preimages private; publish a suitable commitment or non-secret result. If this is intentional reveal, confirm that the revealed value grants no remaining authority and document that policy. Semantic profile: compact-0.34.0-zkir2. Baseline analysis: complete; selected rules: complete. Rule coverage: 1 selected rule(s); 0 with incomplete entries. 1 finding(s), 0 suppressed, 0 baseline; 2/2 entrypoint(s) completed; analysis complete. Compiler validation passed.