Automated smart contract security analysis powered by formal verification
Project description
Certora ProverLite
Automated smart contract security analysis powered by formal verification.
Prerequisites
- Python 3.12+
- Java 21+ (required by the Certora prover)
- Foundry (
forge buildmust succeed on your project) CERTORAKEY— Sign up at certora.com and store the API key from your signup email as an environment variable.ANTHROPIC_API_KEY— Beta testers will receive a Claude API key from Certora to cover LLM-related costs. Set it as an environment variable.
[!IMPORTANT] If you are a beta tester, make sure
ANTHROPIC_API_KEYis set to the key provided by Certora, not your personal key. ProverLite will first open your browser to authenticate with prover.certora.com.
Install
uv venv proverlite-env && source proverlite-env/bin/activate
uv pip install certora-proverlite
Or with pip:
python -m venv proverlite-env && source proverlite-env/bin/activate
pip install certora-proverlite
Usage
cd /path/to/your/contracts
proverlite src/Token.sol
With explicit contract name (in case contract name does not match the file name):
proverlite src/Vault.sol:MyVault
[!IMPORTANT] Both
CERTORAKEYandANTHROPIC_API_KEYmust be set in your environment before running ProverLite. You can also pass them inline:ANTHROPIC_API_KEY=sk-... CERTORAKEY=... proverlite src/Token.sol.
What it does
- Builds your project and sets up verification infrastructure
- Runs formal verification checks (generic rules and AI-inferred rules)
- Analyzes results with AI and generates an HTML report
Once complete, ProverLite prints the path to the generated HTML report in the current working directory.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file certora_proverlite-0.1.18-py3-none-any.whl.
File metadata
- Download URL: certora_proverlite-0.1.18-py3-none-any.whl
- Upload date:
- Size: 995.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a8c3a1cdfa812fb3579a1f7859da18e423485db0f005a2573a1d09cabf52d72
|
|
| MD5 |
de7d9dd1b22732e9fe6af406c53c3367
|
|
| BLAKE2b-256 |
92b12aca04987c864d69491538d6c066bac3e9f100b4688aa6527b6924910d44
|
Provenance
The following attestation bundles were made for certora_proverlite-0.1.18-py3-none-any.whl:
Publisher:
publish.yml on Certora/proverlite-release
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
certora_proverlite-0.1.18-py3-none-any.whl -
Subject digest:
2a8c3a1cdfa812fb3579a1f7859da18e423485db0f005a2573a1d09cabf52d72 - Sigstore transparency entry: 1065790748
- Sigstore integration time:
-
Permalink:
Certora/proverlite-release@01ae59ec7fe4a15969c485b61d829f02bb9e15c7 -
Branch / Tag:
refs/tags/v0.1.18 - Owner: https://github.com/Certora
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@01ae59ec7fe4a15969c485b61d829f02bb9e15c7 -
Trigger Event:
push
-
Statement type: