Omniscia Steadefi Audit
Staking Vaults Security Audit
Audit Overview
We were tasked with performing an audit of the Steadefi codebase and in particular their permissioned lending pool implementation as well as the GMX and Trader Joe strategies they have devised that integrate with it.
Over the course of the audit, we identified multiple vulnerabilities of major severity across the system that arise from mishandled edge conditions, incorrect arithmetic operations, and design flaws that can be exploited and lead to fund loss.
We advise the Steadefi 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 Steadefi 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 Steadefi and have identified that certain exhibits have not been adequately dealt with. We advise the Steadefi team to revisit the following exhibits: GMP-01M, LPC-01C, LPL-02C, LPL-05C, LPL-02S, GMP-02C, GMX-05C, GMX-04C, GMD-02C, TJY-04C, TJY-01C, TJY-03C
Post-Audit Conclusion (7c9b2b09db)
The Steadefi revisited the exhibits outlined above and either nullified them safely or completed the actions necessary for the partially alleviated exhibits.
No exhibits remain unaddressed in the latest state of the codebase as all have either been properly assimilated to the code or have been nullified by supplemental information provided to us by the Steadefi team.
Contracts Assessed
Files in Scope | Repository | Commit(s) |
---|---|---|
ChainLinkOracle.sol (CLO) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
GMXPerpetualDEXLongVault.sol (GMX) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
GMXPerpetualDEXLongReader.sol (GMP) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
GMXPerpetualDEXLongManager.sol (GMD) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
JoeOracle.sol (JOE) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
LendingPool.sol (LPL) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
LendingPoolConfig.sol (LPC) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
Math.sol (MHT) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
TraderJoeYieldFarmVault.sol (TJY) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
TraderJoeYieldFarmReader.sol (TJF) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
TraderJoeYieldFarmManager.sol (TJM) | steadefi-contracts | 8a4e06b6e5, 4325253d6d, bd1d284427, 7c9b2b09db |
Audit Synopsis
Severity | Identified | Alleviated | Partially Alleviated | Acknowledged |
---|---|---|---|---|
7 | 7 | 0 | 0 | |
53 | 52 | 0 | 1 | |
21 | 21 | 0 | 0 | |
4 | 4 | 0 | 0 | |
7 | 7 | 0 | 0 |
During the audit, we filtered and validated a total of 22 findings utilizing static analysis tools as well as identified a total of 70 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.
The list below covers each segment of the audit in depth and links to the respective chapter of the report: