27 September 2023
Live since
Yes
KYC required
$35,000
Maximum bounty
08 April 2024
Last updated

Program Overview

The TruFin Protocol builds institutional-grade DeFi primitives that can be used as the foundational building blocks for complex digital asset strategies to reduce risk while generating rewards, securely on-chain. TruFin’s first product, TruStake, is a MATIC staking vault which provides access to MATIC staking on the Ethereum network.

The TruStake vault has custom functionality that enables the allocation of rewards to designated wallet addresses, as well as auto-restaking that compounds rewards for higher APY.

TruMATIC is the liquid staking token users receive when they deposit MATIC into the TruStake vault.

This bug bounty program is focused around the TruStake smart contract and whitelist and is primarily concerned with the loss of user funds.

Rewards are allocated based on the severity of the bug disclosed. The scope, terms and rewards are at the sole discretion of the TruFin Protocol.

For more information about TruFin, please visit https://trufin.io.

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

Responsible Publication

TruFin 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

TruFin adheres to the Primacy of Impact for the following impacts:

  • Smart Contract - Critical
  • Smart Contract - High
  • Smart Contract - Medium

If an impact is covered within the Primacy of Impact, it means that even if the impacted asset is not in-scope but is owned by the project, then it would be considered as in-scope of the bug bounty program. When submitting a report, just select the Primacy of Impact asset placeholder. If the team behind this project has multiple projects, those other projects are not covered under the Primacy of Impact of this program. Instead, check if those other projects have a bug bounty program on Immunefi.

Testnet and mock files are not covered under the Primacy of Impact.

All other impacts are considered under the Primacy of Rules, which means that they are bound by the terms of the bug bounty program.

If a category’s severity level is covered within the Primacy of Impact, it means that even if the impacted asset is not in-scope but is owned by the project, then it would be considered as in-scope of the bug bounty program as long as it involves an impact under that respective severity level. When submitting a report, just select the Primacy of Impact asset placeholder. If the team behind this project has multiple projects, those other projects are not covered under the Primacy of Impact of this program. Instead, check if those other projects have a bug bounty program on Immunefi.

Testnet and mock files are not covered under the Primacy of Impact.

All other severity levels not listed here are considered under the Primacy of Rules, which means that they are bound by the terms of the bug bounty program.

Immunefi Standard Badge

TruFin 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.

Repeatable Attack Limitations

In cases of repeatable attacks for smart contract bugs, only the first attack will be counted, regardless of whether the smart contract is upgradable, pausable, or killable.

Public Disclosure of Known Issues

Bug reports covering previously discovered bugs acknowledged below are not eligible for any reward through the bug bounty program.

  • The contract assumes that there is no slashing for Polygon validators (as it is currently the case). Any issue related to slashing will not be considered.
  • The TruFin vault offers an allocation feature that enables a user to allocate rewards from the staked MATIC. The amount allocated may exceed the total value currently staked by the user, which is fine. The user will still be required to have enough MATIC or TruMATIC in their wallet at the point at which distributions are made, hence no issue related to users not having enough to cover allocation’s distributions will be considered a bug.
  • Issues related to changing the privacy status of validators will not be considered as these are managed by the contract’s owners and only subject to be used in rare conditions.

Feasibility Limitations

Bug reports that require an attack that involve one or more other protocols (e.g. utilizing 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 both a reduction in the severity level and a corresponding decrease in the payout. However, they will be considered as in-scope and categorized according to the program rules as long as all of the following are true:

  • Losses or other negative effects of the attack are inflicted upon TruFin ecosystem participants.
  • The additional protocols used must have enough liquidity in various assets to allow the attack to succeed at the time of bug report submission. For example: if an attack requires an ETH flash loan, but the amount is larger than all the ETH available for loan across the ecosystem

Proof of Concept (PoC) Requirements

A PoC is required for the following severity levels:

  • Smart Contract - Critical
  • Smart Contract - High
  • Smart Contract - Medium

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

Payouts are handled by the Trufin team directly and are denominated in USD. However, payments are done in USDC.

Smart Contract

Critical
Level
USD $35,000
Payout
PoC Required
High
Level
USD $20,000
Payout
PoC Required
Medium
Level
USD $4,000
Payout
PoC Required

Assets in scope

Documentation for the assets provided in the table can be found at https://trufin.gitbook.io/docs/.

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

  • Manipulation of governance voting result deviating from voted outcome and resulting in a direct change from intended effect of original results
    Critical
    Impact
  • Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yield
    Critical
    Impact
  • Permanent freezing of funds
    Critical
    Impact
  • Protocol insolvency
    Critical
    Impact
  • Theft of unclaimed yield
    High
    Impact
  • Theft of unclaimed royalties
    High
    Impact
  • Permanent freezing of unclaimed yield
    High
    Impact
  • Permanent freezing of unclaimed royalties
    High
    Impact
  • Temporary freezing of funds
    High
    Impact
  • Smart contract unable to operate due to lack of token funds
    Medium
    Impact
  • Block stuffing
    Medium
    Impact
  • Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)
    Medium
    Impact
  • Theft of gas
    Medium
    Impact
  • Unbounded gas consumption
    Medium
    Impact

Out of Scope & Rules

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
  • Best practice recommendations
  • Feature requests
  • Impacts on test files and configuration files unless stated otherwise in the bug bounty program

Smart Contracts

  • 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 caused by bugs found in external libraries used by the contract
  • Best practice recommendations

The following activities are prohibited by this bug bounty program:

  • 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