Attackathon | Fuel Network
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.
Status
Fuel's changelog per repo at the end of the code update period is:
- Fuel Bridge : https://github.com/FuelLabs/fuel-bridge/commit/e3e673e31f9e72d757d68979bb6796a0b7f9c8bc
- sway : https://github.com/FuelLabs/sway/releases/tag/v0.61.2
- sway-libs : Unchanged
- sway-standards : https://github.com/FuelLabs/sway-standards/releases/tag/v0.5.1
- fuel-core : https://github.com/FuelLabs/fuel-core/blob/2faae02d57be88d271893c822c781f34e5f445bc/CHANGELOG.md#version-0310
- fuel-vm : https://github.com/FuelLabs/fuel-vm/blob/2604237c9ff4a755e48b40b2c006711d22cff19f/CHANGELOG.md#version-0550
- fuel-ts : https://github.com/FuelLabs/fuels-ts/releases/tag/v0.91.0
- fuel-rs : Unchanged
- fuel-connectors: https://github.com/FuelLabs/fuel-connectors/releases/tag/v0.8.1
- fuel-wallet : https://github.com/FuelLabs/fuels-wallet/releases/tag/v0.22.0
- fuel-explorer : Unchanged
Additional Known Issues have also been added to the section 'Post Code Update Period Known Issues'. When these issues are fixed they will no longer be considerd known issues and the code will be brought back into scope to find bugs in the fixes. All intended fixes are included in the 'Known Issues' section.
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.
Post Code Update Period Known Issues:
- P2P is doing a lot of database lookups - https://github.com/FuelLabs/fuel-core/issues/2023
- Sequential opcodes return an error when touching the last storage key - https://github.com/FuelLabs/fuel-core/issues/2022
- Unlimited spamming of TxPool - https://github.com/FuelLabs/fuel-core/issues/2021
- Transaction pool can be manipulated to do a lot of cleanups - https://github.com/FuelLabs/fuel-core/issues/2020
- The block production should take into account the available number of transactions - https://github.com/FuelLabs/fuel-core/issues/2019
- During block production should modify the block after passing all checks - https://github.com/FuelLabs/fuel-core/issues/2018
- Slow GraphQL request sender can drain resources of the node - https://github.com/FuelLabs/fuel-core/issues/2017
- WDCM and WQCM implementation mismatch with the specification - https://github.com/FuelLabs/fuel-vm/issues/791
The following fixes will be deployed for the above known issues, at which point they'll no longer be known issues and will be brough back into scope to find bugs in again:
- Optimize getting of transactions for blocks during network synchronization to decrease the load from p2p service.
- Fix for the edge case for sequential opcodes to not return an error when the last key of operation is still in the range.
- Handled the gas price and number of available transactions during the selection of the transaction in the TxPool.
- Updated the executor's block production logic to modify the block only after transaction is valid.
- Added increasing the base gas price based on the demand.
- Optimize SMT updates within the transactions execution.
- Fix 'WDCM' and
WQCM
to match the specification.
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. You can check for publicly described issues on GitHub before sending the submission by using keywords from the finding.
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.