Attackathon | Fuel Network![Vault](/images/vault.svg)
![](/_next/image/?url=%2Facademy%2Fsummary-tile-fuel.png&w=828&q=75)
Fuel Academy
Fuel Academy
Fuel Academy is a learning page with everything you need to know to find bugs on Fuel. With guides to help you learn Fuel fast and use Immunefi successfully. Plus a calendar of live technical walkthroughs.
Live
This Attackathon Is Live!
$1.3 million USD is available in Attackathon rewards. With $1,000,000 for finding bugs on Fuel itself during June 17th to July 22nd. Plus a further $300,000 dedicated to Invite-Only programs on Fuel’s top 4 dApps which will run afterwards.
All security researchers who find a single valid bug in the $1 million Fuel Attackathon will be invited to all subsequent Invite-Only programs and receive NFT awards.
You can ask Fuel any questions directly in the Fuel Attackathon Discord channel on Immunefi's Discord, or on the Fuel Forum. During the Attackathon Fuel commits to responding within 48 hours on weekdays to all bug reports.
After the Attackathon Immunefi will publish a leaderboard and Attackathon findings report, as well as whitehat spotlights and bugfix reviews for top placements.
Immunefi vault program
This project deposits assets in a decentralized vault to publicly show proof of assets for paying out bug bounty rewards on-chain via the Immunefi dashboard
Program Overview
Fuel is an operating system purpose built for Ethereum Rollups. Fuel allows rollups to solve for PSI (parallelization, state minimized execution, interoperability) without making any sacrifices.
For more information about Fuel Network, please visit https://fuel.network/
Code Update Period
From July 1st 8am UTC -to- July 5th 8am UTC the Fuel Attackathon will be in the “Code Update Period”.
- During this time the assets in-scope will be changing.
- Before this time (Epoch 1) and after this time (Epoch 2) the assets in-scope will NOT be changing.
- Any bug reports submitted during the Code Update Period will be judged based on the assets in-scope as of July 5th 8am UTC.
Fuel Network will provide a changelog and give a live technical walkthrough of the changes, their effects, and answer whitehat questions on Immunefi’s Discord at the end of the code update period.
Rewards by Threat Level
The following reward terms are a summary, for the full details read our Fuel Attackathon Reward Terms.
The reward pool size varies based on the severity of bugs found:
-
If one or more Low severity bugs are found the reward pool will be $100,000 USD
-
If one or more Medium severity bugs are found the reward pool will be $250,000 USD
-
If one or more High severity bugs are found the reward pool will be $500,000 USD
-
If 1 Critical severity bug is found the reward pool will be $800,000 USD
-
If 2 Critical severity bugs are found the reward pool will be $900,000 USD
-
If 3 or more Critical severity bugs are found the reward pool will be $1,000,000 USD
For this Attackathon, duplicates and private known issues are valid for a reward.
Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2.3.
Reward Payment Terms
Payouts are handled by the Fuel Network team directly and are denominated in USD. However, payments are done in USDC.
Rewards will be distributed all at once based on Immunefi’s distribution formula after the event has concluded and the final bug reports have been resolved.
Insight Rewards Payment Terms
Insight Rewards: Portion of the Rewards Pool
- The "Insight" severity was introduced on Boost & Attackathon programs to recognize contributions that extend beyond identifying immediate vulnerabilities. Currently, it's not an option to select the Insight severity when submitting a report. However, our team or program will designate it accordingly if applicable. "Insights" underscores our commitment to valuing all types of contributions that contribute to a more secure environment and will always be rewarded. View more information about Insights
Blockchain/DLT
- Critical
- Level
- Portion of the Reward Pool
- Payout
- High
- Level
- Portion of the Reward Pool
- Payout
- Medium
- Level
- Portion of the Reward Pool
- Payout
- Low
- Level
- Portion of the Reward Pool
- Payout
Smart Contract
- Critical
- Level
- Portion of the Reward Pool
- Payout
- High
- Level
- Portion of the Reward Pool
- Payout
- Medium
- Level
- Portion of the Reward Pool
- Payout
- Low
- Level
- Portion of the Reward Pool
- Payout
Websites and Applications
- Critical
- Level
- Portion of the Reward Pool
- Payout
- High
- Level
- Portion of the Reward Pool
- Payout
- Medium
- Level
- Portion of the Reward Pool
- Payout
All categories *
- Insight
- Level
- Portion of the Reward Pool
- Payout
Assets in scope
- Blockchain/DLT - fuel-core :: The blockchain client for the L2Type
- Blockchain/DLT - fuel-vm :: The fuelvm and the low level shared libraries with Fuel (ie. tx types, assembly code, etc)Type
- Blockchain/DLT - fuel-ts :: The typescript sdk which interacts with the blockchain client and compilerType
- Blockchain/DLT - fuel-rs :: The rust sdk which interacts with the blockchain client and compilerType
- Smart Contract - solidity-contracts :: The L1 contracts for the Fuel bridge that handle deposits and withdrawals on EthereumType
- Smart Contract - message-predicates :: The L2 deposit receiver which enables minting of funds on Fuel from the bridgeType
- Smart Contract - fungible-token :: The L2 contract on fuel which verifies the deposit receiver and mints the actual tokensType
- Smart Contract - sway :: The sway compiler and most Sway tooling (ie. forc, standard library, etc) *Note: Only the fuelvm target is in scope. The evm and midenVM target are out of scopeType
- Smart Contract - sway-libs :: Common Sway librariesType
- Smart Contract - sway-standardsType
- Websites and Applications - fuel-connectors :: Web2 library that enables apps to connect to fuel supported walletsType
- Websites and Applications - fuel-wallet :: Web2 Fuel Wallet extension that allows users to interact with fuel network and stores the private keys / seed phrase of the userType
- Websites and Applications - fuel-explorer :: Web2 bridge and explorer UI, that allows users to bridge funds from sepolia to the Fuel Network and also visualize the transactions of the networkType
Fuel Network’s codebase can be found here https://github.com/FuelLabs/ . Each asset in scope listed above is of a given hash which is the source of truth of what’s in scope.
Fuel Network will strive to have the Testnet match their Github assets. In cases where they differ, the links in the assets in-scope table will be the source-of-truth as to what’s in-scope.
Out of Scope Assets:
- Only the fuelvm target is in scope for the asset: https://github.com/FuelLabs/sway/tree/7b56ec734d4a4fda550313d448f7f20dba818b59 . The evm and midenVM target are out of scope
- Any smart contract with text stating that THIS CONTRACT IS DEPRECATED is out of scope.
- FuelERC721Gateway contracts are also out of scope because they are pending development of a new version.
The Testnet deployment can be found here:
- FuelChainState - https://sepolia.etherscan.io/address/0x404F391F96798B14C5e99BBB4a9C858da9Cf63b5
- Fuel Message Portal - https://sepolia.etherscan.io/address/0x01855B78C1f8868DE70e84507ec735983bf262dA
- FuelERC20GatewayV4 - https://sepolia.etherscan.io/address/0xa97200022c7aDb1b15f0f61f374E3A0c90e2Efa0
Previous Audits & Public Disclosure of Known Issues
Bug reports covering previously-discovered bugs (listed below) are not eligible for a reward within this program. This includes known issues that the project is aware of but has consciously decided not to “fix”, necessary code changes, or any implemented operational mitigating procedures that can lessen potential risk.
Fuel Network’s completed audit reports can be found at https://github.com/FuelLabs/audits . Any unfixed vulnerabilities mentioned in these reports are not eligible for a reward.
Miscellaneous issues:
- https://github.com/FuelLabs/fuels-rs/issues/1361
- https://github.com/FuelLabs/sway/issues/6060
- https://github.com/FuelLabs/sway-playground/issues/56
- https://github.com/FuelLabs/sway/issues/5727
- https://github.com/FuelLabs/fuels-wallet/issues/1322
- https://github.com/FuelLabs/fuels-ts/issues/2443
- https://github.com/FuelLabs/sway/issues/6091
- https://github.com/FuelLabs/fuels-ts/issues/2492
- https://github.com/FuelLabs/sway/issues/6118
- https://github.com/FuelLabs/fuel-explorer/issues/366
- https://github.com/FuelLabs/sway/issues/418
- https://github.com/FuelLabs/sway/issues/5892
- https://github.com/FuelLabs/sway/issues/5124
- https://github.com/FuelLabs/sway/issues/15
- https://github.com/FuelLabs/sway/issues/5886
- https://github.com/FuelLabs/sway/issues/5049
- https://github.com/FuelLabs/fuel-core/issues/1961
- https://github.com/FuelLabs/fuel-core/issues/1966
- https://github.com/FuelLabs/fuel-core/issues/1967
- https://github.com/FuelLabs/fuel-core/issues/1049
- https://github.com/FuelLabs/fuel-core/issues/1968
- https://github.com/FuelLabs/fuel-core/issues/1969
- https://github.com/FuelLabs/fuel-core/issues/1970
- https://github.com/FuelLabs/fuel-core/issues/1971
- https://github.com/FuelLabs/fuel-vm/issues/764
- https://github.com/FuelLabs/fuel-vm/issues/757
There may be other low severity findings tracked in these repos github issues which are not exhaustively listed here.
Asset In Scope Policies
Asset Accuracy Assurance
Bugs found on assets incorrectly listed in-scope will be considered valid and be rewarded.
Private Known Issues Reward Policy
Private known issues, meaning known issues that were not publicly disclosed, are valid for a reward.
Primacy of Impact vs Primacy of Rules
Fuel Network adheres to the Primacy of Rules, which means that the whole Attackathon is run strictly under the terms and conditions stated within this page.
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
- Unintended permanent chain split requiring hard fork (network partition requiring hard fork)CriticalImpact
- Bypassing the bridge timelockCriticalImpact
- Permanent freezing of funds on the L1 Bridge sideCriticalImpact
- Direct loss of fundsCriticalImpact
- Permanent freezing of funds (fix requires hardfork)HighImpact
- Temporary freezing of network transactions by delaying one block by 3000% or more of the average block time of the preceding 24 hours beyond standard difficulty adjustmentsHighImpact
- Network not being able to confirm new transactions (total network shutdown)HighImpact
- Causing network processing nodes to process transactions from the mempool beyond set parameters (e.g. prevents processing transactions from the mempool)MediumImpact
- Increasing network processing node resource consumption by at least 30% without brute force actions, compared to the preceding 24 hoursMediumImpact
- Shutdown of greater than or equal to 30% of network processing nodes without brute force actions, but does not shut down the networkMediumImpact
- A bug in the respective layer 0/1/2 network code that results in unintended smart contract behavior with no concrete funds at direct riskMediumImpact
- Modification of transaction fees outside of design parametersMediumImpact
- RPC API crash affecting projects with greater than or equal to 25% of the market capitalization on top of the respective layerMediumImpact
- Shutdown of greater than 10% or equal to but less than 30% of network processing nodes without brute force actions, but does not shut down the networkLowImpact
Smart Contract
- Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yieldCriticalImpact
- Direct theft of any user NFTs, whether at-rest or in-motion, other than unclaimed royaltiesCriticalImpact
- Permanent freezing of fundsCriticalImpact
- Permanent freezing of NFTsCriticalImpact
- Unauthorized minting of NFTsCriticalImpact
- Predictable or manipulable RNG that results in abuse of the principal or NFTCriticalImpact
- Unintended alteration of what the NFT represents (e.g. token URI, payload, artistic content)CriticalImpact
- Theft of unclaimed yieldHighImpact
- Theft of unclaimed royaltiesHighImpact
- Permanent freezing of unclaimed yieldHighImpact
- Permanent freezing of unclaimed royaltiesHighImpact
- Temporary freezing of funds for at least 1 hourHighImpact
- Temporary freezing of NFTs for at least 1 hourHighImpact
- Smart contract unable to operate due to lack of token fundsMediumImpact
- Block stuffingMediumImpact
- Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)MediumImpact
- Theft of gasMediumImpact
- Unbounded gas consumptionMediumImpact
- Contract fails to deliver promised returns, but doesn't lose valueLowImpact
- Temporary freezing of funds up to 1 hourLowImpact
- Temporary freezing of NFTs up to 1 hourLowImpact
Websites and Applications
- Execute arbitrary system commandsCriticalImpact
- Subdomain takeover with already-connected wallet interactionCriticalImpact
- Direct theft of user fundsCriticalImpact
- Taking down the application/websiteHighImpact
- Subdomain takeover without already-connected wallet interactionHighImpact
- 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)MediumImpact
- Malicious interactions with an already-connected wallet, such as: Modifying transaction arguments or parameters, Substituting contract addresses, Submitting malicious transactionsMediumImpact
- Injection of malicious HTML or XSS through metadataMediumImpact
- 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, etcMediumImpact
Bugs in the Fuel VM and Compiler are the top priority for Fuel. Whitehats who focus here will earn the greatest rewards and acclaim from Fuel.
Proof of Concept (PoC) Requirements
A PoC, demonstrating the bug's impact, is required for this program and has to comply with the Immunefi PoC Guidelines and Rules.
Feasibility Limitations
The project may be receiving reports that are valid (the bug and attack vector are real) and cite assets and impacts that are in scope, but there may be obstacles or barriers to executing the attack in the real world. In other words, there is a question about how feasible the attack really is. Conversely, there may also be mitigation measures that projects can take to prevent the impact of the bug, which are not feasible or would require unconventional action and hence, should not be used as reasons for downgrading a bug's severity.
Therefore, Immunefi has developed a set of feasibility limitation standards which by default states what security researchers, as well as projects, can or cannot cite when reviewing a bug report.
Out of Scope & Rules
KYC Requirement
Fuel Network will be requesting KYC information in order to pay for successful bug submissions to whitehats who earn $500 USD or more. The following information will be required:
- Full name
- Date of birth
- Proof of address (either a redacted bank statement with address or a recent utility bill)
- Copy of Passport or other Government issued ID
Eligibility Criteria
Security researchers who wish to participate must adhere to the rules of engagement set forth in this program and cannot be:
- On OFACs SDN list
- From a restricted country or territory: North Korea, Iran, Cuba, Syria, certain regions of Ukraine (Crimea, Donetsk and Luhansk), West Bank and Gaza regions of Israel, Venezuela, Afghanistan
- Official contributor, both past or present
- Employees and/or individuals closely associated with the project
- Security auditors that directly or indirectly participated in the audit review, or who work fo the company which did the audit review
Responsible Publication
Whitehats may publish their bug reports after they have been fixed & paid, or closed as invalid, with the following exceptions:
- Bug reports in mediation may not be published until mediation has concluded and the bug report is resolved.
- Immunefi may publish bug reports submitted to this Attackathon and a leaderboard of the participants and their earnings.
Immunefi Standard Badge
By adhering to Immunefi’s best practice recommendations, Fuel Network has satisfied the requirements for the Immunefi Standard Badge.
Out of Scope Impacts
- Impacts on Example Code provided by Fuel Network or smart contract code that was deployed by the user.
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 b
Blockchain/DLT & Smart Contract Specific:
- 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 from Sybil attacks
- Impacts involving centralization risks
Websites and Apps:
- Theoretical impacts without any proof or demonstration
- Impacts involving attacks requiring physical access to the victim device
- Impacts involving attacks requiring access to the local network of the victim
- Reflected plain text injection (e.g. url parameters, path, etc.)
- This does not exclude reflected HTML injection with or without JavaScript
- This does not exclude persistent plain text injection
- Any impacts involving self-XSS
- Captcha bypass using OCR without impact demonstration
- CSRF with no state modifying security impact (e.g. logout CSRF)
- Impacts related to missing HTTP Security Headers (such as X-FRAME-OPTIONS) or cookie security flags (such as “httponly”) without demonstration of impact
- Server-side non-confidential information disclosure, such as IPs, server names, and most stack traces
- Impacts causing only the enumeration or confirmation of the existence of users or tenants
- Impacts caused by vulnerabilities requiring un-prompted, in-app user actions that are not part of the normal app workflows
- Lack of SSL/TLS best practices
- Impacts that only require DDoS
- 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)
- SPF/DMARC misconfigured records)
- Missing HTTP Headers without demonstrated impact
- Automated scanner reports without demonstrated impact
- UI/UX best practice recommendations
- Non-future-proof NFT rendering
Prohibited Activities:
- Any testing on mainnet or public testnet deployed code; all testing should be done on local-forks of either public testnet or mainnet
- 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 that are executed against project assets
- Automated testing of services that generates significant amounts of traffic
- Public disclosure of an unpatched vulnerability in an embargoed bounty