Prepared by:
HALBORN
Last Updated 03/10/2026
Date of Engagement: December 30th, 2025 - February 5th, 2026
100% of all REPORTED Findings have been addressed
All findings
32
Critical
6
High
3
Medium
10
Low
8
Informational
5
Alula Finance engaged Halborn to conduct a security assessment on their smart contracts beginning on December 30th, 2025 and ending on February 5th, 2026. The security assessment was scoped to smart contracts in the GitHub repository provided to the Halborn team. Commit hashes and further details can be found in the Scope section of this report.
The team at Halborn assigned a full-time security engineer to assess the security of the smart contracts. The security engineer is a blockchain and smart-contract security expert with advanced penetration testing, smart-contract hacking, and deep knowledge of multiple blockchain protocols.
The purpose of this assessment is to:
Ensure that smart contract functions operate as intended.
Identify potential security issues with the smart contracts.
In summary, Halborn identified some improvements to reduce the likelihood and impact of risks, which were mostly addressed by the Alula Finance team. The main ones were the following:
Prevent the pool balance from increasing without a proportional issuance of ownership shares, ensuring that every nonzero contribution results in a corresponding share allocation and avoiding scenarios where contributors receive no ownership.
Ensure that the pool balance is decremented by the exact amount of distributed take rate fees whenever fees are paid out.
Ensure that collateral and debt values are always normalized to a consistent internal scale before any health, utilization or liquidation logic is applied.
Restrict market state changes to explicitly authorized actors, requiring approval from a privileged role such as protocol administration or governance before allowing any update to the market state.
Ensure that referrer incentives are fully accounted for by consistently calculating and transferring the corresponding amounts whenever referral fees are charged and by validating that such fees always result in an actual payout.
Update pool liquidity accounting consistently during debt repayment in liquidation.
Require explicit consent from the intended recipient before executing any flash loan, guaranteeing that the receiver has approved the operation or the initiating party and preventing third parties from triggering flash loans without authorization.
Ensure that the oracle price is strictly greater than zero and revert execution when a zero price is returned.
Avoid using spot reserve ratios as an oracle output for value sensitive decisions.
| Security analysis | Risk level | Remediation |
|---|---|---|
| Share inflation via donation enables repeated value capture in new pools | Critical | Solved - 02/12/2026 |
| Distributed fees do not reduce available liquidity accounting | Critical | Solved - 02/16/2026 |
| Inconsistent asset value scaling across core protocol operations | Critical | Solved - 02/25/2026 |
| Unrestricted external control of market operational state | Critical | Solved - 02/16/2026 |
| Referrer fees charged but never distributed | Critical | Solved - 03/01/2026 |
| Liquidation repayments desynchronize pool liquidity accounting | Critical | Solved - 02/19/2026 |
| Unauthorized fee draining from flash loan receivers | High | Partially Solved - 01/26/2026 |
| Zero oracle price is accepted as valid and propagated to valuation logic | High | Solved - 02/16/2026 |
| Spot reserve price can be manipulated and used as an oracle output | High | Risk Accepted - 02/16/2026 |
| Pool supply limit can be bypassed via donation | Medium | Solved - 02/12/2026 |
| Global protocol state can be irreversibly erased by an administrative action | Medium | Solved - 02/17/2026 |
| Liquidity fragmentation through multiple pools for the same asset | Medium | Solved - 03/01/2026 |
| Multiply pair configuration allows identical underlying assets on both sides | Medium | Solved - 03/01/2026 |
| Reserved fee liquidity can be treated as withdrawable or lendable liquidity | Medium | Solved - 02/17/2026 |
| Swap execution does not allow user defined minimum output protection | Medium | Solved - 02/18/2026 |
| Leveraged deposit can misaccount borrow and referrer fees | Medium | Solved - 03/05/2026 |
| Repay fee can prevent full debt closure in leveraged withdrawal flow | Medium | Solved - 03/05/2026 |
| Leveraged withdrawal can consume tokens already accounted as withdraw fees | Medium | Solved - 03/05/2026 |
| Small collateral deposits can be forcibly removed through bad debt coverage | Medium | Solved - 03/03/2026 |
| Missing validation of transfer amounts before execution | Low | Risk Accepted - 03/04/2026 |
| Centralized market upgrades blocked by misaligned authorization | Low | Solved - 03/01/2026 |
| Unbounded bootstrap configuration can degrade interest accrual and block pool operations | Low | Solved - 02/18/2026 |
| Overlapping bootstrap periods alter liquidity release behavior | Low | Solved - 02/18/2026 |
| Hardcoded external router address reduces integration safety and upgrade flexibility | Low | Solved - 02/18/2026 |
| Liquidations can revert due to negative accrued interest accounting | Low | Solved - 02/19/2026 |
| Swap allows identical input and output tokens | Low | Solved - 02/18/2026 |
| Rounding effects can produce zero token side effects despite positive input amounts | Low | Solved - 03/02/2026 |
| Zero amount operations trigger unnecessary state changes | Informational | Solved - 03/03/2026 |
| Unbounded scarcity fee configuration can block withdrawals | Informational | Solved - 02/12/2026 |
| Simulation path may diverge from actual withdrawal behavior | Informational | Partially Solved - 03/01/2026 |
| State changing operations execute without emitting events | Informational | Solved - 02/17/2026 |
| Unused functions | Informational | Solved - 02/12/2026 |
Halborn strongly recommends conducting a follow-up assessment of the project either within six months or immediately following any material changes to the codebase, whichever comes first. This approach is crucial for maintaining the project’s integrity and addressing potential vulnerabilities introduced by code modifications.
// Download the full report
Smart Contracts
* Use Google Chrome for best results
** Check "Background Graphics" in the print settings if needed