Smart-contract security review
Every finding ships with a test that passes.
Proovant reviews Solidity contracts and reports only what it can reproduce. Specialised AI agents analyse the code, a separate stage tries to disprove each suspicion, and what survives reaches you as an executable Foundry test.
- Fewer false positives to triage
- Evidence your developers can run themselves
- A report written for the people who will fix the code
For teams shipping Solidity who want a fast, evidence-backed second look, before an audit or after a change. Not a substitute for a full audit. Is it right for you?
Findings ledgerillustration
Finding 01test_exploit_reproduces()PASS
Controltest_control_normal_path_unaffected()PASS
Lead 14no passing test, left out of the findingsDROPPED
$ forge test --match-path test/Proovant_Finding_01.t.sol
Suite result: ok. 2 passed; 0 failed
Proven
5
protocol reviews completed, on live or pre-mainnet code.
27
findings written up across four of them, each with a runnable test.
150+
local tests run behind the findings and the ideas ruled out.
1
review where nothing above Low survived. We said so.
Counts as of November 2026. Only Cloak has published its outcome, so the other teams are not named.
Proof
A real finding, from report to fix.
Finding CL-01 from our review of Cloak, a sealed-bid auction and shielded-pool protocol. The team fixed it and published the outcome.
CL-01MediumCloakDropFixed by the team
A bidder with several sealed bids could steer the tie lottery by choosing which bids to open
- Impact
In an oversubscribed NFT drop, a lottery decides the winners. A bidder could take far more than a fair share of the supply at the expense of honest bidders.
- Exploit
The lottery seed came only from the salts of the bids that were opened. A bidder holding several sealed bids could try every combination off-chain and open only the best one.
In our test (10 NFTs, 30 honest bids, an attacker with 8): a fair share is about 2.1 NFTs. The best of 256 combinations won 7.
- Evidence
$ forge test --match-path test/CloakPoc_Drop_CL01_CL03_CL04.t.sol -vv
[PASS] test_poc_tieGrind() (gas: 809676152)
fair expectation x1000 (8 tickets of 38, 10 NFTs): 2105
best NFTs won: 7
Suite result: ok. 3 passed; 0 failed; 0 skipped
Local chain, reviewed commit 27bffaa, no mocks needed for this test.
- Fix
The team added the hash of the block after settlement to the draw. We retested the fix: over 60 fresh block hashes the best-looking combination won 95 NFTs, against 128 for opening every bid. A fair share is about 126. The advantage is gone.
12
findings reported, all reproduced in Foundry.
1
mitigated: the penalty for the attack was raised from 10% to 25%.
3
left as they were: by design, accepted, or testnet-only.
Outcomes are as published by the Cloak team. None of the findings let anyone take deposits or private balances.
- 01
Submit
Send the repository, commit and contracts in scope. Nothing starts until you accept the quote.
you send an email
- 02
Scope
We read the scope, flag what we cannot cover, and reply with a quote and a time estimate.
scope and quote
- 03
Analyse
Eight specialist agents hunt in parallel, each on one family of bugs.
candidate leads
- 04
Verify
A separate agent tries to kill each lead. Survivors must reproduce in a Foundry test. On Verified, a researcher checks every finding.
confirmed findings only
- 05
Deliver
The report and a drop-in test package arrive by email.
report + PoC package
ConfirmedSurvived the skeptic and has a passing test. Reported as a finding.
UnconfirmedPlausible, but no test could be made to pass. Listed as a note, never rated Medium or above.
RejectedUnreachable, already fixed or documented, or no realistic impact. The reason is kept on file.
Plans
Two plans. The difference is the human.
Both run the same pipeline and both require a passing test for every finding.
AI only
Proovant Scan
The full pipeline, no human review.
Price: quoted by repository size
- A passing test for every finding
- Report and drop-in PoC package
- The faster plan
- No human checks findings or severity
- May report issues you already know
Best for: early code, pre-audit sweeps, checking a change.
Request a Scan
Recommended before deployment
Proovant Verified
The same pipeline, checked by a researcher.
Price: quoted by scope
- Everything in Scan
- A researcher reruns every test and checks every finding
- Severity graded with written reasoning
- Report names the reviewer
- One round of questions after delivery
Best for: teams close to deployment, or who must show the report to auditors or investors.
Request Verified
Turnaround is agreed in the quote. Verified takes longer because of the review. Neither plan is a formal audit or a guarantee. See what is and is not covered.
Questions
Before you ask.
Is this an audit?
No. It is an AI-assisted security review. The Verified plan adds a human check, but neither plan replaces a full audit or guarantees your contracts are free of vulnerabilities.
What do you need from me?
A repository link, the commit you plan to deploy, the contracts in scope and your target date. Private repositories are fine: we arrange read-only access after you accept the quote. Never send tokens or passwords.
What happens to my code?
It is analysed on a private workstation and by Anthropic's Claude models, and deleted within 30 days of delivery. It is never published or shared. Full data handling.
What if nothing is found?
You are told so, with what was covered and what was ruled out. One of our five reviews ended this way.