Banner object (1)

Hack and Take the Cash !

790 bounties in database
  Back Link to program      
06/08/2019
Chainlink logo
Thanks
Gift
Hall of Fame
Reward

Reward

50 $ 

In Scope

Scope Type Scope Name
undefined https://github.com/smartcontractkit/chainlink/tree/master/evm/contracts
undefined github.com/smartcontractkit/chainlink
web_application https://chain.link/
web_application https://ropsten.chain.link/
web_application https://rinkeby.chain.link/
web_application https://kovan.chain.link/
web_application https://explorer.chain.link/
web_application https://ropsten.explorer.chain.link/
web_application https://rinkeby.explorer.chain.link/
web_application https://kovan.explorer.chain.link/

Out of Scope

Scope Type Scope Name
other Intercom is a 3rd party add-on and is not in scope.
undefined github.com/smartcontractkit/chainlink/integration
undefined github.com/smartcontractkit/chainlink/tools
undefined github.com/smartcontractkit/chainlink/sgx
undefined github.com/smartcontractkit/chainlink/evm/app
undefined github.com/smartcontractkit/chainlink/evm/contracts/dev
undefined github.com/smartcontractkit/chainlink/examples
web_application create.smartcontract.com
web_application testnet.smartcontract.com
web_application docs.chain.link

Chainlink

SmartContract looks forward to working with the security community to find vulnerabilities in order to keep our businesses and customers safe.

Response Targets

SmartContract will make a best effort to meet the following SLAs for hackers participating in our program:

Type of Response | SLA in business days
---|---
First Response | 3 day
Time to Triage | 5 days
Time to Bounty | 30 days
Time to Resolution | depends on severity and complexity

We’ll try to keep you informed about our progress throughout the process.

Information & Resources

The Chainlink node is a part of a decentralized oracle network used to feed data to smart contracts. Job Specifications __are added to the node through a REST API __so that it knows what tasks to perform. The Chainlink node utilizes a websocket connection (for pubsub) to an Ethereum client (Geth or Parity) in order to watch for new blocks containing specific event logs. Once the external data is retrieved, the Chainlink node will sign the transaction, and broadcast it through the Ethereum client (the wallet is stored on the Chainlink node, not the Ethereum client). An overview of the architecture is available here __.

Scope

Core Node: github.com/smartcontractkit/chainlink

The Chainlink __node and its smart contracts are the core focus of this program. Issues related to a loss of funds for the node operator or requester will take the highest bounty reward. There are a few areas of this code base which are out-of-scope, see the Scope section at the bottom of this page for details.

We also have a project tracker __where existing bugs are kept. Be sure to check there for issues that we already know about.

Solidity Smart Contracts: github.com/smartcontractkit/chainlink/evm

The smart contracts residing on the Github repository __are in scope and will be awarded with bonuses if a vulnerability is found through creating Chainlink requests.

LINK Testnet Faucets: ropsten.chain.link, rinkeby.chain.link, &

kovan.chain.link

The faucets provide users with the ability to receive test LINK on test networks. Since they are test networks, we are more concerned with vulnerabilities which would cause a loss of service.

Static Site: chain.link

Our front-end site which displays information about the project. Currently there is no application residing here. Intercom is a 3rd party add-on and is not in scope for this program.

Installation & Setup

We have guides available for how to get a Chainlink node running locally. See the links below for step-by-step walk-throughs. Feel free to reach out on our Gitter __for help.

Testnet Chainlink Nodes

Use our Decentralized Oracles on Testnet __documentation page for existing Chainlink nodes running on the Ethereum test networks. Vulnerabilities found with the nodes on this page are considered in scope.

HackerOne Ropsten Node

We have set up a Chainlink node specifically for the HackerOne bounty program. It is available at the link below. To test the security of this application, we will not be supplying credentials for it. Our API Reference __can be used to provide information on how to interact with the software.

https://hackerone.node.chain.link/ __

When creating Chainlinked __contracts, you may use the information below to utilize this node. You are free to modify the ChainlinkClient contract and its imported contracts as you please, in order to find vulnerabilities with the deployed Oracle contract and the node that fulfills its requests. You can obtain Ropsten LINK by visiting our Faucet __(also in-scope).

LINK token address: 0x20fE562d797A42Dcb3399062AE9546cd06f63280 __
Oracle contract address: 0x0d3A5e0bA82f245d5eaFBFFe990450f036Af30D4 __

Jobs have been added to this node which you can use to get data back to your smart contract:

  • Return Data Type: bytes32
    • JobID: 84beb6b0753f43cfa5a324cd1fd41e55
    • Required Params: get, path
  • Return Data Type: int256
    • JobID: 05a7c6a6841241eca8ba69b1fa265aaf
    • Required Params: get, path, times
  • Return Data Type: uint256
    • JobID: 4e12314d570d45b288c507f81c3eb614
    • Required Params: get, path, times

See the Request data using Chainlink __page for examples of how to create Chainlink requests from your Solidity smart contract.

Disclosure Policy

  • As this is a private program, please do not discuss this program or any vulnerabilities (even resolved ones) outside of the program without express consent from the organization.
  • Follow HackerOne's disclosure guidelines __.

Program Rules

  • Please provide detailed reports with reproducible steps. If the report is not detailed enough to reproduce the issue, the issue will not be eligible for a reward.
  • Submit one vulnerability per report, unless you need to chain vulnerabilities to provide impact.
  • When duplicates occur, we only award the first report that was received (provided that it can be fully reproduced).
  • Multiple vulnerabilities caused by one underlying issue will be awarded one bounty.
  • Social engineering (e.g. phishing, vishing, smishing) is prohibited.
  • Make a good faith effort to avoid privacy violations, destruction of data, and interruption or degradation of our service. Only interact with accounts you own or with explicit permission of the account holder.

Out of scope vulnerabilities

When reporting vulnerabilities, please consider (1) attack scenario / exploitability, and (2) security impact of the bug. The following issues are considered out of scope:

  • create.smartcontract.com and testnet.smartcontract.com
  • Intercom add-on on any asset (the in-browser chat application)
  • SGX-related issues or vulnerabilities
  • Issues/bugs/vulnerabilities specific to the given Ethereum client (Geth or Parity)
  • OS-related vulnerabilities
  • Clickjacking on pages with no sensitive actions.
  • Unauthenticated/logout/login CSRF.
  • Attacks requiring MITM or physical access to a user's device.
  • Previously known vulnerable libraries without a working Proof of Concept.
  • Comma Separated Values (CSV) injection without demonstrating a vulnerability.
  • Missing best practices in SSL/TLS configuration.
  • Any activity that could lead to the disruption of our service (DoS; please set up POCs on a private chain).
  • Content spoofing and text injection issues without showing an attack vector/without being able to modify HTML/CSS

Safe Harbor

Any activities conducted in a manner consistent with this policy will be considered authorized conduct and we will not initiate legal action against you. If legal action is initiated by a third party against you in connection with activities conducted under this policy, we will take steps to make it known that your actions were conducted in compliance with this policy.

Thank you for helping keep Chainlink and our users safe!

FireBounty © 2015-2019

Legal notices