Synthetix

Submit a Bug
05 March 2021
Live since
No
KYC required
$100,000
Maximum bounty
08 April 2024
Last updated

Program Overview

Synthetix provides a building layer that allows other protocols to tap into its universal liquidity pool, offering derivative exposure on an EVM compatible chain.

To be able to offer Synths & Perps trading, Synthetix needs accurate and up-to-date price data for the underlying assets. Synthetix utilizes both Chainlink and the Pyth oracle networks, which provide price information into smart contracts.

Resources regarding Synthetix contracts can be found on the documentation site, where v2x and v3 can be toggled. Both versions are included in the scope of this bug bounty program.

For more information about Synthetix, please visit https://synthetix.io/.

The Optimism Foundation is excited to announce its latest bug bounty matching program, specifically designed for Synthetix. In collaboration with Immunefi, the Optimism Foundation aims to encourage and incentivize security researchers to find and responsibly disclose vulnerabilities. This will contribute to a safer ecosystem for all Optimism participants involved and showcase the foundation's commitment to security.

To participate, security researchers should focus on identifying critical and high Synthetix-specific vulnerabilities that could potentially impact the wider Optimism ecosystem. Optimism will match any rewards offered by Synthetix, contributing a total of 52,500 OP tokens. Please note that OP matching payouts are subject to the total amount of OP tokens left and the price of the OP token on the day of report submission.

Synthetix provides rewards in USDC. For more details about the payment process, please view the Rewards by Threat Level section further below.

Responsible Publication

Synthetix adheres to category 3. 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 Impact vs Primacy of Rules

Synthetix adheres to the Primacy of Rules

Known Issue Assurance

Synthetix commits to providing Known Issue Assurance to bug submissions through their program. This means that Synthetix will either disclose known issues publicly or at the very least privately via a self-reported bug submission in order to allow for a more objective and streamlined mediation process to prove that an issue is known. Otherwise, assuming the bug report itself is valid, it would result in the bug report being considered in-scope and due 100% of the reward with respect to the bug bounty program terms.

Immunefi Standard Badge

Synthetix has satisfied the requirements for the Immunefi Standard Badge, which is given to projects that adhere to our best practices.

Rewards by Threat Level

Rewards 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 USD $100,000. 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 USD $10,000 is to be rewarded in order to incentivize security researchers against withholding a bug report.
For critical web/app bugs, the reward amount is 10% of the funds directly affected up to a maximum of USD $30,000. 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 USD $1,000 is to be rewarded in order to incentivize security researchers against withholding a bug report.

Repeatable Attack Limitations

In cases of smart contract vulnerabilities whereby the attacks can be repeated at certain time intervals, if the attack can be stopped by a configuration change, the total value-at-risk from the consecutive attacks is computed by adding up the losses incurred and applying the below discount factors:

Time Since Attack 1Discount Factor
0 to 15 minutes0%
15 to 30 minutes25%
30 to 60 minutes50%
60 to 120 minutes75%
> 120 minutes100%

If the attack cannot be stopped by configuration changes, the discount factors are adjusted by 50% (i.e. 0% / 12.5% / 25% … ), with the terminal discount factor being 100% at 4 hours (from the initial attack).

Previous Audits

Synthetix has provided these completed audit review reports for reference. Any unfixed vulnerability mentioned in these reports are not eligible for a reward.

Feasibility Limitations

Bug reports that involve one or more other protocols (e.g. utilising flash loans from a margin protocol or manipulating the spot prices on a DEX), either to make an attack more severe than it would be in isolation, or to achieve an attack that would otherwise be impossible or infeasible, would be out-of-scope. However, they will be considered within scope and categorised according to the program rules as long as all of the following are true:

  • Losses or other negative effects of the attack are inflicted on users who provide liquidity (whether for staking or trading) directly on contracts managed by Synthetix (i.e. vulnerabilities on the greater Synthetix Ecosystem partners and integrators are out of scope).
  • The losses or other negative effects could be prevented via changes to contracts that can be updated or modified.

In case an attack requires use of attackers’ own funds (in order to perform/execute a trade), and requires the attacker taking on economic or financial risk, then a discount is applied on the value-at risk based on the likelihood of an attack succeeding. The likelihood should be estimated by reference to reasonable assessment of the environment at the time of the bug bounty submission or by reference to the PoC. Synthetix has ultimate discretion in providing their opinion on the discount used and the eligibility of such disclosures to be considered within scope of the bounty program.

Proof of Concept (PoC) Requirements

A PoC is required for the following severity levels:

  • Critical
  • High

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

As part of the bug bounty matching program, Optimism will contribute 52,500 OP tokens to match the rewards offered by Synthetix. This means that for every reward paid out by Synthetix to a security researcher, Optimism will provide an additional, matching reward, in OP tokens. The total reward pool for this program is 52,500 OP tokens. The other 50% of the reward (if applicable for matching) will be paid by Synthetix in USDC.

Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System v. 2.3. This is a simplified 4-level scale. The development of this scale took into consideration multiple factors that may affect a vulnerability and its likelihood of exploitation, but finalizes them largely by the impact that they cause.

The table below is mostly concerned with the consequence of a successful exploit. Keep in mind that if the exploit requires elevated privileges or uncommon user interaction, the level of the bug may be downgraded to reflect that or rejected.

Goodwill Payments

This applies to the following severity and asset levels:

  • Smart Contract - Low
  • Web/App - Medium
  • Web/App - Low

Synthetix is willing to offer discretionary “Goodwill Payments” for any bugs that fall under these categories and affect TVL <$1,000,

Furthermore, if the value of the assets at risk cannot be estimated, then the bounty payment would be discretionary based on goodwill terms.

Smart Contract

Critical
Level
USD $10,000 - $100,000
Payout
PoC Required
High
Level
USD $50,000
Payout
PoC Required
Medium
Level
USD $10,000
Payout

Websites and Applications

Critical
Level
USD $3,000 - $30,000
Payout
PoC Required
High
Level
USD $10,000
Payout
PoC Required

Assets in scope

Documentation for the assets provided in the table can be found at https://docs.synthetix.io/synthetix-protocol/readme.

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

  • Direct theft of collateral from liquidity providers and borrowers (i.e. staked assets)
    Critical
    Impact
  • Direct theft of tokens and NFTs from token and NFT holders (i.e. v3 staking position / sUSD / snxUSD /…)
    Critical
    Impact
  • Permanent bricking of staking or trading contracts resulting in losses to owners, where the assets can’t be recovered by any means
    Critical
    Impact
  • Governance voting result manipulation that could result a critical severity classification
    Critical
    Impact
  • Immediate manipulation of the debt of the protocol, not related to oracle price changes, nor related to debt fluctuations from interactions that are within the intended design
    Critical
    Impact
  • Immediate protocol Insolvency of liquidity providers
    Critical
    Impact
  • Theft of unclaimed yield that can be become claimable by the attacker immediately (i.e. swapped to external assets), or claimable after a period of time where the protocol is unable to safeguard the funds at risk via code updates
    Critical
    Impact
  • Theft of unclaimed yield that can be become claimable by the attacker within 24 hours of the attack
    High
    Impact
  • Temporary freezing of funds
    High
    Impact
  • Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)
    High
    Impact
  • Insolvency of liquidity providers and generation of bad debt, where the attack spans multiple transactions over an extended period of time
    High
    Impact
  • Governance voting result manipulation that could result a high severity classification
    High
    Impact
  • Other governance voting result manipulation
    Medium
    Impact
  • Theft of unclaimed yield that can be become claimable by the attacker
    Medium
    Impact

Websites and Applications

  • Execute arbitrary system commands
    Critical
    Impact
  • Subdomain takeover with already-connected wallet interaction
    Critical
    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
  • Injecting/modifying the static content on the target application without Javascript (Reflected) such as: reflected HTML injection, loading external site data
    High
    Impact
  • Redirecting users to malicious websites (Open Redirect)
    High
    Impact
  • Manipulation of the governance voting UI with the intent of luring votes into voting for the wrong candidate
    High
    Impact

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.

Out of Scope & Rules

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

The following vulnerabilities are excluded from the rewards for this bug bounty program:

  • Attacks that the reporter has already exploited themselves, leading to damage
  • Attacks requiring access to leaked keys/credentials
  • Attacks requiring access to privileged addresses (governance, strategist)

Smart Contracts and Web/App

  • Vulnerabilities that have been already been exploited are considered to be out of scope
  • Attacks requiring access to leaked keys/credentials
  • Attacks requiring access to privileged addresses (governance, strategist)
  • Best practice critiques
  • Sybil attacks
  • Any DDOS attack
  • Attacks that require altering the configurations of the protocol from the time the vulnerability disclosure is submitted (i.e. listing new assets / changing parameters). However, changes in configuration that are staged to be implemented and have been voted on by governance are considered to be in scope.
  • Security researchers from restricted countries, reference to the terms, are not eligible for bounties regardless of the scope of the vulnerability disclosure
  • Activities that violate the whitehat rules of engagement would result in revocation of the bounty regardless of the disclosure merit.

The following activities are prohibited by this bug bounty program:

  • Any testing with mainnet or public testnet contracts; all testing should be done on private testnets
  • 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
  • Automated testing of services that generates significant amounts of traffic
  • Public disclosure of an unpatched vulnerability in an embargoed bounty