Omniscia Astrolab DAO Audit

Manual Review

Manual Review

A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Astrolab DAO's base strategy contracts.

As the project at hand implements custom proxies w/ extensive assembly blocks, 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 EVM's restrictions are adhered to in all statements.

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 Astrolab DAO team to promptly 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, however, certain areas of the codebase such as expected EIP-7540 conformity should be expanded upon.

A total of 89 findings were identified over the course of the manual review of which 36 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
A62-01MDiscrepancy of Access Control
A62-02MImproper Allowance Adjustment
A62-03MImproper Capture of Entry Fee
A62-04MImproper Capture of Exit Fee
A62-05MIncorrect Estimation of Deposits
A62-06MIncorrect Estimation of Withdrawals
A62-07MIncorrect Maintenance of Allowances in Redemption Requests
A62-08MInexistent Protection Against Re-Initialization
A62-09MPotentially Invalid Cancellation Assumption
A62-10MImproper Accounting of Fees in Downward Price Action
A62-11MIncorrect Implementation of EIP-7540
A62-12MInexistent Reservation of Shares
AAT-01MEIP-7540 Incompatibility
AAS-01MIncorrect EVM Memory Assumptions
AAS-02MIncorrect Usage of Memory
ACT-01MPotentially Insecure Address Cast
AME-01MInvalid Conditional Evaluation
AME-02MDetachment of Authorized Role
AMS-01MImproper Absolute Function Implementation
APY-01MReservation of Function Signatures
APY-02MPotentially Insecure Utilization of Scratch Space
APY-03MInsecure Forwarded Payload
ASS-01MImproper Sequential Set Shift Operation
ASS-02MInexistent Prevention of Duplicate Elements
ASS-03MInvalid Sequential Set Shift Operation
ASS-04MInvalid Sequential Set Unshift Operation
SV5-01MImplementation & Documentation Mismatch
SV5-02MDiscrepancy of Liquidation Preview
SV5-03MInsecure Casting Operations
SVA-01MDiscrepant Allowance Maintenance
SVA-02MImproper No-Op Logic Statement
SVA-03MInexistent Erasure of Previous Approvals
SVA-04MInexistent Protection Against Re-Initialization
SVA-05MInsecure Approval Operations
SVC-01MInexistent Prevention of Data Corruption
SVC-02MInexistent Validation of Prices