AnySec
Scoping a penetration test for a crypto exchange
← InsightsPenetration Testing · 9 min read

Scoping a penetration test for a crypto exchange

How to scope a penetration test for a crypto exchange: wallet and custody assets, RoE for live production funds, tiers, and what the report covers.

By AnySec EngineeringAnySec engineering

The short answer

Scoping a penetration test for a crypto exchange means fixing four things before an engineer touches production: which layers — external, internal, application — are in scope, which exchange-specific assets are named individually rather than folded into "the platform" (wallet and custody, the trading engine, the admin panel, KYC), a Rules of Engagement that defines how exploitation testing touches real funds and signing infrastructure without risking them, and which tier of depth and duration you're buying. Skip any of these and the quote you get is for a generic web-app test wearing a crypto exchange's logo.

Who this is for

This is written for whoever owns the statement of work at a licensed or regulated crypto exchange — a CISO, Head of Security, or platform owner who has to turn "get a penetration test done" (from a licensing regulator, a banking partner, or an internal audit finding) into a scoped, priced engagement against infrastructure where a missed finding means real on-chain funds move, not just a compliance flag.

It is not for you if what you're actually asking is whether to add continuous monitoring on top of a point-in-time test — that's a managed SOC decision, and the detection content that pairs with this kind of engagement is covered in building a SOC for a crypto exchange from scratch. It's also not the right read if the decision in front of you is how much starting access to grant the tester per system — that's a separate axis, covered in black-box vs grey-box vs white-box pentest, and it applies here the same way it applies to any other platform.

What's actually in scope

"Pentest our exchange" defaults, in practice, to a web-app test against the trading UI — which is exactly the surface an attacker cares about least, because it rarely holds custody of funds directly. A scope built for an exchange names each layer and, within it, the assets that actually carry financial and licensing risk:

  • External network — perimeter, public API endpoints, load balancers. Standard across any vendor; rarely where exchange-specific risk lives.
  • Internal network — lateral movement from a foothold toward systems that can initiate or authorize withdrawals, including any internal admin tooling reachable from the corporate network.
  • Application layer — the trading web app and mobile clients (tested against OWASP MASVS where mobile is in scope), plus the server-side logic behind order placement, deposits, and withdrawals.

Within those layers, the assets a generic "full platform" scope statement tends to skip by omission:

AssetWhy it belongs in scope by name
Wallet and custody infrastructureHot-wallet withdrawal automation, the handoff to cold storage, and the key-management or signing flow (in-house HSM or a third-party custody API) — the single highest-consequence surface on the platform, and the one most often left out of "web app" scoping language
Trading / matching engineOrder-book manipulation, market-data integrity, and privileged internal access that could front-run client orders — a threat class building a SOC for a crypto exchange from scratch also treats as its own detection layer for exactly this reason
Deposit / withdrawal blockchain integrationAddress validation, confirmation-count logic, and the reconciliation between on-chain state and internal ledger balance — the exact class of flaw covered in why we still do pure-manual penetration testing, where a race condition in a deposit-confirmation flow could have credited one on-chain deposit to two accounts
Admin / ops back-office panelInternal-facing and rarely load-tested, and the panel that decides whether a compromised employee or support account can pause trading, approve a manual withdrawal, or override a KYC flag
KYC / AML pipelineOften bought from a vendor and wired in rather than built in-house — worth confirming during scoping which parts are yours to test and which sit behind a third-party API boundary

Naming these individually — rather than trusting "full platform coverage" in a proposal — is what turns the scope into something a tester can actually be held to when the report lands.

The Rules of Engagement question specific to custody

Every casino or SaaS pentest asks "how do we know this won't take down production." A crypto exchange asks a sharper version: how do we know testing withdrawal and signing logic won't move real funds. The RoE has to answer that before anything else:

  • A segregated test wallet and minimal-value or test-net addresses, named explicitly for any exploitation step that touches deposit or withdrawal logic — production custody balances are never the target.
  • Third-party custody boundaries defined up front. If signing runs through a custody provider (an in-house HSM setup or an external API), the RoE states whether that provider's endpoint is in scope at all — testing against it without that provider's own authorization is not something an exchange can grant on its behalf.
  • A named contact with authority to pause testing immediately — the same requirement as any RoE, but with a lower tolerance for delay given what a signing-logic finding could mean if left live.
  • Explicit timing boundaries around settlement windows or scheduled on-chain batch withdrawals, so exploitation testing against the withdrawal flow doesn't collide with real batch processing.

Licensing regimes that cover exchanges commonly require evidence of independent testing as a condition of maintaining registration — the RoE and report both need to hold up to that scrutiny, not just internal sign-off.

How the engagement runs

StepWhat happens
1. RoE and scope definitionTargets, custody boundaries, test-wallet arrangement, and stop conditions signed before any exploitation begins
2. Reconnaissance and attack-surface mappingExternal, internal, and application surfaces enumerated against the named scope — including wallet, admin panel, and KYC assets called out above
3. Manual exploitation with chained vulnerabilitiesSenior engineers hand-test for multi-step chains — an admin-panel privilege gap plus a withdrawal-approval bypass — the kind of chain an automated scanner tests in isolation and misses
4. Post-exploitation impact analysisEvery successful path is traced to a business outcome: unauthorized withdrawal, ledger/on-chain mismatch, or account takeover — not just "endpoint vulnerable"
5. Report draftingExecutive summary plus a developer-actionable technical report with reproduction steps
6. RetestFixes validated against the same technique that found them

This is 100% manual delivery, the same standard described in why we still do pure-manual penetration testing — automated tooling scales reconnaissance, but the chained findings that matter in custody and withdrawal logic only surface when a senior engineer reads the code and decides what to test next.

What drives the cost

The same three tiers that apply to any penetration test engagement:

TierPriceDurationScope
Focused€2,499 per engagementUp to 5 daysOne target — a single application, or one external/internal network
Standard€5,999 per engagementUp to 10 daysFull-stack — external + internal + one application + one mobile app, plus a purple-team debrief
Continuous€12,000 per quarterOngoingQuarterly full-stack cycle with out-of-band micro-engagements — fits exchanges shipping weekly

What usually moves an exchange from Focused to Standard is not network size — it's whether wallet/custody, the admin panel, and the trading engine need to be tested as named, chained targets rather than a single high-priority asset on a tighter budget.

What you walk away with

  • An executive summary in business-risk language for stakeholders who won't read a CVSS table.
  • A technical report with developer-followable reproduction steps.
  • Per-finding remediation guidance at the code or configuration level.
  • A retest, confirming the fix closes the exact technique that found it.

A clean pass with no critical findings is still evidence — but only if the scope and RoE that produced it are documented well enough for a regulator or banking partner to trust the negative result.

Limitations — what this doesn't replace

A penetration test proves what an attacker can do against the named scope, on the day it runs. It doesn't audit a smart contract you've listed or built — that's a separate, specialized review, not a line item inside a general infrastructure pentest. It isn't continuous coverage either: a clean report this quarter says nothing about the trading feature shipped last week, which is what building a SOC for a crypto exchange from scratch is built to catch between engagements. And a test that skips wallet, admin-panel, and KYC assets in favor of "full platform coverage" on paper produces a report that satisfies a checkbox without ever touching the systems that carry real financial risk.

How to decide you're ready to scope one

Bring three things to the scoping call: which assets actually carry custody or financial risk (wallet, signing flow, admin panel — rarely just the trading UI), whether any listed token needs a separate smart-contract review, and any regulator or banking-partner requirement that names specific test types or timing. One more input worth deciding before the call: how much starting access to grant the tester per asset — black-box vs grey-box vs white-box pentest covers how that choice maps onto custody and admin systems specifically. Tell us your platform and scope and we'll turn it into a signed RoE, a test-wallet arrangement, a tier recommendation, and a cost estimate before any testing begins.

Sources and review

This guide reflects AnySec's Penetration Testing engagement methodology and standard industry scoping practice as codified in the Penetration Testing Execution Standard and the OWASP Web Security Testing Guide. Author: AnySec Engineering. Published 2026-08-16; last reviewed 2026-08-16.


Related reading

Rather not learn this in production.

Talk to the engineers behind these write-ups — thirty minutes, no sales script, a straight read on where you stand.

Book a call