About GitHub's security features
GitHub has security features that help keep code and secrets secure in repositories and across organizations. Some features are available for repositories on all plans. Additional features are available to enterprises that use GitHub Advanced Security. GitHub Advanced Security features are also enabled for all public repositories on GitHub. For more information, see "About GitHub Advanced Security."
The GitHub Advisory Database contains a curated list of security vulnerabilities that you can view, search, and filter. For more information, see "Browsing security advisories in the GitHub Advisory Database."
Available for all repositories
Security policy
Make it easy for your users to confidentially report security vulnerabilities they've found in your repository. For more information, see "Adding a security policy to your repository."
Dependabot alerts and security updates
View alerts about dependencies that are known to contain security vulnerabilities, and choose whether to have pull requests generated automatically to update these dependencies. For more information, see "About Dependabot alerts" and "About Dependabot security updates."
You can use default Dependabot auto-triage rules curated by GitHub to automatically filter out a substantial amount of false positives. The Dismiss low impact issues for development-scoped dependencies
is a GitHub preset rule. This rule auto-dismisses certain types of vulnerabilities that are found in npm dependencies used in development. The rule has been curated to reduce false positives and reduce alert fatigue. You cannot modify GitHub presets. For more information about GitHub presets, see "Using GitHub preset rules to prioritize Dependabot alerts."
For an overview of the different features offered by Dependabot and instructions on how to get started, see "Dependabot quickstart guide."
Dependabot version updates
Use Dependabot to automatically raise pull requests to keep your dependencies up-to-date. This helps reduce your exposure to older versions of dependencies. Using newer versions makes it easier to apply patches if security vulnerabilities are discovered, and also makes it easier for Dependabot security updates to successfully raise pull requests to upgrade vulnerable dependencies. You can also customize Dependabot version updates to streamline their integration into your repositories. For more information, see "About Dependabot version updates."
Dependency graph
The dependency graph allows you to explore the ecosystems and packages that your repository depends on and the repositories and packages that depend on your repository.
You can find the dependency graph on the Insights tab for your repository. For more information, see "About the dependency graph."
If you have at least read access to the repository, you can export the dependency graph for the repository as an SPDX-compatible, Software Bill of Materials (SBOM), via the GitHub UI or GitHub REST API. For more information, see "Exporting a software bill of materials for your repository."
Security overview
Security overview allows you to review the overall security landscape of your organization, view trends and other insights, and manage security configurations, making it easy to monitor your organization's security status and identify the repositories and organizations at greatest risk. For more information, see "About security overview."
Available for free public repositories
Security advisories
Privately discuss and fix security vulnerabilities in your repository's code. You can then publish a security advisory to alert your community to the vulnerability and encourage community members to upgrade. For more information, see "About repository security advisories."
Secret scanning alerts for users
Automatically detect tokens or credentials that have been checked into a user-owned public repository. You can view alerts for any secrets that GitHub finds in your code, in the Security tab of the repository, so that you know which tokens or credentials to treat as compromised. For more information, see "About secret scanning alerts."
Push protection for users
Push protection for users automatically protects you from accidentally committing secrets to public repositories, regardless of whether the repository itself has secret scanning enabled. Push protection for users is on by default, but you can disable the feature at any time through your personal account settings. For more information, see "Push protection for users."
Secret scanning alerts for partners
Automatically detect leaked secrets across all public repositories, as well as public npm packages. GitHub informs the relevant service provider that the secret may be compromised. For details of the supported secrets and service providers, see "Supported secret scanning patterns."
Available with GitHub Advanced Security
Many GitHub Advanced Security features are available and free of charge for public repositories on GitHub. Organizations within an enterprise that have a GitHub Advanced Security license can use the following features on all their repositories. For more information, see "About GitHub Advanced Security."
With a GitHub Copilot Enterprise license, you can also ask GitHub Copilot Chat for help to better understand security alerts in repositories in your organization from GitHub Advanced Security features (code scanning, secret scanning, and Dependabot alerts). For more information, see "Asking GitHub Copilot questions in GitHub."
For information about how you can try GitHub Advanced Security for free, see "Setting up a trial of GitHub Advanced Security."
Code scanning
Automatically detect security vulnerabilities and coding errors in new or modified code. Potential problems are highlighted, with detailed information, allowing you to fix the code before it's merged into your default branch. For more information, see "About code scanning."
Secret scanning alerts for users
Automatically detect tokens or credentials that have been checked into a repository. You can view alerts for any secrets that GitHub finds in your code, in the Security tab of the repository, so that you know which tokens or credentials to treat as compromised. For more information, see "About secret scanning alerts."
Custom auto-triage rules
Help you manage your Dependabot alerts at scale. With custom auto-triage rules you have control over the alerts you want to ignore, snooze, or trigger a Dependabot security update for. For more information, see "About Dependabot alerts" and "Customizing auto-triage rules to prioritize Dependabot alerts."
Dependency review
Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "About dependency review."