$ taskset -c 0-3 <pack>/install/released/node_modules/.bin/nightshade <pack>/findings/predictable-commitment-randomness/vulnerable.compact --config <pack>/findings/predictable-commitment-randomness/config.json --compiler <compact-toolchains>/0.34.0/compactc

MEDIUM — Public commitment uses predictable randomness [predictable-commitment-randomness]
<pack>/findings/predictable-commitment-randomness/vulnerable.compact:6:3
  6 |   published = persistentCommit<Field>(secret(), pad(32, ""));
    |   ^
persistentCommit commits private-derived input using statically known randomness, and its result influences ledger-write published. This removes the protection supplied by secret, unpredictable commitment randomness; low-entropy inputs can remain guessable. Intentional deterministic commitments require review.
Source: <pack>/findings/predictable-commitment-randomness/vulnerable.compact:6:15
Call path: publish
Remediation: Use independently generated, sufficiently entropic private randomness appropriate to the primitive and protocol. Do not replace intentional deterministic protocol commitments without reviewing compatibility.

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; 1/1 entrypoint(s) completed; analysis complete. Compiler validation passed.
