ZKsync security record

As of 14 Oct 2026, ZKsync has 18 audit reports by 1 security firm on Trustblock; the latest is by OpenZeppelin, dated 5 Feb 2025. Those reports list no open critical findings.

Critical findings
No open critical findings
Across the 18 reports, 2 critical findings were reported. Each is marked fixed by the firm that reported it. See the findings
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Statuses are the security firms’ own. Trustblock does not review code.

Audits18

Newest first

AuditSecurity firmDateScopeCritical findingsReport
ZKsync Paymaster AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
ZK Token, Capped Minter, and Merkle Distributor AuSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
ZKsync L1 Governance Diff AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
ZKsync L2 Governance AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
ZKsync State Transition Diff AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Matterlabs EIP-4844 Support AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync Keccak256 Upgrade AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync L1Messenger Upgrade AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync L2 Block Refactor AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync Upgrade System AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync GnosisSafeZk AssessmentSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync Bridge and .transfer & .send Diff AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync WETH Bridge AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync Fee Model and Token Bridge AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSyncSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
zkSync Bootloader Audit ReportSecurity firm: OpenZeppelinDate: Scope: Files named in the report1 critical finding, fixedOpen · blog.openzeppelin.com
zkSync Layer 1 Diff AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the report1 critical finding, fixedOpen · blog.openzeppelin.com
zkSync Layer 1 AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com

Findings128

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical002
High016
Medium4719
Low6974
CriticalUseless Assertion CheckzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
CriticalStorage collision leads to failure of the systemzkSync Layer 1 Diff Audit · OpenZeppelin · 13 Dec 2022Fixed

The report gives no description here.

Open the report
HighIncorrect Hash in Proposal ID Prevents Guardians From Canceling ProposalsZKsync L1 Governance Diff Audit · OpenZeppelin · 23 Oct 2024Fixed

The report gives no description here.

Open the report
HighLack of Data Availability of BytecodezkSync L1Messenger Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
HighMalicious Operator Can Dodge RefundzkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
HighETH withdrawal within allowed limit could failzkSync · OpenZeppelin · 8 Mar 2023Fixed

The report gives no description here.

Open the report
HighNon-Standard Transaction HashzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
HighUnbound RLP Length EncodingzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
MediumSecurity Council Can Keep Protocol in Frozen StateZKsync L1 Governance Diff Audit · OpenZeppelin · 23 Oct 2024Fixed

The report gives no description here.

Open the report
MediumAmbiguous PubdataPricingMode ConfigurationZKsync State Transition Diff Audit · OpenZeppelin · 4 Jun 2024Fixed

The report gives no description here.

Open the report
Show 10 more
MediumStateTransitionManager Cannot Unfreeze ChainsZKsync State Transition Diff Audit · OpenZeppelin · 4 Jun 2024Fixed

The report gives no description here.

Open the report
MediumBootloader Uses Incorrect Value for System Contract Upgrade Log KeyMatterlabs EIP-4844 Support Audit · OpenZeppelin · 5 Feb 2024Fixed

The report gives no description here.

Open the report
MediumGas Charged Twice for Sending Message to L1zkSync L1Messenger Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
MediumNaming ErrorzkSync L1Messenger Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
MediumceilDiv Function Can OverflowzkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
MediumOverflows in Fee ComputationzkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
MediumRefund recipient defaults to inaccessible address for contractszkSync · OpenZeppelin · 8 Mar 2023Fixed

The report gives no description here.

Open the report
MediumUnchecked subtraction underflowzkSync · OpenZeppelin · 8 Mar 2023Fixed

The report gives no description here.

Open the report
MediumUser could deposit more ETH than allowedzkSync · OpenZeppelin · 8 Mar 2023Fixed

The report gives no description here.

Open the report
MediumOvershadowing and Uncaptured ReturnszkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
Show 10 more
MediumString Literal Exceeds 32 Bytes LimitzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
MediumArbitrary l2Logs length can lead to unprovable blocks and log inclusionzkSync Layer 1 Diff Audit · OpenZeppelin · 13 Dec 2022Fixed

The report gives no description here.

Open the report
MediumGovernor can immediately execute diamond upgradeszkSync Layer 1 Diff Audit · OpenZeppelin · 13 Dec 2022Fixed

The report gives no description here.

Open the report
MediumCorruption of facets array on selector replacementzkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
MediumFreezable property applies to individual selectors instead of facetszkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
MediumMerkle library verifies intermediate inputszkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
MediumProof replayabilityzkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowIncomplete DocstringsZKsync Paymaster Audit · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
LowNaming SuggestionZKsync Paymaster Audit · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
LowRace Condition During CancelationZKsync Paymaster Audit · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
Show 10 more
LowClaim Can Be Prevented by Anyone if Front-RanZK Token, Capped Minter, and Merkle Distributor Au · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
LowClaim Cap Is Not Enforced on Merkle DistributorZK Token, Capped Minter, and Merkle Distributor Au · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
LowNot All Delegation Parameters Are SignedZK Token, Capped Minter, and Merkle Distributor Au · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
LowProblematic Edge Cases When Using delegateBySigZK Token, Capped Minter, and Merkle Distributor Au · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
LowThe Domain of The Permit Functionality Is Not InitializedZK Token, Capped Minter, and Merkle Distributor Au · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
LowVoting Checkpoints Refer to Block Numbers Despite Unstable Block Production FrequencyZK Token, Capped Minter, and Merkle Distributor Au · OpenZeppelin · 5 Feb 2025Fixed

The report gives no description here.

Open the report
LowIncorrect and Missing DocumentationZKsync L1 Governance Diff Audit · OpenZeppelin · 23 Oct 2024Fixed

The report gives no description here.

Open the report
LowLack of Hyperchain-ID-Specific (Un)freeze ReinforcementZKsync L1 Governance Diff Audit · OpenZeppelin · 23 Oct 2024Fixed

The report gives no description here.

Open the report
LowNaming SuggestionsZKsync L1 Governance Diff Audit · OpenZeppelin · 23 Oct 2024Fixed

The report gives no description here.

Open the report
LowInconsistent Counting ModeZKsync L2 Governance Audit · OpenZeppelin · 23 Oct 2024Fixed

The report gives no description here.

Open the report
Show 10 more
LowInconsistent Use of msg.sender and _msgSender()ZKsync L2 Governance Audit · OpenZeppelin · 23 Oct 2024Fixed

The report gives no description here.

Open the report
LowEmitting Deleted ValueZKsync State Transition Diff Audit · OpenZeppelin · 4 Jun 2024Fixed

The report gives no description here.

Open the report
LowLack of EventsZKsync State Transition Diff Audit · OpenZeppelin · 4 Jun 2024Fixed

The report gives no description here.

Open the report
LowMissing and Incomplete DocumentationZKsync State Transition Diff Audit · OpenZeppelin · 4 Jun 2024Fixed

The report gives no description here.

Open the report
LowPubdataSource Does Not Account for Validium ModeZKsync State Transition Diff Audit · OpenZeppelin · 4 Jun 2024Fixed

The report gives no description here.

Open the report
LowStateTransitionManager Role-Specific Functions Cannot Be Reached in Admin FacetZKsync State Transition Diff Audit · OpenZeppelin · 4 Jun 2024Fixed

The report gives no description here.

Open the report
Lowrequire Statement With Multiple ConditionsMatterlabs EIP-4844 Support Audit · OpenZeppelin · 5 Feb 2024Fixed

The report gives no description here.

Open the report
LowMissing TestszkSync Keccak256 Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowPrecompile Keccak256 Contract Is Missing Constructor CodezkSync Keccak256 Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowImproper Hash Value for Unused Leaves in Merkle TreezkSync L1Messenger Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
Show 10 more
LowMisleading CommentzkSync L1Messenger Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowMissing Error Messages in require StatementszkSync L1Messenger Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowUse of Magic NumberszkSync L1Messenger Upgrade Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowMisleading DocumentationzkSync L2 Block Refactor Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowMisleading Variable NamingzkSync L2 Block Refactor Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowMissing DocstringszkSync L2 Block Refactor Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowMissing Error Message in require StatementzkSync L2 Block Refactor Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowBridge Cannot Recover FundszkSync Bridge and .transfer & .send Diff Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowMissing and Misleading DocumentationzkSync Bridge and .transfer & .send Diff Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowMissing Error Messages in require StatementszkSync Bridge and .transfer & .send Diff Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
Show 10 more
LowUnsafe ABI EncodingzkSync Bridge and .transfer & .send Diff Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowFunds Can Get Lost in WETH BridgezkSync WETH Bridge Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowInterface MismatchzkSync WETH Bridge Audit · OpenZeppelin · 29 Jan 2024Fixed

The report gives no description here.

Open the report
LowFloating Pragma Solidity VersionzkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
LowImplicit Zero Cost AssumptionzkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
LowL2ERC20Bridge Is Not UpgradeablezkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
LowLack of EventszkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
LowMissing Error Messages in require and revert StatementszkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
LowPotential EIP-1052 DeviationzkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
LowsetValueUnderNonce Value Is MutablezkSync Fee Model and Token Bridge Audit · OpenZeppelin · 9 Mar 2023Fixed

The report gives no description here.

Open the report
Show 10 more
LowL2 transaction hash is not emittedzkSync · OpenZeppelin · 8 Mar 2023Fixed

The report gives no description here.

Open the report
LowMissing documentationzkSync · OpenZeppelin · 8 Mar 2023Fixed

The report gives no description here.

Open the report
LowDocumentation and Code MismatchzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowImprecise Naming of Transaction Struct ElementszkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowIncompatible Function SyntaxzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowInexplicit Fail in Bridge BurnzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowInexplicit ImportszkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowLack of Revert MessageszkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowMismatch Between Interface and ImplementationzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowMissing Interface for L2EthTokenzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
Show 10 more
LowTypeScript Constant Names Are InconsistentzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowUnused FunctionszkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowWrong EIP-712 Transaction Type CheckzkSync Bootloader Audit Report · OpenZeppelin · 27 Jan 2023Fixed

The report gives no description here.

Open the report
LowLack of explicit proposal idzkSync Layer 1 Diff Audit · OpenZeppelin · 13 Dec 2022Fixed

The report gives no description here.

Open the report
LowMissing error messages in require statementszkSync Layer 1 Diff Audit · OpenZeppelin · 13 Dec 2022Fixed

The report gives no description here.

Open the report
LowReimplementation of library functionalityzkSync Layer 1 Diff Audit · OpenZeppelin · 13 Dec 2022Fixed

The report gives no description here.

Open the report
LowRequire statement with multiple conditionszkSync Layer 1 Diff Audit · OpenZeppelin · 13 Dec 2022Fixed

The report gives no description here.

Open the report
Low_proveBlock while loop could run out of gaszkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowConfusing event emission when executing diamond cut proposalszkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowDiamondInit can be initialized itselfzkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
Show 10 more
LowGas optimizationszkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowGetter returns misleading valuezkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowInterface and contract function parameter mismatchzkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowLack of DocumentationzkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowLack of event informationzkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowLack of l2Logs validationzkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowPreimage hash collision protection for storage pointerszkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowRequire statements with multiple conditionszkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowUnused input to commit blockszkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
LowUnused L2Messages can be committed to L1zkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report
Show 1 more
LowUnverified inputs during block commitmentzkSync Layer 1 Audit · OpenZeppelin · 23 Nov 2022Fixed

The report gives no description here.

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="zksync"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us