Scroll security record

Arbitrum, Ethereum, Optimism, Polygon (POS), Scrollscroll.ioXGitHub

As of 30 Oct 2026, Scroll has 9 audit reports by 1 security firm on Trustblock; the latest is by OpenZeppelin, dated 28 May 2024. Those reports list no open critical findings.

Critical findings
No open critical findings
Across 9 reports.
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. Trustblock does not review code.

Audits9

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Scroll Batch Token Bridge AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Scroll EIP-4844 Support AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Scroll ZKTrieVerifier AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
ScrollSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Scroll Phase 1 AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Scroll Diff Audit ReportSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Scroll GasSwap, Multiple Verifier, Wrapped Ether aSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Scroll USDC Gateway AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Scroll Phase 2 AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com

Findings54

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

SeverityOpenAcknowledgedFixed
Critical000
High022
Medium437
Low21024
HighETH Deposits Can Get Stuck if They Are Not Successfully BridgedScroll · OpenZeppelin · 7 Feb 2024Fixed

The report gives no description here.

Open the report
HighIncorrect Storage Slot CalculationsScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
MediumMalicious Actor Can Steal Deposits of Tokens With Sender Hooks or Cause Lock Of FundsScroll Batch Token Bridge Audit · OpenZeppelin · 28 May 2024Fixed

The report gives no description here.

Open the report
MediumMalicious User Can Increase the Gas Cost of VerificationScroll ZKTrieVerifier Audit · OpenZeppelin · 11 Mar 2024Fixed

The report gives no description here.

Open the report
MediumL2MessageQueue Stores Incorrect Value if not Initialized Before AppendingScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
MediumL2USDCGateway Is Missing Rate Limiter FunctionalityScroll USDC Gateway Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
MediumLack of Storage GapsScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
MediumSmart Contract Wallets Cannot Withdraw WETHScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
MediumWETH9 Approval Can Be Front-RunScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowGas InefficienciesScroll Batch Token Bridge Audit · OpenZeppelin · 28 May 2024Fixed

The report gives no description here.

Open the report
Show 10 more
LowIncomplete DocstringsScroll EIP-4844 Support Audit · OpenZeppelin · 15 Apr 2024Fixed

The report gives no description here.

Open the report
LowMissing DocstringsScroll EIP-4844 Support Audit · OpenZeppelin · 15 Apr 2024Fixed

The report gives no description here.

Open the report
LowTrie Depth Is Not Explicitly CappedScroll ZKTrieVerifier Audit · OpenZeppelin · 11 Mar 2024Fixed

The report gives no description here.

Open the report
LowImplementation Keeps Functionalities for Deprecated VariablesScroll · OpenZeppelin · 7 Feb 2024Fixed

The report gives no description here.

Open the report
LowAnyone Can Steal ERC-20 Tokens From GasSwapScroll GasSwap, Multiple Verifier, Wrapped Ether a · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowBlock Container Does Not Enforce WhitelistScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowImplicit Limitation of WithdrawalScroll Diff Audit Report · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowInconsistency of Allowing a Trusted ForwarderScroll GasSwap, Multiple Verifier, Wrapped Ether a · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowInconsistency of Reentrancy GuardScroll GasSwap, Multiple Verifier, Wrapped Ether a · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowInitialization Not Disabled for Implementation ContractsScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
Show 10 more
LowInitialization Performed Outside of Initialization FunctionScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowInsufficient Tests When Using BitMapsScroll Diff Audit Report · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowLack of Event EmissionsScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowLack of gap VariableScroll USDC Gateway Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowLack of Validation When Updating Maximum Failed Execution TriesScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowmaxReplayTimes is Not Initialized in L1ScrollMessengerScroll GasSwap, Multiple Verifier, Wrapped Ether a · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowMisleading and Incorrect CommentsScroll GasSwap, Multiple Verifier, Wrapped Ether a · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowMisleading CommentScroll USDC Gateway Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowMissing DocstringsScroll USDC Gateway Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowMissing Error Messages in require StatementsScroll Phase 2 Audit · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
Show 3 more
LowPossible Misleading revert Message When Swapping Non-ERC20Permit TokensScroll GasSwap, Multiple Verifier, Wrapped Ether a · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowPotentially Misleading Verifier EventScroll GasSwap, Multiple Verifier, Wrapped Ether a · OpenZeppelin · 16 Oct 2023Fixed

The report gives no description here.

Open the report
LowRedundancy of Replaying Messages in L2ScrollMessengerScroll GasSwap, Multiple Verifier, Wrapped Ether a · OpenZeppelin · 16 Oct 2023Fixed

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="scroll"
></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