Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

비밀 검사 정보

GitHub에서는 실수로 커밋된 비밀이 사기에 사용되는 것을 방지하기 위해 리포지토리에 알려진 유형의 비밀이 있는지 검사합니다.

파트너에 대한 비밀 검사 경고는 퍼블릭 리포지토리 및 퍼블릭 npm 패키지에서 자동으로 실행되어 GitHub.com에서 유출된 비밀에 대해 서비스 공급자에게 알립니다.

사용자에 대한 비밀 검사 경고은(는) 모든 퍼블릭 리포지토리에서 무료로 사용할 수 있습니다. GitHub Advanced Security에 대한 라이선스가 있는 GitHub Enterprise Cloud를 사용하는 조직은 프라이빗 및 내부 리포지토리에서 사용자에 대한 비밀 검사 경고를 사용하도록 설정할 수도 있습니다. 자세한 내용은 "비밀 검사 정보" 및 "GitHub Advanced Security 정보"을 참조하세요.

About secret scanning

If your project communicates with an external service, you might use a token or private key for authentication. Tokens and private keys are examples of secrets that a service provider can issue. If you check a secret into a repository, anyone who has read access to the repository can use the secret to access the external service with your privileges. We recommend that you store secrets in a dedicated, secure location outside of the repository for your project.

Secret scanning will scan your entire Git history on all branches present in your GitHub repository for secrets.

Secret scanning is available on GitHub.com in two forms:

  1. Secret scanning alerts for partners. Runs automatically on all public repositories and public npm packages. Any strings that match patterns that were provided by secret scanning partners are reported directly to the relevant partner. For more information, see the "About secret scanning alerts for partners" section below.

  2. Secret scanning alerts for users. The following users can enable and configure additional scanning:

    • Owners of repositories on GitHub.com, on any public repositories they own.
    • Organizations owning public repositories, on any of these repositories.
    • Organizations using GitHub Enterprise Cloud, on any public repositories (for free), and on any private and internal repositories, when you have a license for GitHub Advanced Security.

    Any strings that match patterns provided by secret scanning partners, by other service providers, or defined by you or your organization, are reported as alerts in the Security tab of repositories. If a string in a public repository matches a partner pattern, it is also reported to the partner. For more information, see the "About secret scanning alerts for users" section below.

You can audit the actions taken in response to secret scanning alerts using GitHub tools. For more information, see "Auditing security alerts."

Service providers can partner with GitHub to provide their secret formats for scanning. To find out about our partner program, see "Secret scanning partner program."

You can also enable secret scanning as a push protection for a repository or an organization. When you enable this feature, secret scanning prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. Admins can also specify a custom link that is displayed to the contributor when a push is blocked; the link can contain resources specific to the organization to aid contributors. For more information, see "Protecting pushes with secret scanning."

About secret scanning alerts for partners

When you make a repository public, or push changes to a public repository, GitHub always scans the code for secrets that match partner patterns. Public packages on the npm registry are also scanned. If secret scanning detects a potential secret, we notify the service provider who issued the secret. The service provider validates the string and then decides whether they should revoke the secret, issue a new secret, or contact you directly. Their action will depend on the associated risks to you or them. For more information, see "Secret scanning patterns."

You cannot change the configuration of secret scanning for partner patterns on public repositories.

About secret scanning alerts for users

Secret scanning alerts for users are available for free on all public repositories. When you enable secret scanning for a repository, GitHub scans the code for patterns that match secrets used by many service providers. When the scan is completed, GitHub sends an email alert to the enterprise and organization owners, even if no secrets were found.

When a supported secret is leaked, GitHub generates a secret scanning alert. GitHub will also periodically run a full git history scan of existing content in public repositories where secret scanning is enabled, and send alert notifications following the secret scanning alert notification settings. For more information, see "Supported secrets for user alerts."

If you're a repository administrator, you can enable secret scanning alerts for users for any public repository. Organization owners can also enable secret scanning alerts for users for all public repositories or for all new public repositories within an organization. For more information, see "Managing security and analysis settings for your repository" and "Managing security and analysis settings for your organization."

You can also define custom secret scanning patterns for a repository, organization, or enterprise. For more information, see "Defining custom patterns for secret scanning" in the GitHub Enterprise Cloud documentation.

GitHub stores detected secrets using symmetric encryption, both in transit and at rest.

Accessing secret scanning alerts

When you enable secret scanning for a repository or push commits to a repository with secret scanning enabled, GitHub scans the contents of those commits for secrets that match patterns defined by service providers. GitHub also runs a scan of all historical code content in public repositories with secret scanning enabled when a new partner pattern is added or updated.

If secret scanning detects a secret, GitHub generates an alert.

  • GitHub sends an email alert to the repository administrators and organization owners. You'll receive an alert if you are watching the repository, if you have enabled notifications either for security alerts or for all the activity on the repository, and if, in your notification settings, you have selected to receive email notifications for the repositories that you are watching.
  • If the contributor who committed the secret isn't ignoring the repository, GitHub will also send an email alert to the contributor. The emails contains a link to the related secret scanning alert. The commit author can then view the alert in the repository, and resolve the alert.
  • GitHub displays an alert in the Security tab of the repository.

For more information about viewing and resolving secret scanning alerts, see "Managing alerts from secret scanning."

For more information on how to configure notifications for secret scanning alerts, see "Configuring notifications for secret scanning alerts."

Repository administrators and organization owners can grant users and teams access to secret scanning alerts. For more information, see "Managing security and analysis settings for your repository."

You can also use the REST API to monitor results from secret scanning across your repositories. For more information about API endpoints, see "Secret scanning."

Further reading