Omniscia Gravita Protocol Audit

Core Protocol Security Audit

Audit Revisions

Commit HashDateRevision Hash
5e45123d16May 17th 20231f8d3c80e7

Audit Overview

We were tasked with performing an audit of the Gravita Protocol codebase and in particular their core Liquity-based borrowing protocol.

Over the course of the audit, we identified multiple significant vulnerabilities that arise by the dynamic-collateral features introduced in the new Gravita Protocol implementation.

We advise the Gravita 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 Gravita 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 Gravita Protocol and identified that certain exhibits had not been adequately dealt with.

We followed up with the Gravita Protocol team and have concluded that they wish to acknowledge them given that the exhibits that have not been directly remediated do not pose a threat to the protocol.

As such, we consider all outputs of the audit report properly consumed by the Gravita Finance team.

Contracts Assessed

Files in ScopeRepositoryCommit(s)
ActivePool.sol (APL)Gravita-SmartContractsbfa97cb37d,
5e45123d16
AdminContract.sol (ACT)Gravita-SmartContractsbfa97cb37d,
5e45123d16
BaseMath.sol (BMH)Gravita-SmartContractsbfa97cb37d,
5e45123d16
BorrowerOperations.sol (BOS)Gravita-SmartContractsbfa97cb37d,
5e45123d16
CollSurplusPool.sol (CSP)Gravita-SmartContractsbfa97cb37d,
5e45123d16
DebtToken.sol (DTN)Gravita-SmartContractsbfa97cb37d,
5e45123d16
DefaultPool.sol (DPL)Gravita-SmartContractsbfa97cb37d,
5e45123d16
ERC20Permit.sol (ERC)Gravita-SmartContractsbfa97cb37d,
5e45123d16
ERC20Decimals.sol (ERD)Gravita-SmartContractsbfa97cb37d,
5e45123d16
FeeCollector.sol (FCR)Gravita-SmartContractsbfa97cb37d,
5e45123d16
GasPool.sol (GPL)Gravita-SmartContractsbfa97cb37d,
5e45123d16
GravitaBase.sol (GBE)Gravita-SmartContractsbfa97cb37d,
5e45123d16
GravitaMath.sol (GMH)Gravita-SmartContractsbfa97cb37d,
5e45123d16
GravitaSafeMath128.sol (GSM)Gravita-SmartContractsbfa97cb37d,
5e45123d16
PoolBase.sol (PBE)Gravita-SmartContractsbfa97cb37d,
5e45123d16
PriceFeed.sol (PFD)Gravita-SmartContractsbfa97cb37d,
5e45123d16
ReentrancyGuardUpgradeable.sol (RGU)Gravita-SmartContractsbfa97cb37d,
5e45123d16
SafeMath.sol (SMH)Gravita-SmartContractsbfa97cb37d,
5e45123d16
SortedVessels.sol (SVS)Gravita-SmartContractsbfa97cb37d,
5e45123d16
StabilityPool.sol (SPL)Gravita-SmartContractsbfa97cb37d,
5e45123d16
SafetyTransfer.sol (STR)Gravita-SmartContractsbfa97cb37d,
5e45123d16
Timelock.sol (TKC)Gravita-SmartContractsbfa97cb37d,
5e45123d16
VesselManager.sol (VMR)Gravita-SmartContractsbfa97cb37d,
5e45123d16
VesselManagerOperations.sol (VMO)Gravita-SmartContractsbfa97cb37d,
5e45123d16

Audit Synopsis

SeverityIdentifiedAlleviatedPartially AlleviatedAcknowledged
3300
7360103
164012
4400
3300

During the audit, we filtered and validated a total of 22 findings utilizing static analysis tools as well as identified a total of 77 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: