The homepage says the evidence is public. This page hands it to you.
One frozen evidence package. Two commands. If the published identities do not reproduce, that is a break — file it and it becomes part of the public record.
Claim under test: the raw bytes of OpenZeppelin Ownable.sol at commit 932fddf (v5.0.0) have SHA-256 38578bd7…0cb81 (3,102 bytes) — and QPF's own verification identity for that claim can be recomputed from the published files alone. Scope: content identity only. Not a statement about OpenZeppelin security or audit status.
mkdir qpf-attack && cd qpf-attack
for f in verify.py pin.json manifest.json artifact.bin receipt.json expected-result.json; do \
curl -fsSO https://quantumpiforge.com/attack-kit/EXT-001/$f; done
python3 verify.py
Requires only Python 3.8+, standard library. No Node.js, no git, no clone, no wallet. verify.py also independently re-fetches the artifact from GitHub and compares it against the packaged bytes.
=== SUMMARY ===
ALL CHECKS PASSED
qpfv0 qpfv0:44a9b8cfbcd6eb3dfc83e93b1312f4511a4d42de77cd24afcea198bb424f9db8
qpfpkg0 qpfpkg0:54f7af2c1ab97709f0813815036bcde62bfb3165107426a0f6a952d9c97cb1c2
A pass means: the published package is internally consistent and QPF's derivation algorithm (JCS RFC 8785 canonicalization + SHA-256) reproduces both published identities from the frozen bytes.
A pass does not mean: QPF is secure, the token is valuable, or any protocol feature is authorized. Mint, staking, LP, and bridge remain not authorized.
A mismatch means: a break. Record the output, file it (link below). It will be published either way.
qpfv0 is timestamp-stable: re-running QPF Level 0 on the same artifact + receipt yields the same qpfv0 even though the new result carries a fresh timestamp.
qpfpkg0 binds the complete frozen package byte-for-byte, including the published expected-result.json. Re-running verification regenerates the result with a new timestamp and therefore legitimately derives a different package id — that is not a failed check. To confirm qpfpkg0, hash the published result file; verify.py does exactly this.
not_applicable: the package proves content identity and derivation, not authorship.
Package location in source: docs/outreach/EXT-001/ (served from deploy/attack-kit/EXT-001/ — the files are byte-identical copies; both paths carry the frozen contents, and any change invalidates the published identities).