Beanstalk

Submit a Bug
11 October 2022
Live since
No
KYC required
$1,100,000
Maximum bounty
02 December 2022
Last updated

Program Overview

Beanstalk is a permissionless fiat stablecoin protocol built on Ethereum.

Beanstalk forms the monetary basis of an Ethereum-native, rent-free economy facilitated by the positive carry of its native fiat currency, a stablecoin called Bean.

For more information about Beanstalk, please visit https://bean.money.

This bug bounty program is focused on the Beanstalk smart contracts and preventing the loss of Farmers’ Beanstalk assets. .

Resources:

Rewards by Threat Level

Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2.2. The following is a simplified 3-level scale, focusing on the impact of the vulnerability reported. The complete scope can be found below.

In order to be considered for the maximum potential reward, bug reports must come with (1) a Proof of Concept (PoC), and (2) code implementing the fix. Explanations and statements are not accepted in lieu of a PoC and code implementing the fix. Bug reports that do not come with a PoC and code implementing a fix may qualify for a maximum of up to 30% of the potential reward outlined below, as determined by the Beanstalk Immunefi Committee (or BIC, see BIP-26). Given that the focus of the bug bounty program is Beans/BDV at risk, Circulating non-Bean assets at risk may qualify for a maximum of up to 50% of the potential reward outlined below, as determined by the Beanstalk Immunefi Committee.

Rewards for Critical smart contract vulnerabilities are capped at the lower of (a) 10% of practicable economic damage, or (b) USD 1 100 000, primarily taking into consideration Beans/BDV at risk. However, there is a minimum reward of USD 100 000 for Critical severity smart contract bug reports.

Rewards for High smart contract vulnerabilities are capped at the lower of (a) 100% of practicable economic damage, or (b) USD 100 000, primarily taking into consideration Beans/BDV at risk. However, there is a minimum reward of USD 10 000 for High severity smart contract bug reports.

Rewards for Medium severity smart contract vulnerabilities are scaled based on a set of internal criteria established by the BIC. However, there is a minimum reward of USD 1 000 for Medium smart contract bug reports. The BIC will primarily take into account:

  • The exploitability of the bug;
  • The impact it causes; and
  • The likelihood of the vulnerability presenting itself.

Payouts are handled by the Beanstalk Community Multisig (BCM) directly and are done in BEAN at the rate of 1 BEAN to 1 USD (i.e., amounts listed above are actually in BEAN).

All vulnerabilities noted in any Halborn audit reports or the Trail of Bits audit report (or otherwise known by the BIC or BCM) are not eligible for a reward.

BIP-26 formed the BIC. The BIC shall determine whether a submitting party is entitled to a bug bounty/reward, and if so, the amount of such bounty/reward (and specifically, whether such submission qualifies for a Critical, High or Medium Impact bounty/reward, what is the potential practicable economic damage of such bug based on the Beans/BDV at risk, and what the appropriate bounty/reward should be within each Impact range). The BIC’s determination of (i) whether such submission qualifies for a Critical, High or Medium Impact bounty/reward, (ii) what is the potential practicable economic damage of such bug based on the Beans/BDV at risk, and (iii) whether such submission came with a PoC and code implementing a fix, thereby enabling it to be considered for the maximum potential applicable reward (vs. a submission that did not come with a PoC and code implementing a fix, thereby limiting such submission to a maximum of up to 30% of the applicable reward), shall be made in the BIC’s sole and absolute discretion absolute and shall be final, and not be subject to any appeal or challenge.

A submitting party may only dispute the BIC’s determination (a) that a submitting party is not entitled to any bug bounty/reward, or (b) what the appropriate bounty/reward should be within each Impact range. In such disputes, Immunefi will conduct a binding mediation. If the submitting party disputes the BIC’s decision that a submitting party is not entitled to any bug bounty/reward, Immunefi will mediate, and shall determine, in its sole and absolute discretion, which is non-appealable, whether the submitting party is entitled to any bug bounty/reward, and if so, the amount of such bug bounty/reward, up to USD 10 000 (i.e., as if it were a Medium Impact fix). If the submitting party disputes the BIC’s determination what the appropriate bounty/reward should be within a specific Impact range, Immunefi will mediate, and shall determine, in its sole and absolute discretion, which is non-appealable, the amount of such bug bounty/reward in the relevant Impact category; however, Immunefi may not modify or change (i) the practicable economic damage determination made by the BIC, or (b) the BIC’s determination whether such submission came with a PoC and code implementing a fix, thereby enabling it to be considered it for the maximum potential applicable reward (vs. a submission that did not come with a PoC and code implementing a fix, thereby limiting such submission to a maximum of up to 30% of the applicable reward).

Smart Contract

Critical
Level
USD $100,000 up to USD $1,100,000
Payout
PoC Required
High
Level
USD $10,000 up to USD $100,000
Payout
PoC Required
Medium
Level
USD $1,000 up to USD $10,000
Payout
PoC Required

Assets in scope

All Beanstalk smart contracts can be found at https://github.com/BeanstalkFarms/Beanstalk. However, only those in the Assets in Scope section are considered as in-scope of the bug bounty program. The smart contract for Pipeline can be found here and the smart contract for the Root token can be found here.

Though only the current facets are listed as in-scope, the current implementation and any further updates to the contracts are considered in-scope. When reporting a bug, please make sure to select the relevant smart contract as the target.

In particular, the BIC maintains a list of pull requests whose code is considered in-scope but has not yet been committed to Beanstalk. This code has been audited by Halborn. The following pull requests are in-scope of the bug bounty program:

If an impact can be caused to any other asset related to Beanstalk that isn’t on this section but for which the impact is in the Impacts in Scope section below, bug bounty hunters are encouraged to submit it for consideration by the BIC.

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 manipulation
    Critical
    Impact
  • Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yield
    Critical
    Impact
  • Permanent freezing of funds
    Critical
    Impact
  • Theft of unclaimed yield
    High
    Impact
  • Permanent freezing of unclaimed yield
    High
    Impact
  • Temporary freezing of funds for at least 1 hour
    High
    Impact
  • Illegitimate minting of protocol native assets
    High
    Impact
  • Smart contract unable to operate due to lack of token funds
    Medium
    Impact
  • Block stuffing for profit
    Medium
    Impact
  • Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)
    Medium
    Impact
  • Theft of gas
    Medium
    Impact
  • Unbounded gas consumption
    Medium
    Impact
  • Contract fails to deliver promised returns, but doesn't lose value
    Medium
    Impact

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; and
  • Attacks requiring access to privileged addresses (governance, strategist).

Smart Contracts

  • 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; and
  • Centralization risks.

Prohibited Activities

The following activities are prohibited by this bug bounty program and could result in disqualification of reception of a bounty, in the sole and absolute discretion of the BIC:

  • 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 contributors and/or users;
  • 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; and
  • Public disclosure of an unpatched vulnerability in an embargoed bounty.