ByAUJay
Blockchain Penetration Testing Services: How to Evaluate a Vendor
A practical guide for CTOs, CISOs, and product leaders to select a blockchain pen‑testing partner that can actually reduce exploit risk across smart contracts, L2s/bridges, nodes, and key management—backed by current standards, tooling, and measurable deliverables.
In 1–2 sentences: This post shows you exactly what to demand from a blockchain penetration testing vendor in 2025: scope, standards (OWASP SCSVS, EthTrust, CVSS v4), L2/bridge risk frameworks, toolchains (Slither, Foundry invariants, Certora, Move Prover), artifacts to receive, SLAs, and an RFP checklist—with concrete examples.
Why blockchain pen testing is different (and urgent)
- In 2024, attackers stole roughly $2.2B from crypto platforms across 303 incidents—a 21% YoY increase—with compromised keys topping the vector list and several large centralized incidents (e.g., DMM Bitcoin, WazirX). Treat this as a baseline loss environment when scoping risk. (chainalysis.com)
- For decision‑makers, the takeaway is simple: choose vendors who test beyond code reviews—across on‑chain logic, cross‑chain trust assumptions, validator/MEV infrastructure, and key custody—using modern standards and reproducible methods.
The scope you should require (six planes of testing)
Ask the vendor to confirm in writing which planes they will test, and what artifacts you’ll get for each:
- Smart contracts (EVM and non‑EVM)
- EVM: coverage against OWASP Smart Contract Top 10 2025 and SCSVS controls; mapping to EthTrust requirements for Solidity codebases. (scs.owasp.org)
- Non‑EVM: Move/Aptos and Sui—require formal specs and proofs where feasible (Move Prover), not just linting. (aptos.dev)
- Protocol/L2/Bridge
- Evaluation against L2BEAT’s risk dimensions (state validation, upgradeability, data availability, sequencing), DA bridge trust assumptions, and L2 “Stages” maturity. (forum.l2beat.com)
- Oracles and market interactions
- Manipulation‑resistant pricing tests (TWAP/median), depth and duration sensitivity, and flash‑loan scenarios. Don’t accept “we checked the price feed” without adversarial simulations. (docs.uniswap.org)
- Off‑chain and admin surfaces
- Front‑end, RPC, relayer/signing backends, governance UIs, and admin workflows—plus process abuse like upgrade guardianship and pause mechanics.
- Node, validator, and MEV infrastructure
- MEV‑Boost/relay liveness and centralization risk tests; fallback correctness; multi‑relay config review; relay monitor adherence. (docs.flashbots.net)
- Keys, custody, and HSM/KMS controls
- Operational testing of key access paths and misuse prevention. If you use cloud KMS/HSM, require the vendor to validate configuration against a FIPS 140‑3 Level 3 baseline (where applicable) and show evidence (e.g., AWS KMS L3). (aws.amazon.com)
The standards and benchmarks that separate real pen tests from box‑checking
- OWASP Smart Contract SCSVS and SCSTG: Insist that findings map to SCSVS controls and test cases; use SCSTG for method depth. Note that OWASP does not certify vendors—avoid anyone selling “OWASP certificates.” (owasp.org)
- OWASP Smart Contract Top 10 (2025): Ensure testing covers access control, reentrancy, unchecked external calls, price oracle manipulation, and flash‑loan vectors. (scs.owasp.org)
- EEA EthTrust Security Levels (v2): For Solidity/EVM projects, ask for coverage mapped to EthTrust v2 controls; this spec supersedes the aging SWC registry and is actively maintained (v3 expected in 2025). (entethalliance.org)
- SWC Registry: Still useful as a taxonomy, but it’s no longer actively maintained; use it alongside EthTrust/SCSVS, not as the sole benchmark. (github.com)
- CVSS v4.0: Demand severity scoring using CVSS v4 nomenclature (CVSS‑B/BT/BE/BTE) and environmental adjustments—base severity alone is not risk. (first.org)
- L2/Bridge frameworks: Require L2BEAT risk‑based assessments for rollups and DA layers (DA layer vs DA bridge risks). (forum.l2beat.com)
- Source verification: Require post‑remediation exact‑match verification via Sourcify/Etherscan with reproducible metadata and compiler settings for each deployment. (docs.sourcify.dev)
What a high‑caliber vendor’s methodology looks like (and the artifacts you should get)
- Threat modeling outputs
- Diagrams and written assumptions for: upgrade control, cross‑chain trust roots, DA/bridge attestations, oracle freshness thresholds, MEV/relay dependencies, and key ceremonies.
- Static, symbolic, fuzz, and invariant testing evidence
- Static analysis (e.g., Slither) reports with detector lists and false‑positive triage. (blog.trailofbits.com)
- Property/invariant specs: Annotated properties (e.g., Scribble) plus fuzzing and invariant test configs, runs, and counterexamples (Foundry, Diligence Fuzzing). (diligence.consensys.io)
- Formal specs where warranted (e.g., Certora for high‑value invariants), including the CVL rule set, coverage, and proof constraints. (docs.certora.com)
- Non‑EVM formal proofs (Move Prover) where feasible for resource safety and access control invariants. (aptos.dev)
- L2/bridge risk analysis
- Written evaluation against L2BEAT risk dimensions and DA bridge assumptions for your specific rollup/bridge architecture, including escape hatches and upgrade guardianship. (forum.l2beat.com)
- Oracle manipulation simulations
- TWAP/median windows, liquidity‑sensitivity, and flash‑loan adversarial runs; acceptance criteria for manipulation cost vs funds‑at‑risk based on Uniswap V2/V3 oracle guidance. (docs.uniswap.org)
- Validator/MEV checks
- Evidence of relay diversity, liveness circuit‑breaker testing, and fallback to local block‑building under relay failures. (docs.flashbots.net)
- Keys/KMS/HSM posture
- Configuration review mapped to FIPS 140‑3 L3 expectations (where used), including mTLS, admin separation of duties, and evidence of the cloud KMS module’s validated status. (aws.amazon.com)
- Reproducible builds and verification
- Build manifests (compiler versions, optimizer settings), bytecode diffs, and exact‑match verification receipts (Sourcify/Etherscan). (docs.sourcify.dev)
- Traceable standards mapping
- A coverage matrix mapping each finding to SCSVS controls and EthTrust requirements; note any out‑of‑scope components explicitly. (owasp.org)
Practical examples: what “good” looks like (with specific tests to request)
- Upgradeable proxy hardening (UUPS vs Transparent Proxy)
- Require tests that:
- Prevent using UUPS implementations behind Transparent proxies (risk of unintended upgrade surface).
- Enforce _authorizeUpgrade and block non‑UUPS destinations.
- Verify initializer guards and atomic initialization in deployment flows.
- Why: Mixing UUPS with Transparent proxies can enable unauthorized upgrades if misconfigured; vendors should demonstrate both static checks and adversarial upgrade attempts. (docs.openzeppelin.com)
- Oracle manipulation in lending/AMM integrations
- Require Foundry fuzz/invariant suites that:
- Attempt to skew a 30–60 minute TWAP under different liquidity regimes.
- Detect liquidation price drifts beyond a defined tolerance.
- Why: TWAPs are more manipulation‑resistant but still parameter‑dependent; a vendor should quantify attack cost vs. value at risk for your pool sizes. (docs.uniswap.org)
- Hyperledger Fabric chaincode and CA hardening
- Chaincode: Check for chaincode‑specific weaknesses (e.g., weak randomness, unused state) using a CWC‑style taxonomy; simulate endorsement/validation edge cases. (konradhambuch.github.io)
- Fabric CA/Operations: Enforce mutual TLS for the operations API and CA endpoints; demonstrate that ops endpoints reject unauthenticated access. (fabric-ca.readthedocs.io)
- Peers/Orderers: Verify TLS enablement, client auth for ops endpoints, and persistent ledger/MSP storage; if CouchDB is used, isolate and restrict access. (hyperledger-fabric.readthedocs.io)
- MEV‑Boost relay dependency tests
- Include a “malicious relay” scenario (block withholding) and confirm liveness fallback triggers back to local block production; verify multiple relays configured and monitored. (boost.flashbots.net)
- Non‑EVM formal verification (Move)
- For critical Move modules (e.g., custody, lending core), request Move Prover specs covering resource conservation, role‑gated functions, and invariant preservation with proof artifacts. (aptos.dev)
Toolchain: what you should expect the vendor to actually run
- Static/Semantic: Slither (detector lists), project‑level custom detectors where relevant. (blog.trailofbits.com)
- Property/invariant testing: Foundry fuzz + invariant tests with explicit run/depth configs and persisted counterexamples; Diligence Fuzzing with Scribble‑instrumented properties. (learnblockchain.cn)
- Symbolic execution where warranted (e.g., edge‑case paths): Manticore. (github.com)
- Formal verification for high‑value code: Certora Prover with CVL rules; coverage reports and proof obligations clearly listed. (docs.certora.com)
- Runtime monitoring handoff (post‑deploy): Forta/Defender monitor templates for governance/upgrade/pausing events and anomaly alerts (even if you’ll later migrate tools). (forta.org)
Deliverables and SLAs that avoid “audit theater”
Insist the SOW includes:
- Evidence‑based report:
- Executive summary with risk‑ranked issues (CVSS v4 nomenclature), exploitability analysis, and business impact.
- Technical appendix with PoCs, reproduction steps, and test data, including fuzz seeds and invariant configurations. (first.org)
- Fix‑validation re‑test:
- At least one free re‑test within 30 days and a diff report confirming fixes and regression checks.
- Verification and release gating:
- Build/verify scripts and exact‑match verification receipts (Sourcify/Etherscan).
- On‑chain monitoring runbook:
- Prebuilt monitor triggers for ownership transfers, upgrades, pauses, oracle deviances; alert routes to PagerDuty/Slack. (docs.openzeppelin.com)
- Incident response expectations:
- Contact windows, secure channel setup, and 24–72h advisory support during hotfixes.
Budgeting for continuous assurance (not just pre‑launch audits)
- Pair audits with bug bounties—but don’t run them concurrently to avoid duplicate payouts and noise; set critical bounty caps at 5–10% of funds‑at‑risk and budget 2–3× the max critical payout for program liquidity. (immunefisupport.zendesk.com)
- Reality check: Immunefi has facilitated >$100M in payouts; bounty ROI is proven when programs are adequately funded and triaged. (globenewswire.com)
Red flags when vetting a vendor
- “Certification” claims: OWASP SCSVS does not certify vendors or smart contracts; treat “OWASP‑certified” as a deal‑breaker. (scs.owasp.org)
- SWC‑only coverage: SWC is helpful but not maintained; demand EthTrust v2/SCSVS mapping. (github.com)
- PDF‑only deliverables: No fuzz seeds, invariant configs, or build metadata to reproduce results.
- No L2/bridge analysis: For rollups/bridges, lack of L2BEAT‑style risk assessment is unacceptable. (forum.l2beat.com)
- Severity without context: CVSS base scores without Threat/Environmental context (use CVSS‑BT/BE/BTE). (first.org)
Vendor evaluation rubric (scorecard you can copy)
Score each dimension 0–3 and set a pass threshold (e.g., ≥22/30):
- Scope coverage
- Tests all six planes with explicit artifacts (threat models, tool outputs, DA/bridge review).
- Standards mapping
- SCSVS/SCSTG and EthTrust v2 mapping with a control‑coverage matrix; notes gaps and out‑of‑scope items. (scs.owasp.org)
- Tooling depth
- Slither detectors, Foundry fuzz/invariants, symbolic execution as needed, formal proofs for critical paths, Move Prover where applicable. (blog.trailofbits.com)
- L2/bridge & oracle rigor
- L2BEAT‑style risk analysis and adversarial oracle simulations with quantified manipulation costs. (forum.l2beat.com)
- Infra/MEV/keys
- MEV‑Boost relay tests, fallback/liveness validation, and FIPS‑aligned KMS/HSM reviews where used. (docs.flashbots.net)
- Reporting and re‑test
- Reproducible PoCs, seeds, and exact‑match verification receipts (Sourcify/Etherscan); one included re‑test and release gating. (docs.sourcify.dev)
- Post‑deploy monitoring
- Operational runbooks and monitor templates (governance, upgrades, oracle anomalies). (docs.openzeppelin.com)
- Bug bounty integration
- Sensible scope and funding (5–10% funds‑at‑risk critical cap) and non‑overlapping with audit windows. (immunefisupport.zendesk.com)
Sample RFP language (paste into your procurement doc)
- “Provide a test plan covering: smart contracts, L2/bridge trust model, oracles, validators/MEV, and keys/KMS. Map findings to OWASP SCSVS and EEA EthTrust v2 controls; include CVSS v4 scores with BT/BE/BTE nomenclature.” (owasp.org)
- “Deliver fuzz/invariant configs (Foundry), all failing seeds/counterexamples, static analysis outputs (Slither detector list), and, if used, Certora CVL specs/coverage. For Aptos/Sui code, provide Move Prover specs and proof results.” (learnblockchain.cn)
- “For rollups/bridges, include a written L2BEAT‑style risk assessment (state validation, DA, upgrade keys, sequencing) and a DA bridge trust analysis.” (forum.l2beat.com)
- “Run adversarial oracle simulations (e.g., Uniswap TWAP) quantifying manipulation cost vs funds‑at‑risk; propose mitigations.” (docs.uniswap.org)
- “Validate validator/MEV setup: multi‑relay configuration, relay monitor adherence, liveness circuit‑breaker/fallback tests.” (docs.flashbots.net)
- “Confirm exact‑match contract verification (Sourcify/Etherscan) with reproducible compiler metadata; include verification receipts as release criteria.” (docs.sourcify.dev)
- “Evidence KMS/HSM configuration aligned to FIPS 140‑3 L3 where applicable; list modules/regions validated.” (aws.amazon.com)
- “Post‑remediation: one re‑test within 30 days; provide a diff report and updated monitors for governance/upgrades/oracle deviation alerts.” (docs.openzeppelin.com)
Emerging best practices to ask for in 2025
- EthTrust v2 over SWC‑only: Treat EthTrust as the primary Solidity checklist; use SWC as supplemental taxonomy. (entethalliance.org)
- CVSS v4 for prioritization: Request CVSS‑BTE where feasible so severity reflects real threat intel and environment, not just intrinsic properties. (first.org)
- DA/bridge‑aware rollup testing: Require explicit scoring of DA layer vs DA bridge risks if you use external DA. (forum.l2beat.com)
- Formal methods where impact is high: CVL/Certora for mission‑critical EVM logic; Move Prover for resource safety in Move. (docs.certora.com)
- Verify everything, exactly: Make exact‑match verification (Sourcify/Etherscan) a launch gate—no verified source, no deploy. (docs.sourcify.dev)
Bottom line
Pen testing vendors differ wildly in depth. Demand a standards‑mapped, tool‑rich, evidence‑based approach that spans smart contracts, L2/bridges, infra/MEV, and keys—and that ships reproducible artifacts, exact‑match verification receipts, and post‑deploy monitoring. Use the rubric and RFP language above to turn “audit theater” into measurable exploit‑risk reduction.
If you want, we can turn this into a one‑page checklist you can send to any vendor before you hop on the first call.
Like what you're reading? Let's build together.
Get a free 30‑minute consultation with our engineering team.

