Shell Protocol

Submit a Bug
11 March 2021
Live since
No
KYC required
$100,000
Maximum bounty
10 July 2023
Last updated

Program Overview

Shell Protocol is a set of EVM-based smart contracts on Arbitrum One. Unlike other DeFi protocols that rely on monolithic, single-purpose smart contracts, Shell is a hub for a modular ecosystem of services. Its design makes it much simpler to bundle several smart contracts or build new ones, and for users to batch many services in one transaction.

Known for simplifying DeFi for both users and developers, Shell is a public resource to be governed by the upcoming Shell DAO.

For more information about Shell Protocol, please visit https://shellprotocol.io/

Payouts are handled by the Shell Protocol team directly and are denominated in USD. Payouts are done in USDC.. For more details about the payment process, please view the Rewards by Threat Level section further below.

Responsible Publication

Shell Protocol adheres to category 1. This Policy determines what information whitehats are allowed to make public from their submitted bug reports. For more information about the category selected, please refer to our Responsible Publication page.

Primacy of Rules

Shell Protocol adheres to the Primacy of Rules, which means that the whole bug bounty program is run strictly under the terms stated in this page.

Immunefi Severity Classification System

This program was designed using the Immunefi classification system. Bugs are classified on a simplified 4-level scale:

  • Critical
  • High
  • Medium
  • Low

See: Immunefi Vulnerability Severity Classification System v2.3

Rewards by Threat Level

Rewards by Threat Level are distributed according to the impact the vulnerability could otherwise cause based on the Impacts in Scope table further below.

Reward Calculation for Critical Level Reports

For critical Smart Contract bugs, the reward amount is 10% of the funds directly affected up to a maximum of $100,000 USD. The calculation of the amount of funds at risk is based on the time and date the bug report is submitted. However, a minimum reward of $25,000 USD is to be rewarded in order to incentivize security researchers against withholding a bug report.

Repeatable Attack Limitations

In cases of repeatable attacks for smart contract bugs, only the first attack is considered if the smart contracts where the vulnerability exists can be upgraded, paused, or killed. If the attack impacts a smart contract directly holding funds that cannot be upgraded or paused, the amount of funds at risk will be calculated with the first attack being at 100% of the funds that could be stolen and then a reduction of 25% from the amount of the first attack for every 300 blocks the attack needs for subsequent attacks from the first attack, rounded down.

Proof of Concept (PoC) Requirements

A PoC is required for the following severity levels:

  • Smart Contracts, Critical Severity Level
  • Smart Contracts, High Severity Level
  • Smart Contracts, Medium Severity Level
  • Smart Contracts, Low Severity Level
  • Web/App, All Levels

All PoCs submitted must comply with the Immunefi-wide PoC Guidelines and Rules. Bug report submissions without a PoC when a PoC is required will not be provided with a reward.

Reward Payment Terms

Payouts are handled by the Shell Protocol team directly and are denominated in USD. Payments will be issued in USDC or ETH.

Smart Contract

Critical
Level
USD $100,000
Payout
PoC Required
High
Level
USD $20,000
Payout
PoC Required
Medium
Level
USD $5,000
Payout
PoC Required
Low
Level
USD $1,000
Payout
PoC Required

Websites and Applications

Critical
Level
USD $10,000
Payout
PoC Required
High
Level
USD $3,000
Payout
PoC Required
Medium
Level
USD $1,500
Payout
PoC Required
Low
Level
USD $500
Payout
PoC Required

Assets in scope

All code of Shell Protocol can be found at https://github.com/Shell-Protocol/Shell-Protocol

Unless explicitly listed, only pages of the web/app assets in addition to the direct link are considered in-scope of the bug bounty program. Other subdomains are not considered as in-scope. However, for subdomain takeovers that lead to an impact on the in-scope asset, please refer to our page about Reported Subdomain Takeovers.

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

  • Manipulation of governance voting result deviating from voted outcome and resulting in a direct change from intended effect of original results
    Critical
    Impact
  • Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yield
    Critical
    Impact
  • Direct theft of any user NFTs, whether at-rest or in-motion, other than unclaimed royalties
    Critical
    Impact
  • Permanent freezing of funds
    Critical
    Impact
  • Permanent freezing of NFTs
    Critical
    Impact
  • Miner-extractable value (MEV)
    Critical
    Impact
  • Unauthorized minting of NFTs
    Critical
    Impact
  • Predictable or manipulable RNG that results in abuse of the principal or NFT
    Critical
    Impact
  • Unintended alteration of what the NFT represents (e.g. token URI, payload, artistic content)
    Critical
    Impact
  • Protocol insolvency
    Critical
    Impact
  • Theft of unclaimed yield
    High
    Impact
  • Theft of unclaimed royalties
    High
    Impact
  • Permanent freezing of unclaimed yield
    High
    Impact
  • Permanent freezing of unclaimed royalties
    High
    Impact
  • Temporary freezing of funds
    High
    Impact
  • Temporary freezing NFTs
    High
    Impact
  • Smart contract unable to operate due to lack of token funds
    Medium
    Impact
  • Block stuffing
    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
    Low
    Impact

Websites and Applications

  • Execute arbitrary system commands
    Critical
    Impact
  • Retrieve sensitive data/files from a running server such as: /etc/shadow, database passwords, blockchain keys (this does not include non-sensitive environment variables, open source code, or usernames)
    Critical
    Impact
  • Taking down the application/website
    Critical
    Impact
  • Taking down the NFT URI
    Critical
    Impact
  • Taking state-modifying authenticated actions (with or without blockchain state interaction) on behalf of other users without any interaction by that user, such as: Changing registration information, Commenting, Voting, Making trades, Withdrawals, etc.
    Critical
    Impact
  • Changing the NFT metadata
    Critical
    Impact
  • Subdomain takeover with already-connected wallet interaction
    Critical
    Impact
  • Direct theft of user funds
    Critical
    Impact
  • Malicious interactions with an already-connected wallet such as: Modifying transaction arguments or parameters, Substituting contract addresses, Submitting malicious transactions
    Critical
    Impact
  • Direct theft of user NFTs
    Critical
    Impact
  • Injection of malicious HTML or XSS through NFT metadata
    Critical
    Impact
  • Injecting/modifying the static content on the target application without Javascript (Persistent) such as: HTML injection without Javascript, Replacing existing text with arbitrary text, Arbitrary file uploads, etc.
    High
    Impact
  • Changing sensitive details of other users (including modifying browser local storage) without already-connected wallet interaction and with up to one click of user interaction, such as: Email or password of the victim, etc.
    High
    Impact
  • Improperly disclosing confidential user information such as: Email address, Phone number, Physical address, etc.
    High
    Impact
  • Subdomain takeover without already-connected wallet interaction
    High
    Impact
  • Changing non-sensitive details of other users (including modifying browser local storage) without already-connected wallet interaction and with up to one click of user interaction, such as: Changing the name of user, Enabling/disabling notifications
    Medium
    Impact
  • Injecting/modifying the static content on the target application without Javascript (Reflected) such as: Reflected HTML injection, Loading external site data
    Medium
    Impact
  • Redirecting users to malicious websites (Open Redirect)
    Medium
    Impact
  • Changing details of other users (including modifying browser local storage) without already-connected wallet interaction and with significant user interaction such as: Iframing leading to modifying the backend/browser state (demonstrate impact with PoC)
    Low
    Impact
  • Taking over broken or expired outgoing links such as: Social media handles, etc.
    Low
    Impact
  • Temporarily disabling user to access target site, such as: Locking up the victim from login, Cookie bombing, etc.
    Low
    Impact
  • Any impact involving a publicly released CVE without a working PoC
    Low
    Impact

Out of Scope & Rules

These impacts are out of scope for this bug bounty program.

All Categories

  • Impacts requiring attacks that the reporter has already exploited themselves, leading to damage
  • Impacts caused by attacks requiring access to leaked keys/credentials
  • Impacts caused by attacks requiring access to privileged addresses (governance, strategist) except in such cases where the contracts are intended to have no privileged access to functions that make the attack possible
  • Impacts relying on attacks involving the depegging of an external stablecoin where the attacker does not directly cause the depegging due to a bug in code
  • Mentions of secrets, access tokens, API keys, private keys, etc. in Github will be considered out of scope without proof that they are in-use in production
  • Best practice recommendations
  • Feature requests
  • Impacts on test files and configuration files unless stated otherwise in the bug bounty program

Smart Contracts and Blockchain/DLT

  • Incorrect data supplied by third party oracles:
    • Not to exclude oracle manipulation/flash loan attacks
  • Impacts requiring basic economic and governance attacks (e.g. 51% attack)
  • Lack of liquidity impacts
  • Impacts involving centralization risks
  • Best practice recommendations

Web/App

  • Captcha bypass using OCR without impact demonstration
  • UX and UI impacts that do not materially disrupt use of the platform
  • Impacts primarily caused by browser/plugin defects
  • Leakage of non sensitive API keys (e.g. Etherscan, Infura, Alchemy, etc.)
  • Any vulnerability exploit requiring browser bugs for exploitation (e.g. CSP bypass)
  • Automated scanner reports without demonstrated impact
  • UI/UX best practice recommendations
  • Non-future-proof NFT rendering