Omniscia KlimaDAO Audit

Manual Review

Manual Review

A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in the bonding implementation of KlimaDAO.

As the project at hand implements a bonding system, 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 a markdown calculation vulnerability as well as potential token accounting errors within the system which could have had severe ramifications to its overall operation, however, they were conveyed ahead of time to the KlimaDAO team to be promptly remediated.

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 a certain extent, however, we strongly recommend the documentation of the project to be expanded at certain complex points such as the new bond evaluation calculations.

A total of 52 findings were identified over the course of the manual review of which 28 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
CON-01MMinorNoImproper Re-Invocation Capability
AKR-01MMinorYesInexistent Validation of Truncation
AKU-01MMinorYesCentralized Total Supply
AEK-01MMinorYesImproper Wallet Deletion Path
AEK-02MMinorYesInexistent Validation of Data Validity
EKL-01MMinorYesImproper Wallet Deletion Path
KBC-01MMajorNoIncorrect Markdown Calculation
KBC-02MMediumNoImproper Token Assumption
KBC-03MMinorNoAmbiguous Dual Token Support
KCS-01MMinorNoInexistent Validation of Duplicates
KID-01MMajorNoImproper Enumerability
KID-02MMediumNoImproper ERC721 Mint Operations
KLB-01MMediumNoImproper Consistency of Vesting Term
KLB-02MMediumNoUngraceful Handling of High Adjustment Rates
KSD-01MMediumNoImproper Accumulation of Rewards
KSD-02MMediumYesImproper Policy Renouncation
KSD-03MMediumNoUngraceful Handling of High Adjustment Rates
KSD-04MMinorYesInexistent Validation of Entry Validity
KSD-05MMinorNoInexistent Validation of Reward Rate
KTN-01MMediumNoCross-Chain Replay Attack
KTN-02MMediumNoInsecure Elliptic Curve Recovery Mechanism
KTN-03MMediumNoOverly Centralized Functionality
KTY-01MMajorNoInsecure Management of Reserve & Liquidity Tokens
KTY-02MMajorNoWeak Debt Position Validation
KTY-03MMediumNoImproper Token Status Assumption
KTY-04MMinorNoPotentially Unsafe Primitive Evaluation
SHR-01MMinorYesImproper Validation of Execution
KT2-01MMediumYesImproper Ownership Renouncation