Mushrooms Finance
Submit a BugProgram Overview
Mushrooms Finance is a crypto-earning vault with a focus on seeking sustainable profit in the DeFi universe. The first version of the Mushrooms Finance smart contracts were inspired by other popular DeFi projects like Yearn Finance (YFI) and Sushiswap, among many others.
Mushrooms Finance Vaults help users earn passive profit on crypto assets like WETH, WBTC, DAI, USDC, and many more. The earning strategies associated with the Vaults will automate user yield farming on Alchemix or Curve by auto-compounding the profit. Vaults earn in the denomination of whatever token users deposited. Users will then receive mTokens upon Vault deposit which represent their share in that Vault. When users withdraw from the Vault, the mToken share allows users to withdraw both the principal plus any earned profit over the deposit period.
Further resources regarding Mushrooms Finance can be found on their website, https://mushrooms.finance/.
The bug bounty program is focused around its smart contracts and is mostly concerned with the loss of user funds.
Verification
Verification of Mushrooms Finance's bug bounty program on Immunefi is available at
See verificationRewards by Threat Level
Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System. 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 and app bug reports must come with a PoC. Submissions for web and app vulnerabilities without a PoC will be rejected and instructed to provide a PoC.
The bug MUST NOT have been previously publicly disclosed.
Vulnerabilities that have been previously submitted by other contributors or that are already known by the Mushrooms Finance team are not eligible for rewards.
Payouts are handled by the Mushrooms Finance team directly and are denominated in USD. However, payouts are done in USDC. However, critical smart contract vulnerabilities are compensated 50% in USDC and 50% in MM.
Smart Contracts and Blockchain
- Critical
- Level
- USD $4,000 - USD $50,000
- Payout
- high
- Level
- USD $800 - USD $4,000
- Payout
- medium
- Level
- USD $200 - USD $800
- Payout
- low
- Level
- USD $50 - USD $200
- Payout
- none
- Level
- USD $0
- Payout
Web and Apps
- Critical
- Level
- USD $4,000
- Payout
- high
- Level
- USD $800
- Payout
- medium
- Level
- USD $200
- Payout
Assets in Scope
- Smart Contract
- Type
- Website/App
- Type
Prioritized Vulnerabilities
We are especially interested in receiving and rewarding vulnerabilities of the following types:
Smart Contracts and Blockchain
- Re-entrancy
- Logic errors
- including user authentication errors
- Solidity/EVM details not considered
- including integer over-/under-flow
- including rounding errors
- including unhandled exceptions
- Trusting trust/dependency vulnerabilities
- including composability vulnerabilities
- Oracle failure/manipulation
- Novel governance attacks
- Economic/financial attacks
- including flash loan attacks
- Congestion and scalability
- including running out of gas
- including block stuffing
- including susceptibility to frontrunning
- Consensus failures
- Cryptography problems
- Signature malleability
- Susceptibility to replay attacks
- Weak randomness
- Weak encryption
- Susceptibility to block timestamp manipulation
- Missing access controls / unprotected internal or debugging interfaces
Websites and Apps
- Remote Code Execution
- Trusting trust/dependency vulnerabilities
- Vertical Privilege Escalation
- XML External Entities Injection
- SQL Injection
- LFI/RFI
- Horizontal Privilege Escalation
- Stored XSS
- Reflective XSS with impact
- CSRF with impact
- Direct object reference
- Internal SSRF
- Session fixation
- Insecure Deserialization
- DOM XSS
- SSL misconfigurations
- SSL/TLS issues (weak crypto, improper setup)
- URL redirect
- Clickjacking (must be accompanied with PoC)
- Misleading Unicode text (e.g. using right to left override characters)
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)
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
Websites and Apps
- Theoretical vulnerabilities without any proof or demonstration
- Content spoofing / Text injection issues
- Self-XSS
- 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 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
- Public disclosure of an unpatched vulnerability in an embargoed bounty
Additional Rules
- The bug MUST NOT have been previously publicly disclosed.
- Vulnerabilities that have been previously submitted by other contributors or that are already known by the Mushrooms Finance team are not eligible for rewards.
- Bugs must be reproducible. Reproduction will be done on a local testnet or in some rare case on the Ethereum mainnet.
- Rewards and the validity of bugs are determined by Mushrooms Finance team. Any payouts are made at their sole discretion.
- The terms and conditions of the Bug Bounty program may be changed at any time at the sole discretion of Mushrooms Finance team.
- The details of any valid bugs may be shared with complementary protocols utilized in Mushrooms Finance's contracts for the overall benefit of broader community.
Report Sharing Clause
In the event that Mushrooms Finance becomes aware of security issues affecting other projects that do not affect Mushrooms Finance, we may inform those projects of those security issues, on a best-effort basis.
In the case where Mushrooms Finance fixes a security issue that also affects other partners and/or well-known projects, Mushrooms Finance's intention is to engage in responsible reporting with them as described in this security standard.