Prepared by:
HALBORN
Last Updated 03/11/2026
Date of Engagement: September 18th, 2022 - September 26th, 2022
100% of all REPORTED Findings have been addressed
All findings
9
Critical
0
High
1
Medium
0
Low
0
Informational
8
Moonwell Finance engaged Halborn to conduct a security audit on their Governance smart contracts beginning on September 18th, 2022 and ending on September 26th, 2022. The security assessment was scoped to the smart contracts provided to the Halborn Team.
The Team at Halborn was provided one week for the engagement and assigned a full-time security engineer to audit the security of the smart contract. 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 audit is to:
Ensure that smart contract functions operate as intended.
Identify potential security issues with the smart contracts.
In summary, Halborn identified some security risks that were addressed by the Moonwell team.
Halborn performed a combination of manual and automated security testing to balance efficiency, timeliness, practicality, and accuracy regarding the scope of the smart contract audit. While manual testing is recommended to uncover flaws in logic, process, and implementation; automated testing techniques help enhance coverage of smart contracts and can quickly identify items that do not follow security best practices. The following phases and associated tools were used throughout the term of the audit:
Research into architecture and purpose.
Smart Contract manual code review and walkthrough.
Graphing out functionality and contract logic/connectivity/functions(solgraph).
Manual Assessment of use and safety for the critical Solidity variables and functions in scope to identify any arithmetic related vulnerability classes.
Static Analysis of security for scoped contract, and imported functions.(Slither)
Dynamic Analysis (ganache-cli, brownie, hardhat).
\begin{enumerate} \item Moonwell Finance Smart Contracts \begin{enumerate} \item PR 80: \href{https://github.com/moonwell-fi/moonwell-contracts-private/pull/80}{Moonwell Finance - Moonwell Core} \end{enumerate} \end{enumerate}
INSCOPE COMMIT ID :
d248cc9a4fc08849f0a5f5d34560f7998b182d4b
FIX COMMIT ID :
TAG :
Critical
0
High
1
Medium
0
Low
0
Informational
8
Impact x Likelihood
HAL-01
HAL-02
HAL-03
HAL-04
HAL-05
HAL-06
HAL-07
HAL-08
HAL-09
| Security analysis | Risk level | Remediation Date |
|---|---|---|
| MISSING QUORUM CAP COMPARISON CAN BREAK THE GOVERNANCE | High | Solved - 09/25/2022 |
| ABIENCODERV2 IS ACTIVATED BY DEFAULT 0.8+ | Informational | Solved - 09/25/2022 |
| BUMP SOLIDITY VERSION | Informational | Solved - 09/25/2022 |
| NO NEED TO INITIALIZE QUORUMADJUSTED WITH FALSE | Informational | Solved - 09/25/2022 |
| CURRENT QUORUM CAN BE EMITTED DURING THE PROPOSAL CREATION | Informational | Solved - 09/25/2022 |
| USE PREFIX INCREMENT WITH THE UNCHECK CAN SAVE GAS | Informational | Solved - 09/25/2022 |
| SAFEMATH IS ACTIVATED BY DEFAULT AFTER 0.8.X | Informational | Solved - 09/25/2022 |
| MISSING NATSPEC DOCUMENTATION ON THE FUNCTIONS | Informational | Solved - 09/25/2022 |
| CHANGING FUNCTION VISIBILITY FROM PUBLIC TO EXTERNAL | Informational | Solved - 09/25/2022 |
//
//
//
//
//
//
//
//
//
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 Contract Assessment
* Use Google Chrome for best results
** Check "Background Graphics" in the print settings if needed