Omniscia Swisscoast Audit

Manual Review

Manual Review

A thorough line-by-line review was conducted on the delta of the codebase to identify potential malfunctions and vulnerabilities in Swisscoast's Hedera-targeted Liquity fork.

As the project at hand implements a delta from an original implementation that introduces Hedera-related functionality, 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 and that the integration of Hedera-related modules (i.e. the Hedera Token Service) has been securely performed.

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 oracle-related vulnerabilities within the system which could have had severe ramifications to its overall operation; we urge the Swisscoast team to closely evaluate and remediate them.

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 47 findings were identified over the course of the manual review of which 20 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
HCH-01MInefficient Auto-Renewal Period
HCH-02MInsecure Subtraction of Balances
HCH-03MInexistent Bypass of Authorization
HCH-04MInexistent Acceptance of Native Funds
HLQ-01MInexistent Restrictions of Multi-Signature Wallet
HLQ-02MInefficient Auto-Renewal Period
HLQ-03MInexistent Enforcement of Transfer-Related Restrictions
HLQ-04MInsecure Subtraction of Balances
HLQ-05MInexistent Bypass of Authorization
HLQ-06MInexistent Acceptance of Native Funds
KLB-01MInexistent Validation of Non-Zero Address
KLB-02MInsecure Offset of Key Bit
LUS-01MImproper Conversion Mechanism
PCR-01MImproper Revert Error
PCR-02MInsecure Price Acquisition
PCR-03MIncorrect Accuracy of Yielded Value
SCR-01MImproper Handling of Decimals
SCR-02MIncorrect Accuracy of Yielded Value
TST-01MPotentially Incorrect Token Script Integration
ULO-01MInexplicable Reduction of Accuracy