Note: Secret scanning for organization-owned public and private repositories is currently in beta and subject to change.
About secret scanning
If someone checks a secret from a GitHub partner into a repository on GitHub Enterprise Server, secret scanning catches the secret as it's checked in, and helps you mitigate the impact of the leak. Repository administrators are notified about any commit that contains a secret, and they can quickly view all detected secrets in the Security tab for the repository. For more information, see "About secret scanning."
Prerequisites
To use secret scanning in your GitHub Enterprise Server instance you need these two prerequisites.
-
The SSSE3 (Supplemental Streaming SIMD Extensions 3) CPU flag needs to be enabled on the VM/KVM that runs your GitHub Enterprise Server instance.
-
You need an Advanced Security license.
Checking support for the SSSE3 flag on your vCPUs
The SSSE3 set of instructions is required because secret scanning leverages hardware accelerated pattern matching to find potential credentials committed to your GitHub repositories. SSSE3 is enabled for most modern CPUs. You can check whether SSSE3 is enabled for the vCPUs available to your GitHub Enterprise Server instance.
- Connect to the administrative shell for your GitHub Enterprise Server instance. For more information, see "Accessing the administrative shell (SSH)."
- Enter the following command:
grep -iE '^flags.*ssse3' /proc/cpuinfo >/dev/null | echo $?
If this returns the value 0
, it means that the SSSE3 flag is available and enabled. You can now enable secret scanning for your GitHub Enterprise Server instance. For more information, see "Enabling secret scanning" below.
If this doesn't return 0
, SSSE3 is not enabled on your VM/KVM. You need to refer to the documentation of the hardware/hypervisor on how to enable the flag, or make it available to guest VMs.
Checking whether you have an Advanced Security license
- From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
- In the left sidebar, click Management Console.
- Check if there is an Advanced Security entry in the left sidebar.
If you can't see Advanced Security in the sidebar, it means that your license doesn't include support for Advanced Security features, including code scanning and secret scanning. The Advanced Security license gives you and your users access to features that help you make your repositories and code more secure. For more information, see "About GitHub Advanced Security" or contact GitHub's Sales team.
Enabling secret scanning
Warning: Changing this setting will cause GitHub Enterprise Server to restart. You should time this change carefully, to minimize downtime.
- From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
- In the left sidebar, click Management Console.
- In the left sidebar, click Advanced Security.
- Under "Advanced Security," click Secret scanning.
- Under the left sidebar, click Save settings.
- Wait for the configuration run to complete.
Disabling secret scanning
Warning: Changing this setting will cause GitHub Enterprise Server to restart. You should time this change carefully, to minimize downtime.
- From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
- In the left sidebar, click Management Console.
- In the left sidebar, click Advanced Security.
- Under "Advanced Security", unselect Secret scanning.
- Under the left sidebar, click Save settings.
- Wait for the configuration run to complete.