Wild Credit

Submit a Bug
29 June 2021
Live since
No
KYC required
$100,000
Maximum bounty

Program Overview

Wild Credit is a lending protocol with isolated lending pairs. With traditional “basket-based” lending protocols such as Compound, the ability to add new assets is tightly controlled. If a single asset is exploited, it can potentially compromise all users of the protocol. This creates the incentive for these basket-based protocols to focus on the most popular low-risk assets and leave out everything else.

Using isolated lending pairs, lenders can decide which pairs they are comfortable with and provide liquidity only to those. Just like on Uniswap, users of Wild Credit are also free to create lending pairs for any asset permissionlessly.

For example, providing DAI on DAI-MIR may have a higher interest rate than providing DAI on DAI-ETH due to a higher risk. It’s up to the LPs to make their own choices. For more information about WildCredit, please visit https://wild.credit/.

The bug bounty program covers its smart contracts and apps and is focused on receiving bug reports of the following impacts:

  • Thefts and freezing of principal of any amount
  • Thefts and freezing of unclaimed yield of any amount
  • Loss of user funds staked (principal) by freezing or theft
  • Theft of unclaimed yield
  • Freezing of unclaimed yield
  • Temporary freezing of funds
  • Unable to call smart contract
  • Smart contract fails to deliver promised returns

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.

Critical vulnerabilities for smart contract and blockchain vulnerabilities only get the classification if they have an impact of USD 100 000 or greater. If the impact is below that amount, the bug report is reclassified as High even if it would normally classify as Critical. Additionally, a critical bug report can be reclassified as High if it involves the gradual loss of funds for the protocol or the user over multiple blocks due to any miscalculation. (E.g. miscalculated interest, debt, rewards, etc.)

The full critical payout only applies if >$100k of user funds can be stolen.

The final decision on the reward is under the discretion of the WildCredit team.

Payouts are handled by the Wild Credit team directly and are denominated in USD. Payouts are done in USDC.

Smart Contracts and Blockchain

Critical
Level
Up to USD $100,000
Payout
high
Level
USD $5,000 - USD $10,000
Payout
medium
Level
USD $1,000 - USD $5,000
Payout
low
Level
Up to USD $1,000
Payout

Assets in Scope

For added reference, please take a look at their GitHub - https://github.com/WildCredit/contracts. However, only the contracts listed as in-scope here are considered as part 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

  • Loss of user funds staked (principal) by freezing or theft
  • Freezing of unclaimed yield
  • Temporary freezing of funds
  • Unable to call smart contract
  • Smart contract fails to deliver promised retuns
Smart Contract - Controller
Type
Smart Contract - Interest Rate Model
Type
Smart Contract - LP Token Master
Type
Smart Contract - Lending Pair
Type
Smart Contract - Link Price Oracle
Type
Smart Contract - Oracle Aggregator
Type
Smart Contract - Pair Factory
Type
Smart Contract - Reward Distribution
Type
Smart Contract - Transfer Helper
Type
Smart Contract - Uniswap V3 Oracle
Type
Smart Contract - IController
Type
Smart Contract - IERC-20
Type
Smart Contract - IFeeConverter
Type
Smart Contract - IFeeRecipient
Type
Smart Contract - IInterestRateModel
Type
Smart Contract - ILPTokenMaster
Type
Smart Contract -ILendingPair
Type
Smart Contract - ILinkOracle
Type
Smart Contract - IPairFactory
Type
Smart Contract - IPriceOracle
Type
Smart Contract - IRewardDistribution
Type
Smart Contract - IUniswapPair
Type
Smart Contract - IUniswapPriceConverter
Type
Smart Contract - IUniswapRouter
Type
Smart Contract - IUniswapV3Factory
Type
Smart Contract - IUniswapV3Pool
Type
Smart Contract - IWETH
Type
Smart Contract - Address
Type
Smart Contract - Clones
Type
Smart Contract - ERC-20
Type
Smart Contract - Math
Type
Smart Contract - Ownable
Type
Smart Contract - WILD
Type
Smart Contract - Factory
Type
Smart Contract - Controller
Type
Smart Contract - Reward Distribution
Type
Smart Contract - MasterPool
Type
Smart Contract - VaultFactory
Type
Smart Contract - VaultController
Type
Smart Contract - VaultMaster
Type

Prioritized Vulnerabilities

We are especially interested in receiving and rewarding attacks of the following types, as long as they result in the impacts in scope:

Smart Contracts and Blockchain

  • Economic/financial attacks
  • Re-entrancy
  • Logic errors
    • including user authentication errors
  • Solidity/EVM details not considered
    • including integer over-/under-flow
    • including unhandled exceptions

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
  • Cases containing tokens with non-standard ERC20 implementation such as transfer fees
  • Misuse of privileged admin access
  • Cases involving black swan events or multi-block price manipulation (single-block attacks such as those involving the use of flash loans are still acceptable). E.g. buying a lot of low-cap token on Uniswap over the course of an hour, borrowing more than what’s a “fair” value as a result, then selling the token to Uniswap again.
  • Uniswap oracle not working due to low liquidity or being outdated (not enough recent Uniswap trades). Chainlink feeds not being updated or access to them becoming private.

The following activities are prohibited by the 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