Filecoin

Submit a Bug
14 April 2023
Live since
Yes
KYC required
$500,000
Maximum bounty
12 February 2024
Last updated

Program Overview

Filecoin is a decentralized storage network designed to store humanity's most important data. As such, security is of paramount importance to us.

The Filecoin network shipped the Filecoin Virtual Machine in May 2022. It is based on WebAssembly (Wasm), and is inspired by VM hypervisors and OS virtualization. FVM can support actors written for a variety of execution environments, including Ethereum Virtual Machine (EVM), Secure EcmaScript (SES), eBPF, and actors that compile to WebAssembly. This enables developers to write software that automates the storage, retrieval, and ultimately the transformation of data in a web3-native way.

With the M2.1 release of the FVM roadmap in March 2023, Filecoin launched the Ethereum Virtual Machine (EVM) runtime on top of FVM. Developers can port existing EVM contracts with no changes, while connecting them to Filecoin state and storage services. This makes Filecoin compatible with EVM tools, including wallets like MetaMask, and developer tools like Hardhat or Foundry, making deploying and interacting with EVM-based actors easy.

This bug bounty program is focused on the Filecoin Virtual Machine (FVM) and the Filecoin EVM runtime (FEVM). Smart contracts deployed on FEVM are excluded.

For more information about Filecoin, please visit https://filecoin.io/. For more information about the FVM, visit https://fvm.dev.

For Whitehats: It is highly recommended that you review the details of this program in full. Although many Bug Bounty programs have standard terms and conditions, each also has their own unique details that are critical to your success.

Prior to submitting a report please review the Immunefi Bug Report Template and Best Practices.

Rewards by Threat Level

Please review how rewards are distributed based on the Immunefi Vulnerability Severity Classification System V2.2. This is a simplified 5-level scale system with separate scales for Smart Contracts and Websites/Apps.

All rewards for the project bug bounty program are scaled based on an internally established team criteria, taking into account the exploitability of the bug, the impact it causes, and the likelihood of the vulnerability presenting itself, which is especially factored in with bug reports requiring multiple conditions to be met that are currently not in-place. However, there is a minimum reward for each severity level, rewards will be provided at the determined fair value by the team depending on these conditions, assuming that the bug report is in-scope of the bug bounty program.

We have payment terms of upto 30 days after the invoice is generated.

Payouts and Payout Requirements:

Payouts are handled by the Filecoin team directly and are denominated in USD. However, payouts are done in FIL. Filecoin commits to honoring payouts according to the terms set out in this program at the time of report submission, and to treat this program as the agreement and source of truth concerning bug reports and responsible disclosures.

For the purposes of determining report validity, this is a Primacy of Rules program.

Learn more about report validity best practices here: Best Practice - Primacy of Impact vs Primacy of Rules.

KYC Requirements

Filecoin does have a Know Your Customer (KYC) requirement for bug bounty payouts.

KYC Info Required:

  • Legal Name
  • Country of residence
  • W9, W8BEN, or W8BENE forms

KYC information is only required on confirmation of the validity of a bug report.

Audit Discoveries and Known Issues:

Bug reports covering previously-discovered bugs are not eligible for any reward through the bug bounty program. If a bug report covers a known issue, it may be rejected together with proof of the issue being known before escalation of the bug report via Immunefi.

Previous audits and known issues can be found at the following links:

Description of known issue/repositoryRelated Impact-in-Scope: Issues created in the following repos
All issues, PRs and code comments that are already mentioned and listed in the FVM reference implementation repohttps://github.com/filecoin-project/ref-fvm
All issues, PRs and code comments that are already mentioned and listed in the FVM reference implementation in the Built-in Filecoin actors repohttps://github.com/filecoin-project/builtin-actors
All issues, PRs and code comments that are already mentioned and listed in Lotus, which is our reference node implementation for the Filecoin networkhttps://github.com/filecoin-project/lotus
Issues and recommendations that are listed in the following audit reporthttps://hackmd.io/@DraganZ/FEVM_M21_Audit_Dashboard_AlexW/edit
Issues and recommendations that are listed in the following audit:https://github.com/oak-security/audit-reports/blob/master/Filecoin%20Foundation/2023-03-09%20Audit%20Report%20-%20Filecoin%20EVM%20(FEVM)%20v1.1.pdf

Blockchain/DLT

Critical
Level
USD $100,000 to USD $500,000
Payout
PoC Required
High
Level
USD $25,000 to USD $100,000
Payout
PoC Required
Medium
Level
USD $10,000 to USD $25,000
Payout
PoC Required
Low
Level
USD $1,000 to USD $10,000
Payout
PoC Required

Assets in scope

Only those listed in the Assets in Scope table are considered to be in-scope of the bug bounty program.

Blockchain/DLT

  • Blockchain/DLT - PoC, Blockchain/DLT bug reports are to include a runnable Proof of Concept (PoC) in order to prove impact.
  • For more information on PoCs please visit: Proof of Concept (PoC) Guidelines and Rules
  • The list of all deployed code can be found at:
Blockchain/DLT AssetGithub Repo
FVM reference implementationhttps://github.com/filecoin-project/ref-fvm
Built-in Filecoin actors - which are written in Rust; Wasm-compiled actors (smart contracts, in Filecoin lingo) that are used by all Filecoin clientshttps://github.com/filecoin-project/builtin-actors
Lotus is the reference node implementation for the Filecoin networkhttps://github.com/filecoin-project/lotus

Dev Environments and Documentation

Filecoin has included dev documentation and/or instructions to help in reviewing code and exploring for bugs:

Impacts in Scope

This program is considered to be governed by Primacy of Rules. For more information on what this means visit: Best Practice - Primacy of Impact vs Primacy of Rules.

Impacts are based on the Immunefi Vulnerability Severity Classification System V2.2.

At Immunefi, we classify bugs on a simplified 5-level scale:

  • Critical
  • High
  • Medium
  • Low
  • None

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.

Blockchain/DLT

  • Network not being able to confirm new transactions (Total network shutdown)
    Critical
    Impact
  • Unintended permanent chain split requiring hard fork (Network partition requiring hard fork)
    Critical
    Impact
  • Direct loss of funds
    Critical
    Impact
  • Permanent, repeatable freezing of funds affecting core protocol areas (fix requires hard fork)
    Critical
    Impact
  • RPC API crash capable of impacting block production
    Critical
    Impact
  • Protocol-level bug that causes a general breakage of all contracts deployed on the chain
    Critical
    Impact
  • Protocol-level bug that enables tricking contracts into sending funds to arbitrary addresses
    Critical
    Impact
  • Unintended chain split (Network partition) with localized impact
    High
    Impact
  • Transient consensus failures
    High
    Impact
  • Inability to propagate new transactions
    High
    Impact
  • Protocol-level bug preventing contracts from using their funds
    High
    Impact
  • Protocol-level bug causing a general inability for developers to deploy new smart contracts
    High
    Impact
  • Protocol-level bug rendering a single contract unusable after the exploit (i.e. contract bricked)
    High
    Impact
  • High compute consumption by validator/mining nodes
    Medium
    Impact
  • Attacks against thin clients
    Medium
    Impact
  • DoS of greater than 30% of validator or miner nodes and does not shut down the network
    Medium
    Impact
  • Inability to deploy a contract under a specific circumstances
    Medium
    Impact
  • DoS of greater than 10% but less than 30% of validator or miner nodes and does not shut down the network
    Low
    Impact
  • Underpricing transaction fees relative to computation time
    Low
    Impact
  • Contract on the platform fails to deliver promised returns, but doesn’t lose values
    Low
    Impact
  • EVM instruction fails to execute when provided with specific parameters
    Low
    Impact

Out of Scope & Rules

The following impacts and attack vectors are excluded from rewards by default for all Immunefi bug bounty programs:

  • Attacks that the reporter has already exploited themselves, leading to damage
  • Current and former members of the Filecoin core development team, and current and former employees, contractors and others who have been paid by Protocol Labs or the Filecoin Foundation to work on the Filecoin project, indirectly or directly, are not eligible for bug bounty rewards.
  • Attacks requiring access to leaked keys/credentials
  • 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
  • Any smart contract deployed on the FVM platform is out of scope for this bug bounty
  • Broken link hijacking is out of scope
  • Basic economic governance attacks (e.g. 51% attack)
  • Lack of liquidity
  • Best practice critiques
  • Sybil attacks
  • Centralization risks

Prohibited Activities:

The following activities are prohibited by this bug bounty program. Violation of these rules can result in a temporary suspension or permanent ban from the Immunefi platform at the sole discretion of the Immunefi team, which may also result in: 1) the forfeiture and loss of access to all bug submissions, and 2) zero payout.

Please note that Immunefi has no tolerance for spam/low-quality/incomplete bug reports, “beg bounty” behavior, and misrepresentation of assets and severity. Immunefi exists to protect the global crypto community, not facilitate grift.

Prohibited:

  • Any testing with mainnet or public testnet deployed code; all testing should be done on private testnets
  • 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
  • Any other actions prohibited by the Immunefi Rules. These rules are subject to change at any time.