background
logo

Security Audit Report for MegaETH's Normal Account Contracts

專案簡介

The target of this audit is the private code repository of Normal Account Contracts of MegaETH. The Normal Account Contracts of MegaETH is a smart account infrastructure for EOAs leveraging EIP-7702 delegation. Its core objective is to upgrade standard EOAs into fully programmable smart accounts without deploying individual proxy contracts per user. Through EIP-7702’s code delegation mechanism, an EOA can dynamically bind to predefined account logic while retaining its original address. The system supports multi-key authorization (secp256k1, P-256, WebAuthn, external signers), fine-grained spending limits, customizable execution guards to constrain transaction behavior, a new gas-payment system for flexible fee sponsorship, and cross-chain settlement capabilities that let a single account securely and efficiently interact across multiple chains

Please refer to the report for the detailed audit scope.

Our audit methodology employs automated vulnerability scans, manual verification, and business logic analysis to uncover potential security issues coupled with gas and code quality optimization recommendations.

In summary, we have found that the codebase contains 3 high-risk issues that require prompt attention. In addition, we have identified other non-critical issues as well as recommendations and notes that should be considered. The Normal Account Contracts team has addressed these issues promptly. It is important to note that our audit covers only the final reported versions of the codebase. Any subsequent updates would require a re-evaluation.

關鍵發現

我們在該智能合約中共發現 10 個潛在問題,另有 7 條建議與 3 條說明,明細如下:

高風險:3
中風險:3
低風險:4
建議:7
說明:3
ID Severity Description Status
1 High Lack of validations for the address i.funder Fixed
2 High Potential lock of funds due to the use of non-ERC20 standard tokens Fixed
3 High The improper construction of replaySafeDigest Fixed
4 Medium Pre-execution side effects persist when business call fails Confirmed
5 Medium Lack of the fee validation in the function executeSend() Fixed
6 Medium Potential replay attacks due to the incorrect multichain flow Fixed
7 Low Potential loss of gas fee due to malicious intents Fixed
8 Low Lack of signature validity checks before invoking the function ISettler.send() Fixed
9 Low The improper design of the function isValidSignatureWithKeyHash() Fixed
10 Low The execution design of the function initConfig() Fixed
11 - Remove redundant code Fixed
12 - Revise the error name VerificationError Fixed
13 - Add non-zero checks in the contract IthacaAccount constructor Fixed
14 - Add the non-reentrant guard to the withdrawTokens() and executePreCalls() functions Fixed
15 - Revise the inconsistent approval amount Fixed
16 - Override the function setPeer() in the contract LayerZeroSettler Fixed
17 - Add non-zero checks in the contracts SimpleSettler and LayerZeroSettler Fixed
18 - Ensure proper selection of relayers -
19 - Proper intent construction -
20 - Ensure proper LayerZero configurations -

更多細節見審計報告

邁出走向安全的第一步

立即聯絡我們,獲取 BlockSec 的專業程式碼審計服務,在協議上線之前把安全性提上來!