01 December 2023
Live since
No
KYC required
$100,000
Maximum bounty
08 April 2024
Last updated

Program Overview

Drips is an Ethereum protocol and web app that makes it easy for organizations and individuals to provide direct financial support to developers of free and open source software (FOSS).

In essence, Drips serves as an off-the-shelf solution for direct and recurring financial support, allowing organizations to effortlessly allocate ongoing ERC-20 tokens to the projects they consider essential and to link their success to the success of their dependents.

In Drips, funders provide financial support to FOSS developers by creating Drip Lists. A Drip List is a collection of Ethereum addresses, ENS names and Git repositories curated by an individual user or organization and packaged together under one title. This list is accompanied by a percentage of funds to be allocated to each item on the list. These lists are publicly available, shareable on the web and open for anyone to fund.

Drips also includes a built-in capability to allow funders to provide continuous, recurring support to FOSS projects over time, which we refer to as “streaming”. Funders who create a stream have the ability to cancel the remainder of a stream at any time and reclaim any un-streamed funds, providing them with complete control and the freedom to adapt their support based on evolving circumstances.

Finally, to enable funders to support FOSS projects that do not have Ethereum addresses at the time the funds are sent, Drips also includes an optional, oracle-based identity solution, powered by Chainlink. This feature enables users to directly send funds to the owners of public software repositories on Github, which the owner of the repository can claim at a later time by adding a FUNDING.json file to the root of the repository’s default branch.

For more information about Drips, please visit https://www.drips.network/

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

Responsible Publication

Drips adheres to category 3: Approval Required. 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

Drips adheres to the Primacy of Rules, which means that the whole bug bounty program is run strictly under the terms stated in this page.

Known Issue Assurance

Drips commits to providing Known Issue Assurance to bug submissions through their program. This means that Drips 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.

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 50 000 is to be rewarded in order to incentivize security researchers against withholding a bug report.

All other impacts that would be classified as Critical, or an impact resulting in a theft of funds that does not fall under this definition, would be rewarded 50 000.

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.

Previous Audits

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

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.

Proof of Concept (PoC) Requirements

A PoC is required for the all Smart contract and Web/App severity levels

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.

Other Terms and Information

Exceptions to the PoC requirement for smart contract bugs may be made in cases where the vulnerability is objectively evident from simply mentioning the vulnerability and where it exists. However, the bug reporter may be required to provide a PoC at any point in time.

For smart contract-related vulnerabilities, in order to be eligible for a reward, the vulnerability must exist both in the deployed smart contract on Ethereum Mainnet and the GitHub file in the Assets in Scope table.

Reward Payment Terms

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

Smart Contract

Critical
Level
USD $50,000 to USD $100,000
Payout
PoC Required
High
Level
USD $40,000
Payout
PoC Required
Medium
Level
USD $20,000
Payout
PoC Required

Assets in scope

All code of Drips can be found at https://github.com/orgs/drips-network/repositories. Documentation for the assets provided in the table can be found at https://docs.drips.network/.

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

  • 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
  • Direct theft of any user NFTs, whether at-rest or in-motion, other than unclaimed royalties
    Critical
    Impact
  • Permanent freezing of funds
    Critical
    Impact
  • Permanent freezing of NFTs
    Critical
    Impact
  • Unintended alteration of what the NFT represents (e.g. token URI, payload, artistic content)
    Critical
    Impact
  • Protocol insolvency
    Critical
    Impact
  • Temporary freezing of funds
    High
    Impact
  • Temporary freezing of NFTs
    High
    Impact
  • Smart contract unable to operate due to lack of token funds
    Medium
    Impact
  • Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)
    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
  • 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

Smart Contracts and Blockchain/DLT

  • 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
  • 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