MetaMask security record

Arbitrum, Base, Ethereum, Optimism, Polygon (POS)metamask.ioXGitHub

As of 30 Oct 2026, MetaMask has 8 audit reports by 2 security firms on Trustblock; the latest is by Cyfrin, dated 20 Apr 2026. Those reports list no open critical findings.

Critical findings
No open critical findings
Across 8 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.

Audits8

Newest first

AuditSecurity firmDateScopeCritical findingsReport
MetaMask VedaAdapter Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded (see the report)No open critical findingsOpen · GitHub
MetaMask Connect Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded (see the report)No open critical findingsOpen · GitHub
Delegation Framework - Total Balance ChangeSecurity firm: CyfrinDate: Scope: Not recorded (see the report)No open critical findingsOpen · GitHub
Metamask Delegation Framework Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded (see the report)No open critical findingsOpen · GitHub
Metamask Delegation Framework Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded (see the report)No open critical findingsOpen · GitHub
Delegation Framework Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded (see the report)No open critical findingsOpen · GitHub
Delegation Framework Audit ReportSecurity firm: CyfrinDate: Scope: Not recorded (see the report)No open critical findingsOpen · GitHub
MetaMask Delegation FrameworkSecurity firm: ConsensysDate: Scope: Repository at commit ec0c0d6No open critical findingsOpen · diligence.security

Findings32

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

SeverityOpenAcknowledgedFixed
Critical000
High003
Medium056
Low2412

Marked Informational or Gas by the firms. Not counted as findings.

InformationalDeployment script instructs using plaintext private key via CLI argumentMetaMask VedaAdapter Audit Report · Cyfrin · 20 Apr 2026Acknowledged

The report gives no description here.

Open the report
InformationalFirst transaction on SpecificActionERC20TransferBatchEnforcer does not support sending native valueDelegation Framework Audit Report · Cyfrin · 1 Apr 2025Acknowledged

The report gives no description here.

Open the report
GasNativeTokenStreamingEnforcer and ERC20TokenStreamingEnforcer gas optimizationsDelegation Framework Audit Report · Cyfrin · 1 Apr 2025Acknowledged

The report gives no description here.

Open the report
InformationalInsufficient delegate address validation in NativeTokenPaymentEnforcerDelegation Framework Audit Report · Cyfrin · 18 Mar 2025Acknowledged

The report gives no description here.

Open the report
InformationalNotSelf() error declaration is unusedDelegation Framework Audit Report · Cyfrin · 18 Mar 2025Acknowledged

The report gives no description here.

Open the report
GasWebAuthn::contains() optimizationDelegation Framework Audit Report · Cyfrin · 18 Mar 2025Acknowledged

The report gives no description here.

Open the report
InformationalDeployment script uses hardcoded zero-address placeholders instead of environment variablesMetaMask VedaAdapter Audit Report · Cyfrin · 20 Apr 2026Fixed

The report gives no description here.

Open the report
GasEliminate single-use encodedTransfer_ local variableMetaMask VedaAdapter Audit Report · Cyfrin · 20 Apr 2026Fixed

The report gives no description here.

Open the report
GasUse calldata instead of memory for external function array parametersMetaMask VedaAdapter Audit Report · Cyfrin · 20 Apr 2026Fixed

The report gives no description here.

Open the report
InformationalDecompression Bomb due to lack of post decompression size checkMetaMask Connect Audit Report · Cyfrin · 5 Mar 2026Fixed

The report gives no description here.

Open the report
Show 10 more
InformationalMissing mode field validation in walletclient allows handler selection via untrusted inputMetaMask Connect Audit Report · Cyfrin · 5 Mar 2026Fixed

The report gives no description here.

Open the report
InformationalSession expiry not enforced on inbound message pathMetaMask Connect Audit Report · Cyfrin · 5 Mar 2026Fixed

The report gives no description here.

Open the report
InformationalIncorrect contract natspec for ERC1155TotalBalanceChangeEnforcerDelegation Framework - Total Balance Change · Cyfrin · 1 Sep 2025Fixed

The report gives no description here.

Open the report
InformationalInsufficient documentation of "TotalBalanceChangeEnforcer" can lead to incorrect use of enforcersDelegation Framework - Total Balance Change · Cyfrin · 1 Sep 2025Fixed

The report gives no description here.

Open the report
InformationalMisleading documentation in afterAllHook() natspecDelegation Framework - Total Balance Change · Cyfrin · 1 Sep 2025Fixed

The report gives no description here.

Open the report
InformationalDelegate controlled privilege escalation risk in LogicalOrWrapperEnforcerMetamask Delegation Framework Audit Report · Cyfrin · 7 May 2025Fixed

The report gives no description here.

Open the report
InformationalExecution mode restriction in LogicalOrWrapperEnforcer can be removedMetamask Delegation Framework Audit Report · Cyfrin · 7 May 2025Fixed

The report gives no description here.

Open the report
InformationalAmbiguous expiration timestamp validation in DelegationMetaSwapAdapterMetamask Delegation Framework Audit Report · Cyfrin · 1 May 2025Fixed

The report gives no description here.

Open the report
InformationalMissing zero address checks in DelegationMetaSwapAdapterMetamask Delegation Framework Audit Report · Cyfrin · 1 May 2025Fixed

The report gives no description here.

Open the report
GasERC20PeriodTransferEnforcer gas optimizationsDelegation Framework Audit Report · Cyfrin · 1 Apr 2025Fixed

The report gives no description here.

Open the report
Show 3 more
GasUnnecessary execution mode support in DelegationMetaSwapAdapterDelegation Framework Audit Report · Cyfrin · 1 Apr 2025Fixed

The report gives no description here.

Open the report
InformationalDelegationManager is incompatible with smart contract wallets with Approved hashesDelegation Framework Audit Report · Cyfrin · 18 Mar 2025Fixed

The report gives no description here.

Open the report
InformationalMissing zero length check in AllowedMethodsEnforcer::getTermsInfo()Delegation Framework Audit Report · Cyfrin · 18 Mar 2025Fixed

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