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:

IDSeverityAddressedTitle
ACT-01MInsecure Minimum Configurations
ACT-02MInexplicable Capability of Re-Invocation
ACT-03MInsecure Validation of CCR and MCR Configurations
BOS-01MInexistent Validation of Minimum Net Debt
DTN-01MInexplicable Capability of Reconfiguration
FPA-01MImproper Round Start Time
FLN-01MInexistent Support of Stablecoin Boxes
FLN-02MInvalid Call Context
LTR-01MInexistent Validation of Reduction
LTR-02MInexistent Maintenance of Assigned Tokens
PFD-01MPotentially Insecure Multiplication
PFD-02MInexistent Support of Positive Exponents
PFD-03MPotentially Insecure Error Handling
PFD-04MPotentially Unhandled Price Timestamps
PFD-05MInconsistent Handling of Oracle Responses
PFD-06MInexistent Validation of Confidence Interval
PFD-07MInexistent Validation of Multi-Oracle Agreement
PFL-01MIncorrect Sequencer Oracle Integration
SEE-01MUnconfirmed Oracle Implementations
SPL-01MInexistent Protection of Withdrawals (Under-Collateralization)
TRN-01MIncorrect Asset Gain Evaluation
TRN-02MIncorrect Execution of Paused State Statements
TBO-01MImproper Order of Operations
TBO-02MInexistent Assignment of Snapshots
TBO-03MNegative Dynamic Redemption Softening System