-
This Vulnerability Response Process and subsequent bounty reward apply to the following:
- Code implementation as seen in the Mixin Network Project GitHub repositories
- This includes code in all branches; including the master branch and any release branch
- Code implementation as seen in the Mixin Network Project GitHub repositories
-
Researchers/Hackers: while you research/hack, we ask that you please refrain from committing the following:
- Denial of Service / Active exploiting against the Mixin networks
- Social Engineering of Mixin Network Project staff or contractors
- Any physical or electronic attempts against Mixin Network community property and/or data centers
-
Bounty will be released for all projects in XIN token only. For more information on how to use Mixin, visit the Mixin website
-
Bounty is not eligible to those who:
- do not abide by the VRP for responsible disclosure
- do not allow the completion of VRP points I through IV
- Attacks which require more than f+1 nodes of the network to execute are out of policy scope
cedric [at] mixin.one, lilin [at] mixin.one
-
Researcher submits report via one or both of two methods:
-
Response Manager makes inquiries to satisfy any needed information to confirm if submission is indeed a vulnerability
- a. If submission proves to be vulnerable with PoC code / exploit, proceed to next step
- b. If not vulnerable:
- i. Response Manager responds with reasons why submission is not a vulnerability
- ii. Response Manager moves discussion to a new or existing ticket on GitHub if necessary
-
If over email, Response Manager opens a HackerOne issue for new submission
-
Define severity:
- a. Establish severity of vulnerability:
- i. HIGH: impacts network as a whole, has potential to break entire Mixin network, results in the loss of crypto assets, or is on a scale of great catastrophe
- ii. MEDIUM: impacts individual nodes or must be carefully exploited
- iii. LOW: is not easily exploitable or is low impact
- b. If there are any disputes regarding bug severity, the Mixin Network Response team will ultimately define bug severity
- c. Since a systematic DoS hunt has not been completed on any code, DoS's which do not crash a node remotely will receive a lower bounty reward
- a. Establish severity of vulnerability:
-
Respond according to the severity of the vulnerability:
- a. HIGH severities will be notified via at least one public communications platform (mailing list, reddit, website, or other) within 3 working days of patch release
- i. The notification should list appropriate steps for users to take, if any
- ii. The notification must not include any details that could suggest an exploitation path
- iii. The latter takes precedence over the former
- b. MEDIUM and HIGH severities will require a Point Release
- c. LOW severities will be addressed in the next Regular Release
- a. HIGH severities will be notified via at least one public communications platform (mailing list, reddit, website, or other) within 3 working days of patch release
-
Response Team applies appropriate patch(es)
- a. Response Manager designates a PRIVATE git "hotfix branch" to work in
- b. Patches are reviewed with the researcher
- c. Any messages associated with PUBLIC commits during the time of review should not make reference to the security nature of the PRIVATE branch or its commits
- d. Vulnerability announcement is drafted
- i. Include the severity of the vulnerability
- ii. Include all vulnerable systems/apps/code
- iii. Include solutions (if any) if patch cannot be applied
- e. Release date is discussed
-
At release date, Response Team coordinates with developers to finalize update:
- a. Response Manager propagates the "hotfix branch" to trunk
- b. Response Manager includes vulnerability announcement draft in release notes
- c. Proceed with the Point or Regular Release
-
Response Team has 90 days to fulfill all points within section II
-
If the Incident Response process in section II is successfully completed:
- a. Researcher decides whether or not to opt out of receiving name/handle/organization credit. By default, the researcher will receive name/handle/organization credit.
- i. If bounty is applicable, release bounty to the researcher as defined in section "Bounty Distribution"
- b. Finalize vulnerability announcement draft and include the following:
- i. Project name and URL
- ii. Versions known to be affected
- iii. Versions known to be not affected (for example, the vulnerable code was introduced in a recent version, and older versions are therefore unaffected)
- iv. Versions not checked
- v. Type of vulnerability and its impact
- vi. If already obtained or applicable, a CVE-ID
- vii. The planned, coordinated release date
- viii. Mitigating factors (for example, the vulnerability is only exposed in uncommon, non-default configurations)
- ix. Workarounds (configuration changes users can make to reduce their exposure to the vulnerability)
- x. If applicable, credits to the original reporter
- c. Release finalized vulnerability announcement on public communications platform (mailing list, reddit, website, or other)
- d. For HIGH severities, release finalized vulnerability announcement on well-known mailing lists:
- e. If applicable, developers request a CVE-ID
- i. The commit that applied the fix is made reference too in a future commit and includes a CVE-ID
- a. Researcher decides whether or not to opt out of receiving name/handle/organization credit. By default, the researcher will receive name/handle/organization credit.
-
If the Incident Response process in section II is not successfully completed:
- a. Response Team and developers organize an IRC meeting to discuss why/what points in section II were not resolved and how the team can resolve them in the future
- b. Any developer meetings immediately following the incident should include points made in section IV
- c. If disputes arise about whether or when to disclose information about a vulnerability, the Response Team will publicly discuss the issue via IRC and attempt to reach consensus
- d. If consensus on a timely disclosure is not met (no later than 90 days), the researcher (after 90 days) has every right to expose the vulnerability to the public
- xin token for vulnerability-related bounties are solely contributed by mixin development team.
- As reports come in and payouts are made, the total bounty supply shrinks. This gives incentive for bug hunters to report bugs a.s.a.p.
- The following XIN token apply to available bounty (severity is defined above in section II. 4.):
- 1 for LOW severity bugs
- 10 for MEDIUM severity bugs
- 25 for HIGH severity bugs
-
Isolate codebase
- a. Response Team and developers should coordinate to work on the following:
- i. Problematic implementation of classes/libraries/functions, etc.
- ii. Focus on apps/distro packaging, etc.
- iii. Operator/config error, etc.
- a. Response Team and developers should coordinate to work on the following:
-
Auditing
- a. Response Team and developers should coordinate to work on the following:
- i. Auditing of problem area(s) as discussed in point 1
- ii. Generate internal reports and store for future reference
- iii. If results are not sensitive, share with the public via IRC or GitHub
- a. Response Team and developers should coordinate to work on the following:
-
Response Team has 45 days following completion of section III to ensure completion of section V
Any further questions or resolutions regarding the incident(s) between the researcher and response + development team after public disclosure can be addressed via the following:
-
Response Team and developers should hold annual meetings to review the previous year's incidents
-
Response Team or designated person(s) should give a brief presentation, including:
- a. Areas of Mixin Network affected by the incidents
- b. Any network downtime or monetary cost (if any) of the incidents
- c. Ways in which the incidents could have been avoided (if any)
- d. How effective this process was in dealing with the incidents
-
After the presentation, Response Team and developers should discuss:
- a. Potential changes to development processes to reduce future incidents
- b. Potential changes to this process to improve future responses