Moonwell
Submit a BugProgram Overview
Moonwell is an open lending, borrowing, and decentralized finance protocol built on Moonbeam and Moonriver. Moonwell’s composable design can accommodate a full range of DeFi applications in the greater Polkadot and Kusama (DotSama) ecosystem.
For more information about Moonwell, please visit https://moonwell.fi/.
This bug bounty program is focused on their smart contracts, website and app and is focused on preventing:
- Loss of protocol or user funds
- Smart contract vulnerabilities
- Denial of service issues
- Infrastructure vulnerabilities
- Social media administrative control breaches
Rewards by Threat Level
Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2.2. This is a simplified 5-level scale, with separate scales for websites/apps and smart contracts/blockchains, encompassing everything from consequence of exploitation to privilege required to likelihood of a successful exploit.
All web/app bug reports must come with a PoC in order to be considered for a reward. For smart contract bug reports, at the discretion of the team, a PoC may be required in order to determine if the bug exists, and if necessary, to calculate the extent of the damage the bug could have if exploited.
The payout for smart contract vulnerabilities is dependent on the amount of funds at risk due to the vulnerability, which will be determined by the maximum value of funds at risk in the contract(s) that are impacted on the date of submission of the report.
The following ratio will apply to the payouts for smart contract vulnerabilities, based on the maximum value at risk on the date of submission:
- Less than $5,000,000 - 10%
- Between $5,000,000 and $10,000,000 - 25%
- Between $10,000,000 and $50,000,000 - 50%
- Between $50,000,000 and $250,000,000 - 75%
- Above $250,000,000 - 100%
All web/app bug reports must come with a PoC with an end-effect impacting an asset-in-scope in order to be considered for a reward. Explanations and statements are not accepted as PoC and code is required. An invoice is required for payment to be made.
The Lunar Technology Foundation requires KYC to be completed by all researchers submitting a report before a bounty can be paid. The information needed is an ID scan along with a selfie to verify identity.
All known issues previously highlighted in the following audit report is considered out of scope:
The following are known issues and therefore are out of scope:
- Borrowing rewards for markets where a reward speed is not set do not accrue without a user calling claim (or someone calling claimBehalf).
- When setting reward speed = 0 and turning it back on for a market, rewards will accrue as if the new rate was always on.
- Assets which are supplied which a user hasn’t called ‘enterMarkets’ for can still be seized. This is working as designed.
- New markets must be added with no collateral factor, and some small amount of the collateral token supply must be burned in order to avoid market manipulation. This is a known issue.
Rewards for critical smart contract vulnerabilities are further capped at 10% of economic damage, with the main consideration being the funds affected in addition to PR and brand considerations, at the discretion of the team. However, there is a minimum reward of USD 100 000 for Critical bug reports.
Payouts are handled by the Moonwell team directly and are denominated in USD. Payouts will be done in USDC or USDT, at the discretion of the team.
Smart Contract
- Critical
- Level
- Up to USD $250,000
- Payout
- High
- Level
- Up to USD $100,000
- Payout
- Medium
- Level
- Up to USD $10,000
- Payout
Websites and Applications
- Critical
- Level
- Up to USD $25,000
- Payout
- High
- Level
- Up to USD $10,000
- Payout
Assets in scope
- Smart Contract - Unitroller/ComptrollerType
- Smart Contract - Temporal GovernorType
- Smart Contract - Multi-Reward DistributorType
- Smart Contract - Moonwell DAIType
- Smart Contract - Moonwell USDbCType
- Smart Contract - Moonwell WETHType
- Smart Contract - Moonwell cbETHType
- Smart Contract - WETH RouterType
- Smart Contract - WETH UnwrapperType
- Smart Contract - Chainlink OracleType
- Smart Contract - cbETH Composite OracleType
- Smart Contract - UnitrollerType
- Smart Contract - ComptrollerType
- Smart Contract - MaximillionType
- Smart Contract - ChainlinkOracleType
- Smart Contract - JumpRateModelType
- Smart Contract - Moonwell MOVRType
- Smart Contract - Moonwell BTCType
- Smart Contract - Moonwell ETHType
- Smart Contract - Moonwell USDCType
- Smart Contract - Moonwell USDTType
- Smart Contract - Moonwell FRAXType
- Smart Contract - MFAM TokenType
- Smart Contract - Moonwell xcKSMType
- Smart Contract - UnitrollerType
- Smart Contract - ComptrollerType
- Smart Contract - MaximillionType
- Smart Contract - JumpRateModelType
- Smart Contract - ChainLinkOracleType
- Smart Contract - MErc20DelegateType
- Smart Contract - mGLMRType
- Smart Contract - mDOTType
- Smart Contract - mETH.madType
- Smart Contract - mWBTC.madType
- Smart Contract - mUSDC.madType
- Smart Contract - mFRAXType
- Smart Contract - ClaimsProxyType
- Smart Contract - ClaimsImplType
- Smart Contract - GovTokenType
- Smart Contract - EcosystemReserveControllerType
- Smart Contract - EcosystemReserveType
- Smart Contract - EcosystemReserveImplType
- Smart Contract - StakedGovTokenType
- Smart Contract - StakedGovTokenImplType
- Smart Contract - GovernorType
- Smart Contract - TimelockType
- Smart Contract - Claims ProxyType
- Smart Contract - Claims ImplType
- Smart Contract - StakedGovTokenType
- Smart Contract - StakedGovTokenImplType
- Smart Contract - GovernorType
- Smart Contract - TimelockType
- Smart Contract - mUSDC.whType
- Smart Contract - mETH.whType
- Smart Contract - mWBTC.whType
- Smart Contract - mxcUSDTType
- TargetWebsites and ApplicationsType
- Websites and ApplicationsType
Impacts in scope
Only the following impacts are accepted within this bug bounty program. All other impacts are not considered as in-scope, even if they affect something in the assets in scope table.
Smart Contract
- Any governance voting result manipulationCriticalImpact
- Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yieldCriticalImpact
- Permanent freezing of fundsCriticalImpact
- Economic attacks against the protocolCriticalImpact
- Theft of unclaimed yieldHighImpact
- Permanent freezing of unclaimed yieldHighImpact
- Temporary freezing of funds - longer than 30 daysHighImpact
- Block stuffing for profitMediumImpact
- Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)MediumImpact
- Theft of gasMediumImpact
- Unbounded gas consumptionMediumImpact
Websites and Applications
- Execute arbitrary system commandsCriticalImpact
- Retrieve sensitive data/files from a running server such as /etc/shadow, database passwords, and blockchain keys(this does not include non-sensitive environment variables, open source code, or usernames)CriticalImpact
- Taking down the application/websiteCriticalImpact
- Taking state-modifying authenticated actions (with or without blockchain state interaction) on behalf of other users without any interaction by that user, such as, changing registration information, commenting, voting, making trades, withdrawals, etc.CriticalImpact
- Subdomain takeover with already-connected wallet interactionCriticalImpact
- Direct theft of user fundsCriticalImpact
- Malicious interactions with an already-connected wallet such as modifying transaction arguments or parameters, substituting contract addresses, submitting malicious transactionsCriticalImpact
- DOM-based or reflective XSS issues in the frontendHighImpact
- Content redressing issues in the frontendHighImpact
- Cross-site request forgeries leading to bad security impacts for end usersHighImpact
- Improperly disclosing confidential user information such as email address, phone number, physical address, etc.HighImpact
- Subdomain takeoverHighImpact
Out of Scope & Rules
The following vulnerabilities are excluded from the rewards for this bug bounty program:
- Attacks that the reporter has already exploited themselves, leading to damage
- Attacks requiring access to leaked keys/credentials
- Attacks requiring access to privileged addresses (governance, strategist)
- 3rd party services (AWS, Datadog, etc)
Smart Contracts and Blockchain
- Incorrect data supplied by third party oracles
- Not to exclude oracle manipulation/flash loan attacks
- Basic economic governance attacks (e.g. 51% attack)
- Lack of liquidity
- Best practice critiques
- Sybil attacks
- Centralization risks
Websites and Apps
- Theoretical vulnerabilities without any proof or demonstration
- Captcha bypass using OCR
- CSRF with no security impact (logout CSRF, change language, etc.)
- Missing HTTP Security Headers (such as X-FRAME-OPTIONS) or cookie security flags (such as “httponly”)
- Server-side information disclosure such as IPs, server names, and most stack traces
- Vulnerabilities used to enumerate or confirm the existence of users or tenants
- Vulnerabilities requiring unlikely user actions
- URL Redirects (unless combined with another vulnerability to produce a more severe vulnerability)
- Lack of SSL/TLS best practices
- DDoS vulnerabilities
- Attacks requiring privileged access from within the organization
- Feature requests
- Best practices
The following activities are prohibited by this bug bounty program:
- Any testing with mainnet or public testnet contracts; all testing should be done on private testnets
- Any testing with pricing oracles or third party smart contracts
- Attempting phishing or other social engineering attacks against our employees and/or customers
- Any testing with third party systems and applications (e.g. browser extensions) as well as websites (e.g. SSO providers, advertising networks)
- Any denial of service attacks
- Automated testing of services that generates significant amounts of traffic https://app.contentful.com/spaces/t3wqy70tc3bv/entries/6ma3iB5ROn10dgV8XvvvAU - Public disclosure of an unpatched vulnerability in an embargoed bounty