Skip to content
Free tool · Exchanges, custodians, Web3 teams

Hot Wallet Security Checklist: Signing Service Controls

If one foothold can make your signing service sign, your hot wallets are only as safe as that service’s controls. This checklist scores 38 of them, from who may request a signature to whether your kill switch really stops signing. Binance said an attacker used unauthorized access to an internal wallet signing service to move funds outside the normal withdrawal process, then used EIP-7702 delegation to keep authority over a hot wallet that suspending withdrawals could not remove. Each control below says why it matters and where that comes from.

Free, in your browser, nothing uploaded. Pair it with the EIP-7702 Delegation Risk Explainer and the story behind it in our Binance hack coverage.

No download, no card

“Binance said” marks Binance’s own account of its 29 October 2026 incident (its post dated 4 November 2026). It is not independently verified and Binance says its investigation is ongoing. This is a self-assessment, not an audit.

Overall maturity
--/100
0 of 38 answered

1. Who and what may request a signature

Every route into the signer, not just the withdrawal pipeline.

  • Every service, job and person that can ask the signing service for a signature is on a written allow-list with a named owner, and unknown callers are refused.

  • Each caller proves its own identity to the signer (workload identity or mutual TLS), instead of being trusted because of where it sits on the network.

  • Every signing path other than the normal withdrawal flow is inventoried. Each one is removed, or put under the same policy, approval and limit checks as withdrawals.

2. Policy engine coverage

The signing policy has to know about every transaction and message type the key can sign.

  • The signing policy is deny-by-default: it lists the transaction and message types it allows, and anything not listed is refused.

  • The policy covers ALL transaction types, including EIP-7702 set-code transactions (type 0x04) and the authorization messages that are signed for them (prefix 0x05). Delegation is either blocked or limited to an approved list of delegate addresses.

  • For each signature the policy checks destination, asset, amount and, for contract calls, the function being called, against an allow-list of counterparties.

3. Out-of-band approval

A second, independent yes that the requesting system cannot give itself.

  • Transfers above a threshold, and any change to signing policy, need approval from different people on a channel separate from the system that requested the signature.

  • Approvers see the decoded transaction (destination, amount, what the call does) produced by software independent of the requesting interface, and compare it to the intended action.

  • The person or device that requests a signature can never also be the one that approves it, and approvers use hardware-backed credentials.

4. Rate and value limits

Limits that live in the signing layer, so a compromised caller cannot remove them.

  • Each hot wallet has per-asset, per-window value caps enforced by the signer itself, not only by the application that calls it.

  • Hot wallets hold a bounded float. Refills from cold storage are a separate, approved flow with their own review.

  • Velocity limits cap how many signatures a wallet or a caller can obtain per minute. Breaching one pauses signing and pages a human.

5. Anomaly alerts

Detection that reaches someone who can act before the money has moved.

  • A large transfer out of any hot wallet raises an alert to an on-call human within minutes, whatever path requested it.

  • Alerts go to a person who has the authority and a tested route to halt signing. An alert that only creates a ticket is not a control.

  • Signing requests are scored for behaviour: new caller, unusual hour, new destination, a transaction type never signed before.

6. Kill switches that really stop signing

Know exactly what the switch stops, and what it cannot.

  • There is a documented kill switch that halts signing at the signing layer (policy engine or key shares), not only the withdrawals interface or API.

  • The runbook states what the kill switch does NOT stop: authority already granted on-chain (delegations, approvals), transactions already broadcast, and other chains.

  • On-call staff can trigger the kill switch without a long approval chain, and nothing running on the protected systems can disable it.

7. Deployment tooling separate from signing

Being able to deploy code must not mean being able to sign.

  • The pipeline that deploys wallet-service containers sits in a different trust zone from the signing service. Deploying code cannot by itself grant signing access or change signing policy.

  • Changes to the signing service, its policy or its configuration need review by a second person, and deploying into the wallet environment needs an approver other than the deployer.

  • The wallet environment can be rebuilt from signed, known-good images in a clean environment, and drift from the baseline is detected.

8. Deploy-token hygiene on workstations

A token left on a laptop is a key left on a desk.

  • No long-lived deployment or permission token is stored on any workstation. Credentials are short-lived and issued at deploy time.

  • Tokens are scoped to one environment and one action, bound to a device or identity, and any use from an unexpected host raises an alert.

  • Workstations and repositories are scanned for stored credentials. After any device replacement or install anomaly, the credentials and tokens the person could reach are rotated and their colleagues’ exposure is reviewed.

9. Developer-environment isolation

Where untrusted code is allowed to run, and what the machine can reach.

  • People with wallet or signing access do that work on dedicated, hardened devices. Their everyday browsing, chat and email happen elsewhere.

  • Code from outside the company (recruiter assignments, take-home tests, repositories shared in chat) runs only in a disposable, isolated environment, never on a work computer.

  • Developer tools are installed from approved internal mirrors or vetted vendor paths, not from search-engine results. An install anomaly is treated as exposure of the whole team.

  • Internal AI tools run with least privilege. They cannot reach other engineers’ machines, deployment credentials or the signing environment, and their access is logged and reviewed.

10. MPC key-share governance

Multi-party computation spreads trust. It also changes how you stop and undo things.

  • Key shares sit with different parties, hosts and administrators, so one compromised machine or one administrator cannot reach the signing threshold. Who holds each share is written down.

  • Changes to the signing threshold, quorum membership or share holders need multi-person approval and raise an alert.

  • Policy is enforced by the participants in the signing quorum, not only by the coordinator that receives requests, so a compromised coordinator cannot widen what gets signed.

  • Recovery, resharing and share rotation procedures are written and have been exercised, including the emergency signing path used for revocations.

11. Incident runbooks

Written before the incident, including how to undo standing authority.

  • For every chain and mechanism where an attacker could leave standing authority (EIP-7702 delegations, token approvals, session keys, module or owner changes), there is a revocation runbook with owner, steps and a time estimate.

  • The first-hour runbook lists contacts for stablecoin issuers, exchanges, blockchain analytics firms and law enforcement, and who calls whom.

  • Decision rights are explicit: who may suspend withdrawals, trigger the kill switch and speak publicly, with holding statements prepared.

12. Test drills

Controls you have not exercised are guesses.

  • The kill switch is tested at least quarterly in a production-like environment, and the time from decision to signing stopped is recorded.

  • You have drilled a revocation: delegate a wallet that holds no value to a harmless contract on a test network, then clear it through your real custody path, and record how long it took.

  • A tabletop or red-team exercise runs the whole chain: a lure aimed at a developer, a workstation foothold, a stolen deploy token, then a request to the signer. It measures time to detect and time to stop.

Your top gaps

Mark controls Partial or Missing and the highest-weighted gaps appear here, with the reason each matters.

Answers stay in this browser (local storage). Nothing is sent to PlayCISO.

TL;DR

What this checklist covers

4 points
  • A free self-assessment of 38 controls across 12 domains that decide whether one stolen foothold can make your signing service sign: who may request a signature, policy coverage, out-of-band approval, limits, alerts, kill switches, deployment separation, token hygiene, developer isolation, MPC shares, runbooks and drills.
  • Built from Binance’s own account of its 29 October 2026 incident (post dated 4 November 2026), the EIP-7702 specification and public analyses of the Bybit theft. Each control carries a short reason and a source link; our own reasoning is labelled as such.
  • Mark each control In place, Partial, Missing or N/A for a weighted 0–100 maturity score, a score per domain and your top gaps.
  • Runs in your browser; answers stay in local storage. Markdown and PDF export of the report.

Where these controls come from

Binance’s 4 November 2026 account describes a multi-stage campaign rather than a simple phishing incident: a tampered installer in June, a fake-recruiter interview in September that ended with an engineer running an “assignment” on his work computer, an internal AI tool used to reach two more engineers, a deployment token found on a developer machine, and on 29 October a container deployed with stolen credentials to launch the attack. Binance cites FBI information that North Korea is responsible. The FBI’s name for the North Korean activity behind the Bybit theft is TraderTraitor: see our TraderTraitor profile and the Lazarus Group profile.

The first stages are about people and workstations, which is why two free PlayCISO tools cover the lure itself: the Fake Recruiter Checklist and the Fake Recruiter Interview Lab. This checklist starts where they stop: what the signing layer should do when a workstation is already lost.

Where Binance’s account does not speak to a control, we use the EIP-7702 text, the Ethereum Foundation, NIST, OWASP and public Bybit analyses, and we mark our own reasoning as “PlayCISO practice”. Nothing here is exploit detail.

Frequently asked questions

What is a signing service and why is it the target?

A signing service is the internal system that holds or coordinates the keys that authorise blockchain transactions, so an exchange, custodian or Web3 team can move funds without a person signing each one. Whoever can make it sign controls the wallets behind it. Binance said the attacker in its 29 October 2026 incident exploited unauthorized access to an internal wallet signing service to start transactions outside the normal withdrawal process.

Why does the policy have to cover delegation and authorization types?

Because a signature is not only a transfer. EIP-7702 adds a transaction type (0x04) and an authorization that an account signs to set code on itself; the EIP says the code an authorization points to has unrestricted access to the account. Binance said the attacker used its signing service to exploit that mechanism and give an attacker-controlled smart contract partial execution rights over a hot wallet. If your policy only reasons about transfers, it needs to be checked against every type and message the key can sign.

Is suspending withdrawals the same as a kill switch?

No. Binance said that suspending withdrawals alone could not stop the attack, because malicious EIP-7702 authorizations existed on-chain independent of the withdrawal infrastructure. A kill switch that really stops signing works at the signing layer, and its runbook should say what it cannot stop: authority already granted on-chain, transactions already broadcast, and other chains.

Why does MPC change incident response?

MPC spreads trust, so no single machine holds the whole key, which helps against theft. Binance said it also meant there was no single private key to revoke the delegations with, so a specialised procedure was needed and it took time. Plan the emergency signing path for revocations before you need it, and rehearse it.

How is the score calculated?

Each control has a weight of 1 to 3. In place counts as full weight, Partial as half, Missing as zero, and N/A is left out. A domain score is the weighted share of its answered controls, and the overall score is the weighted share across all answered controls. Unanswered controls are not counted, so the score shows how many you answered. The bands are Weak (below 30), Basic (30 to 59), Defined (60 to 84) and Strong (85 and above).

Does this assess a specific exchange or prove anything about Binance?

No. It names no organisation as failing a control. Where it says "Binance said" it relays Binance’s own account, which is not independently verified; Binance says its investigation is ongoing and that some technical details are confidential. Treat the checklist as a way to test your own controls against the lessons in that account.

Are my answers stored or sent anywhere?

No. Answers are kept in this browser’s local storage and nothing is sent to PlayCISO. The Markdown and PDF exports are built in your browser.

Sources

All pages below were opened on 3 November 2026 unless a note says otherwise.

The tools people use most on PlayCISO.

All tools
🖤 Black Friday: new customers get 3 months of Pro for $5, then $5/month. Ends 30 Nov. Claim 3 months for $5 →