Abracadabra

Submit a Bug
05 November 2021
Live since
No
KYC required
$100,000
Maximum bounty

Program 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 Contracts and Blockchain

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

Web and Apps

Critical
Level
Up to USD $20,000
Payout
high
Level
USD $10,000
Payout
medium
Level
USD $500
Payout

Assets in Scope

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 Contracts/Blockchain

  • Loss of user funds staked (principal) by freezing or theft
  • Loss of protocol funds
  • Temporary freezing of funds for minimum of 12hrs
  • Unable to call smart contract
  • Forced liquidations through manipulation that does not stem from sustained price action (focused on flash loan and two block attacks)

Web/App

  • Redirected funds by address modification
  • Shell access on server
  • Injection of text
  • Slippage incorrectly calculated leading to significant user loss (>= 5% divergence in minimum output)
Smart Contract - AVAX oracle
Type
Smart Contract - AVAX CauldronV2
Type
Smart Contract - BentoBox Avax
Type
Smart Contract - AVAX DegenBox
Type
Smart Contract - AVAX wMEMO
Type
Smart Contract - AVAX MIM
Type
Smart Contract - AVAX Advanced withdrawer
Type
Smart Contract - AVAX LevSwapper
Type
Smart Contract - wMEMO LevSwapper
Type
Smart Contract - AVAX Liq Swapper
Type
Smart Contract - wMEMO Liq Swapper
Type
Smart Contract - Deployed Address AVAX pool 1
Type
Smart Contract - oracle AVAX pool 1
Type
Smart Contract - wAVAX
Type
Smart Contract - deployed wMEMO
Type
Smart Contract - proxy oracle wMEMO
Type
Smart Contract - oracle wMEMO
Type
Smart Contract - Arbitrum CauldronV2Multichain
Type
Smart Contract - Arbitrum BentoBox
Type
Smart Contract - Arbitrum MIM
Type
Smart Contract - Arbitrum ETH pool 1
Type
Smart Contract - Arbitrum oracle
Type
Smart Contract - Arbitrum wETH
Type
Smart Contract - Arbitrum LevSwapper
Type
Smart Contract - Arbitrum LiquidationSwapper
Type
Smart Contract - FTM DegenBox
Type
Smart Contract - FTM KashiPairMediumRiskV2
Type
Smart Contract - FTM CombinedOracle
Type
Smart Contract - FTM TWAPOracle0
Type
Smart Contract - FTM TWAPOracle1
Type
Smart Contract - FTM LeverageSwapper
Type
Smart Contract - FTM Deleverage Swapper
Type
Smart Contract - FTM LiquidationSwapper
Type
Smart Contract - FTM MIM
Type
Smart Contract - FTM sFTM
Type
Smart Contract - FTM CauldronV1.5
Type
Smart Contract - FTM CauldronV2FTM
Type
Smart Contract - FTM BandOracleFTM
Type
Smart Contract - FTM pool 1 Deployed Address
Type
Smart Contract - FTM pool 1 wFTM
Type
Smart Contract - FTM pool 2 Deployed Address
Type
Smart Contract - FTM pool 2 wFTM
Type
Smart Contract - FTM yvFTM
Type
Smart Contract - FTM Collateral
Type
Smart Contract - FTM Oracle
Type
Smart Contract - FTM divide
Type
Smart Contract - FTM yearnVault
Type
Smart Contract - wFTM LiqSwapper
Type
Smart Contract - yvFTM LiqSwapper
Type
Smart Contract - wFTM LevSwapper
Type
Smart Contract - yvFTM LevSwapper
Type
Smart Contract - Polygon MIM
Type
Smart Contract - Polygon BentoBox
Type
Smart Contract - Polygon CauldonV2
Type
Smart Contract - Polygon dQuick
Type
Smart Contract - Matic Oracle
Type
Smart Contract - Matic Deployed
Type
Smart Contract - Matic Divide
Type
Smart Contract - Polygon wMatic
Type
Smart Contract - Ethereum YearnChainLinkOracleV2
Type
Smart Contract - Ethereum MagicInternetMoneyV1
Type
Smart Contract - Ethereum sSpellV1
Type
Smart Contract - Ethereum Spell
Type
Smart Contract - Ethereum CauldronMediumRiskV1
Type
Smart Contract - Ethereum CauldronV2CheckpointV1
Type
Smart Contract - Ethereum CauldronLowRiskV1
Type
Smart Contract - Ethereum CauldronV2CheckpointV1
Type
Smart Contract - Ethereum xSushiOracleUSD
Type
Smart Contract - Ethereum Timelock
Type
Smart Contract - Ethereum Withdrawer
Type
Smart Contract - Ethereum BentoBox
Type
Smart Contract - Ethereum SpellSwapperV1
Type
Smart Contract - Ethereum SpellSwapperV2
Type
Smart Contract - Ethereum IBOracle
Type
Smart Contract - Ethereum SpellOracleV1
Type
Smart Contract - Ethereum wOHMOracleV1
Type
Smart Contract - Ethereum stETHOracleV1
Type
Smart Contract - Ethereum AGLDOracle
Type
Smart Contract - Ethereum 3Crv
Type
Smart Contract - Ethereum 3crypto
Type
Smart Contract - agld
Type
Smart Contract - YFI Liquidation Swappers
Type
Smart Contract - xSushi Liquidation Swappers
Type
Smart Contract - USDT Liquidation Swappers
Type
Smart Contract - USDC Liquidation Swappers
Type
Smart Contract - WETH Liquidation Swappers
Type
Smart Contract - IB Liquidation Swappers
Type
Smart Contract - ALCX Liquidation Swappers
Type
Smart Contract - SPELL Liquidation Swappers
Type
Smart Contract - wOHM Liquidation Swappers
Type
Smart Contract - stETH Liquidation Swappers
Type
Smart Contract - FTM Liquidation Swappers
Type
Smart Contract - 3crv Liquidation Swappers
Type
Smart Contract - 3crypto Liquidation Swappers
Type
Smart Contract - agld Liquidation Swappers
Type
Smart Contract - RenCrv Liquidation Swappers
Type
Smart Contract - USDC Leverage Swappers
Type
Smart Contract - USDT Leverage Swappers
Type
Smart Contract - WETH Leverage Swappers
Type
Smart Contract - xSUSHI Leverage Swappers
Type
Smart Contract - YFI Leverage Swappers
Type
Smart Contract - IB Leverage Swappers
Type
Smart Contract - ALCX Leverage Swappers
Type
Smart Contract - wOHM Leverage Swappers
Type
Smart Contract - stETH Leverage Swappers
Type
Smart Contract - FTM Leverage Swappers
Type
Smart Contract - 3crv Leverage Swappers
Type
Smart Contract - 3crypto Leverage Swappers
Type
Smart Contract - Agld Leverage Swappers
Type
Smart Contract - RenCrv Leverage Swappers
Type
Smart Contract - Ethereum cvxRen
Type
Smart Contract -Ethereum Oracle
Type
Smart Contract - Ethereum AGLD
Type
Smart Contract - Ethereum oracle
Type
Smart Contract - 3crypto Deployed address
Type
Smart Contract - 3crypto Collateral
Type
Smart Contract - 3crypto Oracle
Type
Smart Contract - FTM Deployed address
Type
Smart Contract - FTM Collateral
Type
Smart Contract - FTM oracle
Type
Smart Contract - stETH pool Deployed address
Type
Smart Contract - stETH pool oracle
Type
Smart Contract - stETH pool yearnVault
Type
Smart Contract - cvx3Crv Deployed address
Type
Smart Contract - cvx3Crv Oracle
Type
Smart Contract - cvx3Crv collateral
Type
Smart Contract - yvIB Pool Deployed address
Type
Smart Contract - yvIB Pool yearnVault
Type
Smart Contract - USDT Pool Deployed address
Type
Smart Contract - USDT Pool divide
Type
Smart Contract - USDT Pool yearnVault/collateral
Type
Smart Contract - sSpell Pool Deployed address
Type
Smart Contract - sSpell Pool Oracle
Type
Smart Contract - sSpell Pool collateral
Type
Smart Contract - wOHM Pool Deployed address
Type
Smart Contract - wOHM Pool Master contract
Type
Smart Contract - wOHM Pool Oracle
Type
Smart Contract - wOHM Pool collateral
Type
Smart Contract - ALCX Pool V2 Deployed address
Type
Smart Contract - ALCX Pool V2 Oracle
Type
Smart Contract - ALCX Pool V2 collateral
Type
Smart Contract - xSushi Pool V3 Deployed address
Type
Smart Contract - xSushi Pool V3 Oracle
Type
Smart Contract - xSushi Pool V3 collateral
Type
Smart Contract - xSushi Pool V3 divide
Type
Smart Contract - WETH Pool V2 Deployed address
Type
Smart Contract - WETH Pool V2 Divide
Type
Smart Contract - WETH Pool V2 yearnVault
Type
Smart Contract - YFI Pool Deployed address
Type
Smart Contract - YFI Pool divide
Type
Smart Contract - YFI Pool yearnVault
Type
Smart Contract - USDC Pool Deployed address
Type
Smart Contract - USDC Pool divide
Type
Smart Contract - USDC Pool yearnVault
Type
Web/App - Main Web 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)
  • 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