Omniscia Tren Finance Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Tren Finance's Liquity-based system.
As the project at hand implements an algorithmic borrowing protocol, intricate care was put into ensuring that the flow of funds within the system conforms to the specifications and restrictions laid forth within the protocol's specification.
We validated that all state transitions of the system occur within sane criteria and that all rudimentary formulas within the system execute as expected. We pinpointed multiple significant vulnerabilities within the system which could have had severe ramifications to its overall operation; we urge the Tren Finance team to promptly evaluate and remediate all medium and above vulnerabilities within the audit report.
Additionally, the system was investigated for any other commonly present attack vectors such as re-entrancy attacks, mathematical truncations, logical flaws and ERC / EIP standard inconsistencies. The documentation of the project was satisfactory to the extent it need be.
A total of 52 findings were identified over the course of the manual review of which 25 findings concerned the behaviour and security of the system. The non-security related findings, such as optimizations, are included in the separate Code Style chapter.
The finding table below enumerates all these security / behavioural findings:
ID | Severity | Addressed | Title |
---|---|---|---|
ACT-01M | Insecure Minimum Configurations | ||
ACT-02M | Inexplicable Capability of Re-Invocation | ||
ACT-03M | Insecure Validation of CCR and MCR Configurations | ||
BOS-01M | Inexistent Validation of Minimum Net Debt | ||
DTN-01M | Inexplicable Capability of Reconfiguration | ||
FPA-01M | Improper Round Start Time | ||
FLN-01M | Inexistent Support of Stablecoin Boxes | ||
FLN-02M | Invalid Call Context | ||
LTR-01M | Inexistent Validation of Reduction | ||
LTR-02M | Inexistent Maintenance of Assigned Tokens | ||
PFD-01M | Potentially Insecure Multiplication | ||
PFD-02M | Inexistent Support of Positive Exponents | ||
PFD-03M | Potentially Insecure Error Handling | ||
PFD-04M | Potentially Unhandled Price Timestamps | ||
PFD-05M | Inconsistent Handling of Oracle Responses | ||
PFD-06M | Inexistent Validation of Confidence Interval | ||
PFD-07M | Inexistent Validation of Multi-Oracle Agreement | ||
PFL-01M | Incorrect Sequencer Oracle Integration | ||
SEE-01M | Unconfirmed Oracle Implementations | ||
SPL-01M | Inexistent Protection of Withdrawals (Under-Collateralization) | ||
TRN-01M | Incorrect Asset Gain Evaluation | ||
TRN-02M | Incorrect Execution of Paused State Statements | ||
TBO-01M | Improper Order of Operations | ||
TBO-02M | Inexistent Assignment of Snapshots | ||
TBO-03M | Negative Dynamic Redemption Softening System |