Abracadabra
Submit a BugProgram Overview
Abracadabra is a lending platform that uses interest-bearing tokens (ibTKNs) as collateral to borrow a USD pegged stablecoin (Magic Internet Money - MIM), that can be used as any other traditional stablecoin.
For more information about Abracadabra, please visit https://abracadabra.money/.
This bug bounty program is focused on their smart contracts and app and is focused on preventing:
- Theft of funds inside of the cauldrons
- Crashing of the cauldrons
- Thefts and freezing of principal of any amount
- Thefts and freezing of unclaimed yield of any amount
Rewards 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.
In addition to Immunefi’s Vulnerability Severity Classification System, Abracadabra classifies the following vulnerabilities as follows. In case of discrepancy, the one below will be followed.
Critical
- Bug reports on Oracles and Cauldrons
- Bug reports on deployed Oracles
High
- Bug reports on Swapper contracts
- Bug reports on undeployed Oracles
All web/app bug reports must come with a PoC in order to be considered for a reward. All Medium, High, and Critical Smart Contract bug reports require a PoC to be eligible for a reward.
Critical smart contract vulnerabilities are capped at 10% of economic damage, primarily taking into consideration funds at risk, but also PR and branding aspects, at the discretion of the team. However, there is a minimum reward of USD 50 000.
The following vulnerabilities are not eligible for a reward:
The CauldronV1 don’t properly account for borrow opening fees
Payouts are handled by the Abracadabra team directly and are denominated in USD. However, payouts are done in ETH,USDT,SPELL,MIM, with the choice of the ratio at the discretion of the team.
Smart Contract
- Critical
- Level
- Up to USD $100,000
- Payout
- High
- Level
- USD $10,000
- Payout
- Medium
- Level
- USD $5,000
- Payout
- Low
- Level
- USD $1,000
- Payout
Websites and Applications
- Critical
- Level
- Up to USD $20,000
- Payout
- High
- Level
- USD $10,000
- Payout
- Medium
- Level
- USD $500
- Payout
Assets in scope
- TargetSmart Contract - AVAX oracleType
- TargetSmart Contract - AVAX CauldronV2Type
- TargetSmart Contract - AVAX wMEMOType
- TargetSmart Contract - AVAX MIMType
- TargetSmart Contract - AVAX Advanced withdrawerType
- TargetSmart Contract - AVAX LevSwapperType
- TargetSmart Contract - wMEMO LevSwapperType
- TargetSmart Contract - AVAX Liq SwapperType
- TargetSmart Contract - wMEMO Liq SwapperType
- TargetSmart Contract - Deployed Address AVAX pool 1Type
- TargetSmart Contract - oracle AVAX pool 1Type
- TargetSmart Contract - wAVAXType
- TargetSmart Contract - deployed wMEMOType
- TargetSmart Contract - proxy oracle wMEMOType
- TargetSmart Contract - oracle wMEMOType
- Smart Contract - Arbitrum CauldronV2MultichainType
- Smart Contract - Arbitrum MIMType
- Smart Contract - Arbitrum ETH pool 1Type
- Smart Contract - Arbitrum oracleType
- Smart Contract - Arbitrum wETHType
- Smart Contract - Arbitrum LevSwapperType
- Smart Contract - Arbitrum LiquidationSwapperType
- Smart Contract - FTM KashiPairMediumRiskV2Type
- Smart Contract - FTM CombinedOracleType
- Smart Contract - FTM TWAPOracle0Type
- Smart Contract - FTM TWAPOracle1Type
- Smart Contract - FTM LeverageSwapperType
- Smart Contract - FTM Deleverage SwapperType
- Smart Contract - FTM LiquidationSwapperType
- Smart Contract - FTM MIMType
- Smart Contract - FTM sFTMType
- Smart Contract - FTM CauldronV1.5Type
- Smart Contract - FTM CauldronV2FTMType
- Smart Contract - FTM BandOracleFTMType
- Smart Contract - FTM pool 1 Deployed AddressType
- Smart Contract - FTM pool 1 wFTMType
- Smart Contract - FTM pool 2 Deployed AddressType
- Smart Contract - FTM pool 2 wFTMType
- Smart Contract - FTM yvFTMType
- Smart Contract - FTM CollateralType
- Smart Contract - FTM OracleType
- Smart Contract - FTM divideType
- Smart Contract - FTM yearnVaultType
- Smart Contract - wFTM LiqSwapperType
- Smart Contract - yvFTM LiqSwapperType
- Smart Contract - wFTM LevSwapperType
- Smart Contract - yvFTM LevSwapperType
- Smart Contract - Polygon MIMType
- Smart Contract - Polygon CauldonV2Type
- Smart Contract - Polygon dQuickType
- Smart Contract - Matic OracleType
- Smart Contract - Matic DeployedType
- Smart Contract - Matic DivideType
- Smart Contract - Polygon wMaticType
- Smart Contract - Ethereum YearnChainLinkOracleV2Type
- Smart Contract - Ethereum MagicInternetMoneyV1Type
- Smart Contract - Ethereum sSpellV1Type
- Smart Contract - Ethereum SpellType
- Smart Contract - Ethereum CauldronMediumRiskV1Type
- Smart Contract - Ethereum CauldronV2CheckpointV1Type
- Smart Contract - Ethereum CauldronLowRiskV1Type
- Smart Contract - Ethereum CauldronV2CheckpointV1Type
- Smart Contract - Ethereum xSushiOracleUSDType
- Smart Contract - Ethereum TimelockType
- Smart Contract - Ethereum WithdrawerType
- Smart Contract - Ethereum SpellSwapperV1Type
- Smart Contract - Ethereum SpellSwapperV2Type
- Smart Contract - Ethereum IBOracleType
- Smart Contract - Ethereum SpellOracleV1Type
- Smart Contract - Ethereum wOHMOracleV1Type
- Smart Contract - Ethereum stETHOracleV1Type
- Smart Contract - Ethereum AGLDOracleType
- Smart Contract - Ethereum 3CrvType
- Smart Contract - Ethereum 3cryptoType
- Smart Contract - agldType
- Smart Contract - YFI Liquidation SwappersType
- Smart Contract - xSushi Liquidation SwappersType
- Smart Contract - USDT Liquidation SwappersType
- Smart Contract - USDC Liquidation SwappersType
- Smart Contract - WETH Liquidation SwappersType
- Smart Contract - IB Liquidation SwappersType
- Smart Contract - ALCX Liquidation SwappersType
- Smart Contract - SPELL Liquidation SwappersType
- Smart Contract - wOHM Liquidation SwappersType
- Smart Contract - stETH Liquidation SwappersType
- Smart Contract - FTM Liquidation SwappersType
- Smart Contract - 3crv Liquidation SwappersType
- Smart Contract - 3crypto Liquidation SwappersType
- Smart Contract - agld Liquidation SwappersType
- Smart Contract - RenCrv Liquidation SwappersType
- Smart Contract - USDC Leverage SwappersType
- Smart Contract - USDT Leverage SwappersType
- Smart Contract - WETH Leverage SwappersType
- Smart Contract - xSUSHI Leverage SwappersType
- Smart Contract - YFI Leverage SwappersType
- Smart Contract - IB Leverage SwappersType
- Smart Contract - ALCX Leverage SwappersType
- Smart Contract - wOHM Leverage SwappersType
- Smart Contract - stETH Leverage SwappersType
- Smart Contract - FTM Leverage SwappersType
- Smart Contract - 3crv Leverage SwappersType
- Smart Contract - 3crypto Leverage SwappersType
- Smart Contract - Agld Leverage SwappersType
- Smart Contract - RenCrv Leverage SwappersType
- Smart Contract - Ethereum cvxRenType
- Smart Contract - Ethereum AGLDType
- Smart Contract - Ethereum oracleType
- Smart Contract - 3crypto Deployed addressType
- Smart Contract - 3crypto CollateralType
- Smart Contract - 3crypto OracleType
- Smart Contract - FTM Deployed addressType
- Smart Contract - FTM CollateralType
- Smart Contract - FTM oracleType
- Smart Contract - stETH pool Deployed addressType
- Smart Contract - stETH pool oracleType
- Smart Contract - stETH pool yearnVaultType
- Smart Contract - cvx3Crv Deployed addressType
- Smart Contract - cvx3Crv OracleType
- Smart Contract - cvx3Crv collateralType
- Smart Contract - yvIB Pool Deployed addressType
- Smart Contract - yvIB Pool yearnVaultType
- Smart Contract - USDT Pool Deployed addressType
- Smart Contract - USDT Pool divideType
- Smart Contract - USDT Pool yearnVault/collateralType
- Smart Contract - sSpell Pool Deployed addressType
- Smart Contract - sSpell Pool OracleType
- Smart Contract - sSpell Pool collateralType
- Smart Contract - wOHM Pool Deployed addressType
- Smart Contract - wOHM Pool Master contractType
- Smart Contract - wOHM Pool OracleType
- Smart Contract - wOHM Pool collateralType
- Smart Contract - ALCX Pool V2 Deployed addressType
- Smart Contract - ALCX Pool V2 OracleType
- Smart Contract - ALCX Pool V2 collateralType
- Smart Contract - xSushi Pool V3 Deployed addressType
- Smart Contract - xSushi Pool V3 OracleType
- Smart Contract - xSushi Pool V3 collateralType
- Smart Contract - xSushi Pool V3 divideType
- Smart Contract - WETH Pool V2 Deployed addressType
- Smart Contract - WETH Pool V2 DivideType
- Smart Contract - WETH Pool V2 yearnVaultType
- Smart Contract - YFI Pool Deployed addressType
- Smart Contract - YFI Pool divideType
- Smart Contract - YFI Pool yearnVaultType
- Smart Contract - USDC Pool Deployed addressType
- Smart Contract - USDC Pool divideType
- Smart Contract - USDC Pool yearnVaultType
- Smart Contract - Cauldron V3Type
- Smart Contract - Ethereum OracleType
- Websites and Applications - Main Web AppType
All smart contracts of Abracadabra can be found at https://github.com/Abracadabra-money/magic-internet-money/tree/main/contracts. All folders with “Degenbox”, “Outdated” and “BentoBoxFlat.sol” are out of scope. However, only those in the Assets in Scope table are considered as in-scope of the bug bounty program.
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
- Loss of user funds staked (principal) by freezing or theftCriticalImpact
- Loss of protocol fundsCriticalImpact
- Forced liquidations through manipulation that does not stem from sustained price action (focused on flash loan and two block attacks)CriticalImpact
- Temporary freezing of funds for minimum of 12hrsHighImpact
- Unable to call smart contractMediumImpact
Websites and Applications
- Redirected funds by address modificationCriticalImpact
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)
- Sustained price movements over minutes leading to a changed oracle price
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 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
- Public disclosure of an unpatched vulnerability in an embargoed bounty