Babylon Labs-logo

Babylon Labs

Babylon introduces a new major utility for Bitcoin: trustless and self-custodial staking. The Babylon Bitcoin staking protocol turns Bitcoin into a stakable and slashable asset for any Proof-of-Stake systems. This allows Bitcoin HODLERs to hold their Bitcoins while earning staking rewards from the PoS systems for the slashable security they provide, in the same way as how native PoS token staking works.

Bitcoin
Infrastructure
Staking
Go
Typescript
JavaScript
Rust
Maximum Bounty
$3,000,000
Live Since
16 September 2024
Last Updated
03 October 2024
  • Triaged by Immunefi

  • PoC required

  • KYC required

Select the category you'd like to explore

Assets in Scope

Target
Type
Blockchain/DLT - Golang BTC Staking Library
Added on
16 September 2024
Target
Type
Blockchain/DLT - TypeScript BTC Staking Library
Added on
16 September 2024
Target
Type
Blockchain/DLT - Bitcoin Staking Indexer
Added on
16 September 2024
Target
Type
Blockchain/DLT - Staking Queue Client
Added on
16 September 2024
Target
Type
Blockchain/DLT - Staking Expiration Checker Micro-Service
Added on
16 September 2024
Target
Type
Blockchain/DLT - Covenant Emulator Signer Program
Added on
16 September 2024
Target
Type
Blockchain/DLT - Unbonding Pipeline Process
Added on
16 September 2024
Target
Type
Blockchain/DLT - CLI Staking Program
Added on
16 September 2024
Target
Type
Blockchain/DLT - CLI EOTS Manager Program
Added on
16 September 2024
Target
Type
Blockchain/DLT - Parameters Parser
Added on
16 September 2024
Target
Type
Websites and Applications - Staking API Service
Added on
16 September 2024
Target
Type
Websites and Applications - Staking dApp
Added on
16 September 2024

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.

For the Unbonding Pipeline Process, the following code components and branches are in-scope:

Everything here https://github.com/babylonlabs-io/cli-tools/blob/v0.2.x/, except the following test commands:

For the EOTS Manager program, the following code components and branches are in-scope:

https://github.com/babylonlabs-io/finality-provider/tree/v0.4.x/eotsmanager – only code associated with the eotsd init, eotsd keys add, eotsd sign-schnorr, and the eotsd verify-schnorr-sig commands is in scope. The EOTS manager daemon functionality is not in scope.

Severity
Critical
Title
Direct loss of funds
Severity
Critical
Title
Permanent freezing of funds
Severity
Critical
Title
Retrieve the private key of a covenant committee member
Severity
Critical
Title
Leakage of EOTS private keys without the holder double-signing
Severity
Critical
Title
Execute arbitrary system commands
Severity
Critical
Title
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)
Severity
Critical
Title
Taking state-modifying authenticated actions (with or without blockchain state interaction) on behalf of other users without any interaction by that user, such as: Making trades
Severity
Critical
Title
Subdomain takeover with already-connected wallet interaction
Severity
Critical
Title
Direct theft of user funds or causing their freezing
Severity
Critical
Title
Malicious interactions with an already-connected wallet, such as: Modifying transaction arguments or parameters, Submitting malicious transactions
Severity
High
Title
Generation of invalid EOTS keys
Severity
High
Title
Generation of invalid EOTS key signatures / Invalid verification of EOTS key signatures

Out of scope

Program's Out of Scope information

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
  • Impacts that only require DDoS

Blockchain/DLT 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
  • Impacts involving Bitcoin not being live or safe.
  • Impacts involving a quorum of the covenant committee being malicious.
  • Impacts involving a quorum of the covenant committee not being able to be reached due to a full quorum not being live.
  • Impacts involving the confirmation depth on the global parameters being set to an improperly low value.
  • Impacts involving a user’s staking transaction being included in a Bitcoin block in which different global parameters than the ones the user used apply.

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