Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Security Policy

crucible-prover is the proof engine of the Crucible Confidential Token test suite. It handles material that must never be exposed: private witness values, secret randomness, and secret openings.

Reporting a vulnerability

Do not open a public issue for a security vulnerability. Report it privately by opening a security advisory on GitHub, or by emailing the maintainers (see CONTRIBUTING.md).

Please include:

  • the affected crate/version and the exact operation that triggers the bug
  • a minimal reproduction (test vector, proof request, or code snippet)
  • your assessment of impact, especially whether any private witness value, secret, or verification key material can be leaked or forged

You should receive an acknowledgement within 5 business days.

What this project considers in scope

  • Leakage of private witness, secret randomness, or secret openings through logs, errors, serialization, CI output, or public fixtures
  • Acceptance of tampered, stale, replayed, or misattributed proofs
  • Verification-key or artifact integrity failures (checksum bypass)
  • Circuit/public-input binding violations
  • Unauthorized proof generation or verification bypasses

Out of scope

  • The underlying cryptographic soundness of the Noir circuits or the UltraHonk proving system itself. Defects in upstream provers (Noir/Barretenberg) must be reported to their respective projects.

Security stance

This repository is part of the Crucible test suite for a protocol that Stellar labels a developer preview and which remains under audit. The mock prover shipped in this workspace is explicitly not cryptographically secure and must never be used outside tests.