When the Zcash security team or a core development group publishes a security advisory, the window for remediation is immediate. This page provides a practical, step-by-step audit checklist for node operators, exchanges, custodians, and mining pools to verify patch application, audit local logs for signs of exploitation, and confirm consensus with the network tip. The checklist is designed to be protocol-agnostic in structure but is tailored here for the specific operational realities of running zcashd and zebrad nodes, including the critical distinction between consensus-critical vulnerabilities and denial-of-service bugs.

Post-Incident Node Operator Audit Checklist
Introduction
A standardized, runbook-style checklist for node operators and infrastructure teams to execute immediately after a Zcash security advisory or network incident is disclosed.
The primary operational risk during a Zcash incident is not just a local node crash, but a silent chain split or the acceptance of an invalid shielded transaction. For vulnerabilities like CVE-2019-7167 or CVE-2024-3525, the failure mode is an undetectable inflation bug that the on-chain turnstile mechanism cannot flag. Therefore, the core of this checklist focuses on cryptographic integrity verification: ensuring the running binary matches the patched release, auditing peer-to-peer message logs for anomalous block proposals, and cross-referencing the local chain tip against multiple independent block explorers and a secondary node implementation to detect any consensus divergence.
Infrastructure teams should integrate this checklist into their existing incident response playbooks as a mandatory runbook. The steps are ordered by criticality: first, isolate potentially vulnerable nodes to prevent them from serving invalid data to light wallets or block explorers; second, verify the integrity and version of the patched client; third, perform a post-remediation log audit for any evidence of pre-patch exploitation. Chainscore Labs can assist security teams in stress-testing these procedures through tabletop exercises and by performing an independent review of your node's post-incident state to ensure no invalid state was accepted during the vulnerability window.
Checklist Applicability
Determines which operational roles must execute specific verification and remediation steps after a Zcash security advisory is published.
| Area | What changes | Who is affected | Action |
|---|---|---|---|
Consensus Client Version | A patched node release (zcashd or zebrad) is required to enforce new consensus rules or fix a critical vulnerability. | Node operators, exchanges, custodians, mining pools | Verify the running client version matches the advisory's minimum patched release. Do not rely on package manager auto-updates. |
Chain Tip Integrity | A consensus failure or exploit may cause a chain split, requiring operators to identify the canonical chain. | Exchanges, custodians, block explorers, payment processors | Cross-reference the local chain tip hash against multiple independent block explorers and a secondary node implementation. |
Shielded Pool Balance | A counterfeiting bug allows undetectable inflation within a specific shielded pool (e.g., Sapling, Orchard). | Exchanges, risk teams, auditors | Audit internal ZEC balances against the transparent chain supply. Note that the turnstile mechanism may not detect this inflation. |
Peer-to-Peer Network | DoS vulnerabilities can crash nodes via malicious network messages, disrupting block propagation and transaction submission. | Node operators, mining pools, lightwalletd providers | Apply non-consensus security patches immediately. Verify firewall rules and peer connection limits are configured. |
Transaction History | A malicious transaction exploiting a parsing bug may have been received, potentially corrupting local state or indicating a targeted attack. | Exchanges, custodians, wallets | Rescan the blockchain from a block height before the vulnerability was disclosed. Search logs for malformed transaction errors. |
Lightwalletd Infrastructure | A gRPC API vulnerability can crash the lightwalletd service, disrupting mobile wallet functionality for all connected users. | Lightwalletd operators, mobile wallet providers | Verify the lightwalletd version against the advisory. Implement rate-limiting and request validation if not already present. |
Encrypted Memo Handling | A flaw in memo field processing can leak metadata, degrading shielded transaction privacy without a consensus change. | Wallet developers, exchange integration engineers | Audit memo field encryption and decryption logic in the wallet SDK. Verify that zero-knowledge proofs are validated before memo processing. |
Deposit and Withdrawal Services | Accepting a fraudulent shielded transaction could result in an irreversible loss of funds. | Exchanges, custodians, payment gateways | Temporarily suspend ZEC deposits and withdrawals until the client is patched and a full chain rescan is complete. Verify the fix with a small test transaction. |
The Post-Incident Audit Model
A standardized framework for node operators and infrastructure teams to confirm patch application, audit for exploitation, and verify consensus integrity after a Zcash security advisory.
After a critical Zcash vulnerability is disclosed—such as the CVE-2019-7167 Sapling counterfeiting bug or the CVE-2024-3525 Orchard flaw—the immediate operational priority shifts from patch deployment to post-remediation verification. The post-incident audit model provides a structured, repeatable checklist that moves beyond simply confirming a binary version string. It requires operators to cryptographically verify that the patched zcashd or zebrad client is actually enforcing the new consensus rules, not just reporting a version number. This model is essential because the most severe Zcash bugs allow undetectable, infinite inflation; a node that fails to enforce the fix can be silently defrauded.
The core of the audit model rests on three pillars: patch integrity, ledger consistency, and network consensus. Patch integrity involves verifying the binary hash against the official Electric Coin Company or Zcash Foundation release signatures, ensuring the running node was not tampered with. Ledger consistency requires operators to replay shielded transaction history using the patched client and confirm that the chain state matches independently maintained checkpoints, particularly for the Orchard and Sapling value pools. Network consensus verification demands comparing the local tip hash and cumulative work against a diverse set of remote peers running different client implementations, guarding against a chain split where the operator's node is isolated on a minority fork that accepts fraudulent transactions.
For exchange and custodian risk teams, the audit model extends to application-layer verification. This includes re-scanning all inbound shielded transactions received since the vulnerability's introduction window to detect any that exploit the specific proof-verification or Merkle-path flaw. Because the turnstile mechanism failed to detect the Sapling inflation bug class, operators cannot rely solely on on-chain value-balance checks. The post-incident audit must include a manual or scripted re-validation of the affected cryptographic proofs against the patched verification logic. Chainscore Labs assists security teams in building these targeted re-scanning scripts and validating that their node infrastructure is enforcing the complete set of post-advisory consensus rules, not just reporting a healthy version string.
Affected Systems and Actors
Node Operators
Node operators are the first and most critical line of defense. After an advisory, verify that every node—mainnet, testnet, and any internal staging environments—is running a patched version. Check the release notes for the exact commit hash or version string that contains the fix.
Immediate Actions:
- Compare the running version against the advisory's fixed version for both
zcashdandzebrad. - If the vulnerability is consensus-critical, check for any chain forks by comparing the block hash at the tip across your nodes and public explorers.
- Audit peer-to-peer connection logs for anomalous requests that match the exploit pattern described in the advisory.
- If a network halt occurred, follow the coordinated restart procedure; do not restart nodes in isolation.
Chainscore Labs can perform an independent verification of your node fleet's patch status and consensus health.
Core Audit Procedures
Standardized checks to confirm patch application, detect exploitation attempts, and verify consensus integrity after a Zcash security advisory is released.
Audit Logs for Exploit Signatures
Search node logs for evidence of past exploitation attempts. For the Sapling counterfeiting bug (CVE-2019-7167), this means scanning for invalid proof verification failures that did not halt the node. For DoS vulnerabilities, look for connection floods or malformed message warnings preceding a crash. Correlate timestamps with unexpected CPU spikes or memory exhaustion. If your node was running a vulnerable version at the time of a known exploit, assume compromise and initiate a full security review.
Confirm Consensus Tip Hash
Query the getblockchaininfo RPC on your patched node and compare the bestblockhash against a known-good public block explorer or a second node running a different client implementation (e.g., compare zcashd against zebrad). A mismatch indicates your node is on a minority fork, possibly due to the consensus failure that triggered the advisory. Do not process deposits or withdrawals until the tip hash matches the canonical chain.
Replay Shielded Transaction History
For vulnerabilities involving the shielded pools, use the z_importviewingkey and z_getbalance RPCs to rescan the wallet's transaction history. Verify that the total balance matches your internal ledger. A discrepancy could indicate that a fraudulent shielded output was accepted by a vulnerable node. Pay special attention to the Orchard pool if the advisory concerns Merkle tree verification, as invalid notes may appear spendable on a buggy client.
Validate Peer-to-Peer Network Health
After applying a patch that fixes a peer-to-peer vulnerability, monitor your node's connection count and ban score. Use getnetworkinfo to check that you are connected to a diverse set of peers and not isolated. A sudden drop in inbound connections after upgrading could indicate that your node is running incompatible network-layer logic. Review the debug.log for protocol version mismatches or repeated disconnection reasons.
Re-enable Services with Staged Rollout
Do not immediately re-enable all Zcash deposits and withdrawals. Start with a small, monitored test transaction from a known address. Confirm it appears on a block explorer and is spendable from a separate, patched wallet. Gradually increase volume while monitoring for any unexpected behavior. This staged approach limits exposure if a secondary issue is discovered during the remediation window.
Risk Matrix for Incomplete Remediation
Evaluates the residual risk to node operators, exchanges, and wallets if a specific security advisory is not fully remediated. Use this matrix to prioritize verification steps and confirm that patches, configuration changes, and monitoring are complete.
| Area | Failure Mode | Affected Actors | Verification & Action |
|---|---|---|---|
Consensus Patch | Node runs vulnerable client and forks from the network tip, accepting invalid blocks or rejecting valid ones. | Node operators, exchanges, mining pools | Verify client version against the advisory's patched release. Run both zcashd and zebrad to detect chain splits. |
Shielded Pool Validation | Node fails to reject a fraudulent shielded transaction, allowing an attacker to credit undetectable counterfeit ZEC. | Exchanges, custodians, payment processors | Audit shielded transaction validation logic. Confirm that the turnstile delta is zero for all value pools post-incident. |
Peer-to-Peer Layer | Unpatched node is vulnerable to a remote crash or resource exhaustion, causing downtime or forced fallback to a single client. | Infrastructure providers, lightwalletd operators | Apply all non-consensus DoS patches. Implement rate-limiting and connection-diversity monitoring. |
Wallet SDK Integration | Wallet continues to construct transactions with a vulnerable memo field or proof format, leaking metadata. | Wallet developers, mobile app teams | Update to the latest ECC wallet SDK. Audit memo field handling for cleartext leakage in lightwalletd responses. |
Deposit Monitoring | Exchange hot wallet accepts deposits from a forked chain or containing a malformed transaction, leading to a balance mismatch. | Exchange risk teams, treasury managers | Replay deposit transactions against a fully patched archival node. Halt deposits until consensus is confirmed. |
Lightwalletd Infrastructure | Unpatched gRPC endpoint crashes under a malformed request, taking mobile wallet connectivity offline. | Lightwalletd operators, mobile wallet providers | Verify gRPC request validation and rate-limiting config. Deploy the patched lightwalletd version. |
Supply Audit | Turnstile or value-pool balance check fails to detect an inflation event that occurred before the patch was applied. | Protocol architects, risk assessors, auditors | Perform a full shielded pool balance audit from the activation height of the vulnerable code to the patch height. |
The Standardized Audit Checklist
A runbook for node operators and infrastructure teams to verify patch application, audit logs for signs of exploitation, and confirm consensus with the network tip after a Zcash security advisory is released. This checklist should be integrated into your incident response procedures.
Confirm that all nodes in your fleet are running a patched client version that remediates the specific vulnerability.
- What to check: The exact version string reported by
zcashd --versionorzebrad --versionagainst the advisory's minimum safe version. - Why it matters: Running an unpatched node exposes you to accepting invalid blocks or transactions, leading to a chain split or financial loss.
- Confirmation signal: A successful version query returning a version number greater than or equal to the advisory's fixed version. For critical counterfeiting bugs like CVE-2019-7167, verify the specific patch release (e.g., 2.0.7-3) is installed, not just a later major version that may have been built from a vulnerable commit.
Canonical Resources
Use these primary sources to identify the required fix, validate deployed artifacts, reconstruct the applicable consensus rules, and audit dependent Zcash services. Record the source revision and access time in the incident file because advisories and release guidance may change.
Looking to build on a specific blockchain?
We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.
EVM ecosystems
- Ethereum
- Arbitrum
- Optimism
- Polygon
- Avalanche
- Cronos

Non-EVM ecosystems
- Solana
- Sui
- Aptos
- Hedera
- Stellar
- NEAR
Additional ecosystems
- Polkadot
- Cosmos
- TON
- Cardano
- Algorand
- Tempo
Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.
Frequently Asked Questions
A standardized runbook for node operators and infrastructure teams to verify patch application, audit logs for signs of exploitation, and confirm consensus with the network tip following a Zcash security advisory.
Confirm the running client version against the specific patched release noted in the advisory (e.g., zcashd 5.9.0 or zebrad 1.6.0).
- Check the version string: Run
zcashd --versionorzebrad --versionon the host. - Verify the build commit: For deterministic builds, compare the Git commit hash embedded in the binary with the official tag in the canonical repository.
- Monitor the peer-to-peer user agent: Use
getnetworkinfoto ensure your node is not advertising a vulnerable version string to peers. - Why it matters: Running a patched binary is the only way to ensure your node rejects invalid blocks or transactions that exploit the vulnerability. An unpatched node can follow a malicious chain fork or accept counterfeit funds.
Delivering blockchain solutions for 5+ years.
We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.
Selected Partners & Clients
“I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.”
How to get started?
If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.
Exploration & Strategy
Define your product goals and choose the right blockchain architecture for your use case.
Architecture & Design
Design the smart contracts, tokenomics, and security parameters of your system.
Development & Integration
Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.
Security & Launch
Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.
Discover our
blockchain development services.
We build production-grade blockchain solutions for top-tier projects across DeFi and Web3.
Need a blockchain engineering team?
Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.


