Software security researchers are increasingly engaging with internet companies to hunt down vulnerabilities. Our bounty program gives a tip of the hat to these researchers and provides rewards of $30,000 or more for critical vulnerabilities.
You can find more information in our rules, scope, targets, and FAQ sections. You can also check the current rankings on the leaderboard.
Happy hacking!
Check the list of domains that are in scope for the Bug Bounty program and the list of targets for useful information for getting started.
Check the list of bugs that have been classified as ineligible. Submissions which are ineligible will likely be closed as Not Applicable
.
Check the GitHub Changelog for recently launched features.
Never attempt non-technical attacks such as social engineering, phishing, or physical attacks against our employees, users, or infrastructure.
When in doubt, contact us at bounty@github.com
.
By participating in GitHub's Bug Bounty program (the "Program"), you acknowledge that you have read and agree to GitHub's Terms of Service as well as the following:
you are not currently a GitHub employee or contractor, were not a GitHub employee or contractor within six months prior to submission, and you did not collaborate on your submission with anyone who was.
your participation in the Program will not violate any law applicable to you, or disrupt or compromise any data that is not your own.
you are solely responsible for any applicable taxes, withholding or otherwise, arising from or relating to your participation in the Program, including from any bounty payments.
GitHub reserves the right to terminate or discontinue the Program at its discretion.
Only test for vulnerabilities on sites you know to be operated by GitHub and are in-scope. Some sites hosted on subdomains of GitHub.com
are operated by third parties and should not be tested.
We cannot reward any individual on any U.S. sanctions list, or any individual residing in any U.S.-sanctioned country or region. For more information, please see https://www.hackerone.com/disclosure-guidelines.
Your research is covered by the GitHub Bug Bounty Program Legal Safe Harbor policy. In summary:
We consider security research and vulnerability disclosure activities conducted consistent with this policy as “authorized” conduct under the Computer Fraud and Abuse Act, the DMCA, and other applicable computer use laws such as Cal. Penal Code 502(c). We waive any potential DMCA claim against you for circumventing the technological measures we have used to protect the applications in this bug bounty program's scope.
We want you to coordinate disclosure through our bug bounty program, and don't want researchers put in fear of legal consequences because of their good faith attempts to comply with our bug bounty policy. We cannot bind any third party, so do not assume this protection extends to any third party. If in doubt, ask us before engaging in any specific action you think might go outside the bounds of our policy.
Because both identifying and non-identifying information can put a researcher at risk, we limit what we share with third parties. We may provide non-identifying substantive information from your report to an affected third party, but only after notifying you and receiving a commitment that the third party will not pursue legal action against you. We will only share identifying information (name, email address, phone number, etc.) with a third party if you give your written permission.
If your security research as part of the bug bounty program violates certain restrictions in our site policies, the safe harbor terms permit a limited exemption.
Do not impact other users with your testing, this includes testing vulnerabilities in repositories or organizations you do not own. If you are attempting to find an authorization bypass, you must use accounts you own.
The following are never allowed and are ineligible for reward. We may suspend your GitHub account and ban your IP address for:
Performing distributed denial of service (DDoS) or other volumetric attacks
Large-scale vulnerability scanners, scrapers, or automated tools which produce excessive amounts of traffic.
nmap
scan against one host is allowed, but sending 65,000 requests in two minutes using Burp Suite Intruder is excessive.Researching denial-of-service attacks is allowed and eligible for rewards only if you follow these rules:
There are no limits for researching denial of service vulnerabilities against your own instance of GitHub Enterprise Server. We strongly recommend/prefer this method for researching denial of service issues.
https://github.com
)information about race, ethnicity, sexual orientation, gender, or other identifying information that could be used for discriminatory purposes
Do not intentionally access others' PII. If you suspect a service provides access to PII, limit queries to your own personal information.
Report the vulnerability immediately and do not attempt to access any other data. The GitHub Security team will assess the scope and impact of the PII exposure.
Limit the amount of data returned from services. For SQL injection, for example, limit the number of rows returned
You must delete all your local, stored, or cached copies of data containing PII as soon as possible. We may ask you to sign a certificate of deletion and confidentiality agreement regarding the exact information you accessed. This agreement will not affect your bounty reward.
We may ask you for the usernames and IP addresses used during your testing to assess the impact of the vulnerability
Submissions must include written instructions for reproducing the vulnerability. Submissions without clear reproduction steps or which only include reproduction steps in video form may be ineligible for a reward.
When reporting vulnerabilities you must keep all information on HackerOne. Do not post information to video-sharing or pastebin sites. Videos and images can be uploaded directly via HackerOne.
For vulnerabilities involving personally identifiable information, please explain the kind of PII you believe is exposed and limit the amount of PII data included in your submissions. For textual information and screenshots, please only include redacted data in your submission.
During the course of an investigation, it may take time to resolve the issue you have reported. We ask that you refrain from publicly disclosing details regarding an issue you’ve reported until the fix has been publicly made available.
All reward amounts are determined by our severity guidelines.
When duplicates occur, we only award the first report that was received (provided that it can be fully reproduced).
You are free to publish write-ups about your vulnerability and GitHub will not limit what you write. We may pay out your reward before the vulnerability is patched so we may ask that you delay publishing to keep other GitHub users safe.
Medium, high, and critical severity issues may be written up on the GitHub Bug Bounty site and included in our leaderboard. We do not currently post write-ups for low severity vulnerabilities.
GitHub is a CVE Numbering Authority (CNA) for GitHub Enterprise Server. Eligible Bug Bounty submissions that affect GitHub Enterprise Server may be assigned CVEs. These CVEs will be shared with submitters via HackerOne, included in bounty write-ups and listed in the GitHub Enterprise Server release notes.
If you would prefer to donate your bounty reward to an established 501(c)(3) charitable organization, GitHub will match your donation. If the bounty has already been processed into your account, it can no longer be donated through HackerOne and is no longer eligible for matching donations. To reduce the likelihood of a bounty being processed before it can be donated, we recommend changing your payment preferences to monthly in your account settings. To donate your reward and have it matched, submit a support ticket to HackerOne with the following information:
GitHub runs a number of services but only submissions under the following domains are eligible for rewards. Any GitHub-owned domains not listed below are not in scope, not eligible for rewards, and not covered by our legal safe harbor.
This is our main domain for hosting user-facing GitHub services.. All subdomains under github.com
are in-scope except:
blog.github.com
community.github.com
email.enterprise.github.com
email.finance.github.com
email.staging.finance.github.com
email.support.github.com
email.verify.github.com
google7650dcf6146f04d8.github.com
k1._domainkey.github.com
k1._domainkey.mcmail.github.com
mcmail.github.com
resources.github.com
*.resources.github.com
sgmail.github.com
*.sgmail.github.com
shop.github.com
smtp.github.com
*.smtp.github.com
This is our domain for hosting static assets.. All subdomains under githubassets.com
are in-scope
This is our domain for hosting and rendering users' data.. All subdomains under githubusercontent.com
are in-scope
This is our domain for hosting employee-facing services.. All subdomains under githubapp.com
are in-scope except:
atom-io.githubapp.com
atom-io-staging.githubapp.com
email.enterprise-staging.githubapp.com
email.haystack.githubapp.com
reply.githubapp.com
This is our domain for receiving webhooks for employee-facing services.. All subdomains under githubwebhooks.net
are in-scope
This is our domain for hosting GitHub's internal production services. Many of these services are not accessible from outside our internal network.. All subdomains under github.net
are in-scope
This is our main domain for Semmle and LGTM services.. All subdomains under semmle.com
are in-scope except:
dev.semmle.com
git.semmle.com
jira.semmle.com
wiki.semmle.com
This is our domain for non-production Semmle services.. All subdomains under semmle.net
are in-scope
This is our domain for serving LGTM downloads.. All subdomains under downloads.lgtm.com
are in-scope
This is an instance of LGTM especially for Bug Bounty research.. All subdomains under lgtm-com.pentesting.semmle.net
are in-scope
This is an instance of LGTM's backend used for triggering automated tasks.. All subdomains under backend-dot-lgtm-penetration-testing.appspot.com
are in-scope
This is the domain for npm's public-facing websites.. All subdomains under npmjs.com
are in-scope
This is the domain for npm's registry, public-facing databases, and APIs.. All subdomains under npmjs.org
are in-scope
All bounty submissions are rated by GitHub using a purposefully simple scale. Each vulnerability is unique, but the following is a rough guideline we use internally for rating and rewarding submissions:
Critical severity issues present a direct and immediate risk to a broad array of our users or to a GitHub product itself. They often affect relatively low-level/foundational components in one of our application stacks or infrastructure. For example:
arbitrary code/command execution on a server in our production network
arbitrary SQL queries on a production database
bypassing the login process, either password or 2FA
access to sensitive production user data or access to internal production systems
accessing another user's data in the GitHub Actions service
The upper bound for critical vulnerabilities, $30,000, is only a guideline, and GitHub may reward higher amounts for exceptional reports.
High severity issues allow an attacker to read or modify highly sensitive data that they are not authorized to access. They are generally more narrow in scope than critical issues, though they may still grant an attacker extensive access. For example:
injecting attacker controlled content into GitHub.com (XSS) that bypasses CSP
bypassing authorization logic to grant a repository or package collaborator more access than intended
discovering sensitive user or GitHub data in a publicly exposed resource, such as an S3 bucket
overwriting a customer repository or package that should be inaccessible
gaining access to a non-critical resource that only employees should be able to reach
using the GitHub Actions repo-scoped GitHub token to access high-risk private content outside of that repository
sending authentication credentials from a client app to an unintended server
code execution in a client app that requires no user interaction, such as arbitrary code execution upon repo clone, package install with the --ignore-scripts
flag, or via a protocol handler
Medium severity issues allow an attacker to read or modify limited amounts of data that they are not authorized to access. They generally grant access to less sensitive information than high severity issues. For example:
disclosing the title of issues in private repositories, which should be be inaccessible
injecting attacker controlled content into GitHub.com (XSS) but not bypassing CSP or executing sensitive actions with another user's session
bypassing CSRF validation for low risk actions, such as starring a repository or unsubscribing from a mailing list
escaping the LGTM worker sandbox to access other users' data or private networked resources
code execution in a client app that requires minimal, expected user interaction, such as performing actions on a repository or with a package that a user would not expect to lead to code execution
package integrity compromise, i.e., downloading a package that does not match the integrity as defined in package-lock.json
Low severity issues allow an attacker to access extremely limited amounts of data. They may violate an expectation for how something is intended to work but allow nearly no escalation of privilege or ability to trigger unintended behavior by an attacker. For example:
signing up arbitrary users for access to an "early access feature" without their consent
creating an issue comment that bypasses our image proxying filter by providing a malformed URL
triggering verbose or debug error pages without proof of exploitability or obtaining sensitive information
triggering application exceptions that could affect many users
triggering XSS or CSRF vulnerabilities in LGTM
injecting JavaScript event handlers into links, etc., that are mitigated by CSP on GitHub.com
disclosing the existence of private packages on npm that should be inaccessible, e.g., through error messages (but not through timing attacks, which are ineligible)
novel supply chain vulnerabilities that affect a GitHub product but are not solely limited to that product
credentials such as those from the .npmrc
file or from GitHub Enterprise Server being leaked in logs
Scope Type | Scope Name |
---|---|
application | GitHub Desktop |
application | GitHub CLI |
application | npm CLI |
hardware | GitHub Enterprise Server |
other | GitHub Enterprise Cloud |
other | GitHub Pages |
other | GitHub Production Credentials |
other | Dependabot |
other | LGTM |
other | GitHub for mobile |
other | GitHub CSP |
web_application | *.github.net |
web_application | classroom.github.com |
web_application | gist.github.com |
web_application | api.github.com |
web_application | jobs.github.com |
web_application | lab.github.com |
web_application | education.github.com |
web_application | *.githubapp.com |
web_application | GitHub.com |
web_application | semmle.net |
web_application | semmle.com |
web_application | *.githubusercontent.com |
web_application | npmjs.com |
web_application | npmjs.org |
Scope Type | Scope Name |
---|---|
application | Atom |
application | Electron |
application | GitHub Classroom Assistant |
web_application | enterprise.github.com |
web_application | git.io |
web_application | *.github.io |
web_application | shop.github.com |
web_application | community.github.com |
web_application | blog.github.com |
web_application | education.github.com/forum |
web_application | github.blog |
web_application | spectrum.chat |
This program leverage 37 scopes, in 4 scopes categories.
FireBounty © 2015-2024