{
  "slug": "hax",
  "name": "hax",
  "tagline": "Rust to F*, Rocq, Lean, ProVerif, SSProve and EasyCrypt",
  "maintainer": "Cryspen",
  "url": "https://github.com/cryspen/hax",
  "repo": "https://github.com/cryspen/hax",
  "category": "implementations",
  "targets": [
    "Rust",
    "libcrux ML-KEM and ML-DSA",
    "Protocol models (ProVerif)"
  ],
  "approach": "Translation of a large Rust subset into proof assistants; properties proved on the extracted model",
  "license": "Open source",
  "status": "Active; Lean backend under development with EF funding",
  "summary": "hax translates a large subset of Rust into F*, Rocq, ProVerif, SSProve and EasyCrypt, with a Lean backend in development. Cryspen used it to verify libcrux's ML-KEM (portable and AVX2 field arithmetic, NTT and serialization) in F*; libcrux ML-KEM ships in Mozilla and Signal.",
  "details": [
    "hax keeps the Rust readable and moves the proof burden to the backend of your choice. It is also the tool at the centre of the February 2026 Verification Theatre paper, which found 13 vulnerabilities in libcrux and hpke-rs, four inside verified ML-KEM and ML-DSA code, all outside what the specifications stated. The lesson is not that hax failed but that the verification boundary must be published with the proof."
  ],
  "strengths": [
    "Production Rust stays production Rust.",
    "Many backends, including symbolic (ProVerif).",
    "Shipped verified post-quantum code at scale."
  ],
  "limits": [
    "Rust subset restrictions.",
    "Properties are only as good as the specification (Verification Theatre).",
    "Lean backend not yet complete."
  ],
  "fit": [
    "Choose hax for Rust cryptographic libraries and ZK prover code where you want proofs without rewriting."
  ],
  "references": [
    [
      "hax repository",
      "https://github.com/cryspen/hax"
    ],
    [
      "Cryspen: ML-KEM verification",
      "https://cryspen.com/post/ml-kem-verification/"
    ],
    [
      "Verification Theatre (ePrint 2026/192)",
      "https://eprint.iacr.org/2026/192"
    ]
  ],
  "category_name": "Verified implementations",
  "page": "https://sorryfree.com/frameworks/hax/",
  "updated": "2026-09-13"
}