SP1-logo

SP1

|

SP1 is a RISC-V based zero-knowledge virtual machine which allows developers to easily prove an execution of any Rust program.

Zero-Knowledge Proofs
Rust
Go
Maximum Bounty
$100,000
Live Since
21 September 2026
Last Updated
13 October 2026
  • Runnable PoC Required

Select the category you'd like to explore

Assets in Scope

Target
Name
sp1-core-executor
Added on
1 October 2026
Target
Name
sp1-core-machine
Added on
1 October 2026
Target
Name
sp1-hypercube
Added on
1 October 2026
Target
Name
sp1-recursion
Added on
1 October 2026
Target
Name
sp1-zkvm
Added on
1 October 2026
Target
Name
sp1-lib
Added on
1 October 2026
Target
Name
slop (Succinct Library of Polynomials) - excluding whir, veil, spartan, pgspcs
Added on
1 October 2026
Target
Name
sp1-prover verifier
Added on
1 October 2026
Target
Primacy Of Impact
Name
Added on
1 October 2026

Impacts in Scope

Impacts Body

We prioritize soundness vulnerabilities affecting Groth16 and Plonk proof types.

Severity
Critical
Title

Soundness bug where a malicious prover can forge a false proof for all 4 proof types (core, compressed, Plonk, Groth16) for a general class of programs.

Severity
High
Title

Soundness bug where a malicious prover can forge a false Compressed proof for a general class of programs.

Severity
High
Title

Soundness bug where a malicious prover can forge a false Groth16 and a Plonk proof for a general class of programs.

Severity
Medium
Title

Completeness bug affecting all proof types and a general class of programs.

Severity
Medium
Title

Soundness bug that allows forging a false core proof but not compressed or SNARK proofs.

Out of scope

Program's Out of Scope information

All reports must be valid on SP1's latest release commit, which can be found here. The findings must be reproduced with production circuits and verification keys, with default production security checks. Findings that require Cargo features or paths intended solely for experimental, mprotect, debug, profiling, dummy, testing, benchmarking, or in-development circuits are out of scope. Findings on the usage of proof_nonce are also considered out of scope. More precisely, the findings should use the compiler feature-set used to build the Docker images here; in particular, sp1-prover/experimental and sp1-prover/mprotect are off, sp1-prover/native-gnark is turned on, and they should demonstrate a completeness or soundness vulnerability in sp1_sdk::prover::Prover::verify. Proofs of concept should be able to run on an Apple M3 chip or similar hardware in ten minutes or less.

The whir, veil, spartan, pgspcs crates within slop are out of scope. Findings that affect slop only as a standalone library and do not affect the in-scope proving and verification in SP1 are considered out of scope.

A bug bounty submission for a completeness vulnerability should demonstrate an inherent and deterministic incorrectness inside an AIR constraint, recursive circuit, or production verifier that makes a valid execution unprovable, or makes its correctly generated proof unverifiable. Failures that are specific to a prover backend or prover implementation, hardware, insufficient resources, concurrency, timeouts, environment variables, or user misconfiguration are out of scope.

All reports must be valid under the SP1 security model

This means that all eligible proofs of concept must use

  • A memory-safe, non-malicious program.
  • An ELF produced by the provided SP1 toolchain.
  • Safe usage of precompiles and patched crates as explained in the documentation.
  • Must not request a Core proof for an ELF that invokes the VERIFY_SP1_PROOF syscall.

Only production soundness failures and protocol-level completeness failures as defined above are eligible for the bounty. Findings on DoS of prover and the verifier, as well as service availability, are considered out of scope.

Source: SP1

Default Out of Scope and rules

Blockchain/DLT specific

  • Incorrect data supplied by third party oracles
    • Not to exclude oracle manipulation/flash loan attacks
  • Impacts requiring basic economic and governance attacks (e.g. 51% attack)
  • Lack of liquidity impacts
  • Impacts from Sybil attacks
  • Impacts involving centralization risks

All categories

  • Impacts requiring attacks that the reporter has already exploited themselves, leading to damage
  • Impacts caused by attacks requiring access to leaked keys/credentials
  • Impacts caused by attacks requiring access to privileged addresses (including, but not limited to: governance and strategist contracts) without additional modifications to the privileges attributed
  • Impacts relying on attacks involving the depegging of an external stablecoin where the attacker does not directly cause the depegging due to a bug in code
  • Mentions of secrets, access tokens, API keys, private keys, etc. in Github will be considered out of scope without proof that they are in-use in production
  • Best practice recommendations
  • Feature requests
  • Impacts on test files and configuration files unless stated otherwise in the bug bounty program
  • Impacts requiring phishing or other social engineering attacks against project's employees and/or customers