Omniscia Nexera Protocol Audit
Gating Contracts Security Audit
Audit Report Revisions
Commit Hash | Date | Audit Report Hash |
---|---|---|
5a2cdebe6c | April 22nd 2024 | 280ab7a8e5 |
1739b6b621 | May 3rd 2024 | e88ed4b674 |
Audit Overview
We were tasked with performing an audit of the Nexera Protocol codebase and in particular their transaction gating module.
The system aims to implement an off-chain based signature validation mechanism that permits the Nexera Protocol to authenticate an on-chain call off-chain and provide a signature that will consequently permit its execution.
The current mechanism's approach is incompatible with a wide variety of systems as it relies on the following assumptions:
- Introduction of
bytes memory
argument, thereby mutating the function signature and breaking EIP compatibility - Introduction of
bytes memory
argument in last position, which is prone to errors by integrators as it is a hidden requirement - No support of dynamic arguments in verified function signatures, as multiple dynamic arrays are packed differently in calldata and would cause the
BaseTxAuthDataVerifier::_verifyTxAuthData
function to fail
This approach should be revised, for example by injecting the signature directly to the calldata
of the transaction thus ensuring that its function signature is not affected, and that the actual call's encoded structure does not impact the way the signature is decoded.
We advise the Nexera Protocol team to closely evaluate all minor-and-above findings identified in the report and promptly remediate them as well as consider all optimizational exhibits identified in the report.
Post-Audit Conclusion
The Nexera Protocol team iterated through all findings within the report and provided us with a revised commit hash to evaluate all exhibits on.
We evaluated all alleviations performed by Nexera Protocol and have identified that all exhibits have been adequately dealt with no outstanding issues remaining in the report.
Audit Synopsis
Severity | Identified | Alleviated | Partially Alleviated | Acknowledged |
---|---|---|---|---|
0 | 0 | 0 | 0 | |
4 | 4 | 0 | 0 | |
0 | 0 | 0 | 0 | |
1 | 1 | 0 | 0 | |
0 | 0 | 0 | 0 |
During the audit, we filtered and validated a total of 0 findings utilizing static analysis tools as well as identified a total of 5 findings during the manual review of the codebase. We strongly recommend that any minor severity or higher findings are dealt with promptly prior to the project's launch as they can introduce potential misbehaviours of the system as well as exploits.
Total Alleviations
The list below covers each segment of the audit in depth and links to the respective chapter of the report: