# Synthetic audit-evidence exercise

Created for the September 5, 2026 revision of DeFiSec's article about the importance of DeFi security audits.

Download `check_audit_evidence.py` and `fixtures.json` into the same directory. With Python 3.9 or later, run:

```sh
python3 check_audit_evidence.py > reproduced-results.json
```

No third-party packages or network access are required. The output is deterministic; compare it with `results.json`. Exit 0 means the positive and negative controls produced their expected outcomes. It does not mean that the fictional release is secure.

The fixture contains one consistent reference packet and three copies with one deliberately changed field: a release commit, a retest commit or a runtime byte string. The checker compares the final reviewed commit and source digests with the release record; links the resolved finding to a passing retest record on the fix commit; and compares the two supplied runtime byte strings.

All documents are synthetic. The commit labels are not Git objects. Source strings are teaching notes rather than executable contracts. The two runtime strings are hand-authored EVM-style examples, not compiler output or RPC observations. The checker reads a retest record; it does not execute that retest. It cannot establish that a scope is sufficient or a document authentic. Equal strings provide no evidence about initialization, proxy targets, privileged accounts, or economic assumptions.

Expected result: 4 packets, 12 consistency checks, 9 consistent checks and 3 mismatches. These counts describe this fixture alone. They are not an audit score, benchmark, detection rate or estimate of real-world security.
