{"meta":{"title":"GitHub security features","intro":"An overview of GitHub's security features.","product":"Security and code quality","breadcrumbs":[{"href":"/en/enterprise-cloud@latest/code-security","title":"Security and code quality"},{"href":"/en/enterprise-cloud@latest/code-security/getting-started","title":"Getting started"},{"href":"/en/enterprise-cloud@latest/code-security/getting-started/github-security-features","title":"GitHub security features"}],"documentType":"article"},"body":"# GitHub security features\n\nAn overview of GitHub's security features.\n\n## About GitHub's security features\n\nGitHub's security features help keep your code and secrets secure in repositories and across organizations.\n\n* Some features are available for all GitHub plans.\n* Additional features are available to organizations and enterprises on GitHub Team and GitHub Enterprise Cloud that purchase a GitHub Advanced Security product:\n  * [GitHub Secret Protection](#available-with-github-secret-protection)\n  * [GitHub Code Security](#available-with-github-code-security)\n* In addition, a number of GitHub Secret Protection and GitHub Code Security features can be run on public repositories for free.\n\n## Available for all GitHub plans\n\nThe following security features are available for you to use, regardless of the GitHub plan you are on. You don't need to purchase GitHub Secret Protection or GitHub Code Security to use these features.\n\nMost of these features are available for public, internal, and private repositories.\nSome features are *only* available for public repositories.\n\n### Security policy\n\nMake 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](/en/enterprise-cloud@latest/code-security/getting-started/adding-a-security-policy-to-your-repository).\n\n### Dependency graph\n\nThe 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.\n\nYou can find the dependency graph on the **Insights** tab for your repository. For more information, see [About the dependency graph](/en/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph).\n\n### Software Bill of Materials (SBOM)\n\nYou can export the dependency graph of your repository as an SPDX-compatible, Software Bill of Materials (SBOM). For more information, see [Exporting a software bill of materials for your repository](/en/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/exporting-a-software-bill-of-materials-for-your-repository).\n\n### GitHub Advisory Database\n\nThe 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](/en/enterprise-cloud@latest/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database).\n\n### Dependabot alerts and security updates\n\nView 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](/en/enterprise-cloud@latest/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)\nand [About Dependabot security updates](/en/enterprise-cloud@latest/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates).\n\nYou can also use default Dependabot auto-triage rules curated by GitHub to automatically filter out a substantial amount of false positives.\n\nFor an overview of the different features offered by Dependabot and instructions on how to get started, see [Dependabot quickstart guide](/en/enterprise-cloud@latest/code-security/getting-started/dependabot-quickstart-guide).\n\n#### Dependabot malware alerts\n\nOn GitHub.com and GitHub Enterprise Server 3.22+, you can view alerts for malicious dependencies in your repository. See [Dependabot malware alerts](/en/enterprise-cloud@latest/code-security/concepts/supply-chain-security/dependabot-malware-alerts).\n\n### Dependabot version updates\n\nUse 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](/en/enterprise-cloud@latest/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates).\n\n### Security advisories\n\nPrivately discuss and fix security vulnerabilities in your public 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](/en/enterprise-cloud@latest/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories).\n\n### Repository rulesets\n\nEnforce consistent code standards, security, and compliance across branches and tags. For more information, see [About rulesets](/en/enterprise-cloud@latest/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets).\n\n### Artifact attestations\n\nCreate unfalsifiable provenance and integrity guarantees for the software you build. For more information, see [Using artifact attestations to establish provenance for builds](/en/enterprise-cloud@latest/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds).\n\n### Secret scanning alerts for partners\n\nWhen GitHub detects a leaked secret in a public repository, or a 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](/en/enterprise-cloud@latest/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).\n\n### Push protection for users\n\nPush 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 [Managing push protection for users](/en/enterprise-cloud@latest/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/push-protection-for-users).\n\n## Available with GitHub Secret Protection\n\nFor accounts on GitHub Team and GitHub Enterprise Cloud, you can access additional security features when you purchase **GitHub Secret Protection**.\n\nGitHub Secret Protection includes features that help you detect and prevent credential leaks and secret sprawl, such as secret scanning for detecting hardcoded credentials and push protection for blocking them before they reach your repository.\n\nThese features are available for all repository types. Some of these features are available for public repositories free of charge, meaning that you don't need to purchase GitHub Secret Protection to enable the feature on a public repository.\n\n<!--Hiding information on setting up a trial for now, as there is no available link for fpt yet. Needs versioning for fpt, ghec and ghes.\nFor information about how you can try GitHub Secret Protection for free, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security).\n-->\n\n### Secret scanning alerts for users\n\nAutomatically detect hardcoded credentials that have been checked into a repository. You can view alerts for any secrets that GitHub finds in your code, in the **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality** tab of your repository, so you can respond to credential leaks quickly. For more information, see [About secret scanning](/en/enterprise-cloud@latest/code-security/secret-scanning/introduction/about-secret-scanning).\n\nAvailable for public repositories by default.\n\n### Copilot secret scanning\n\nCopilot secret scanning's generic secret detection is an AI-powered expansion of secret scanning that identifies unstructured secrets (passwords) in your source code and then generates an alert. For more information, see [Responsible detection of generic secrets with Copilot secret scanning](/en/enterprise-cloud@latest/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-generic-secrets).\n\n### Push protection\n\nPush protection proactively scans your code, and any repository contributors' code, for hardcoded secrets during the push process and blocks the push if any credential leaks are detected. If a contributor bypasses the block, an alert is generated. For more information, see [About push protection](/en/enterprise-cloud@latest/code-security/secret-scanning/introduction/about-push-protection).\n\nAvailable for public repositories by default.\n\n### Delegated bypass for push protection\n\nDelegated bypass for push protection lets you control which individuals, roles, and teams:\n\n* Can bypass push protection\n* Are exempt from push protection\n* Can review bypass requests from other contributors\n\nFor more information, see [About delegated bypass for push protection](/en/enterprise-cloud@latest/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/about-delegated-bypass-for-push-protection).\n\n### Custom patterns\n\nYou can define custom patterns to identify secrets that are not detected by the default patterns supported by secret scanning, such as patterns that are internal to your organization. For more information, see [Defining custom patterns for secret scanning](/en/enterprise-cloud@latest/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning).\n\n<!--Hiding security overview for earlier GHES versions, so it isn't duplicated below-->\n\n### Security overview\n\nSecurity 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](/en/enterprise-cloud@latest/code-security/security-overview/about-security-overview).\n\n## Available with GitHub Code Security\n\nFor accounts on GitHub Team and GitHub Enterprise Cloud, you can access additional security features when you purchase **GitHub Code Security**.\n\nGitHub Code Security includes features that help you find and fix vulnerabilities, like code scanning, premium Dependabot features, and dependency review.\n\nThese features are available for all repository types. Some of these features are available for public repositories free of charge, meaning that you don't need to purchase GitHub Code Security to enable the feature on a public repository.\n\n<!--Hiding information on setting up a trial for now, as there is no available link for fpt yet. Needs versioning for fpt, ghec & ghes.\n\nFor information about how you can try GitHub Code Security for free, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security).\n\n-->\n\n### Code scanning\n\nAutomatically 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](/en/enterprise-cloud@latest/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning).\n\nAvailable for public repositories by default.\n\n### CodeQL CLI\n\nRun CodeQL processes locally on software projects or to generate code scanning results for upload to GitHub. For more information, see [About the CodeQL CLI](/en/enterprise-cloud@latest/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli).\n\nAvailable for public repositories by default.\n\n### Copilot Autofix\n\nGet automatically generated fixes for code scanning alerts. For more information, see [Responsible use of Copilot Autofix for code scanning](/en/enterprise-cloud@latest/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).\n\nAvailable for public repositories by default.\n\n### Custom auto-triage rules for Dependabot\n\nHelp 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](/en/enterprise-cloud@latest/code-security/dependabot/dependabot-alerts/about-dependabot-alerts) and [Customizing auto-triage rules to prioritize Dependabot alerts](/en/enterprise-cloud@latest/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts).\n\n### Dependency review\n\nShow 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](/en/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).\n\nAvailable for public repositories by default.\n\n### Security campaigns\n\nFix security alerts at scale by creating security campaigns and collaborating with developers to reduce your security backlog. For more information, see [About security campaigns](/en/enterprise-cloud@latest/code-security/securing-your-organization/fixing-security-alerts-at-scale/about-security-campaigns).\n\n### Security overview\n\nSecurity 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](/en/enterprise-cloud@latest/code-security/security-overview/about-security-overview).\n\n## Leveraging GitHub Copilot Chat to understand security alerts\n\nWith 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](/en/enterprise-cloud@latest/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).\n\n## Further reading\n\n* [GitHub's plans](/en/enterprise-cloud@latest/get-started/learning-about-github/githubs-plans)\n* [About GitHub Advanced Security](/en/enterprise-cloud@latest/get-started/learning-about-github/about-github-advanced-security)\n* [GitHub language support](/en/enterprise-cloud@latest/get-started/learning-about-github/github-language-support)"}