Skip to content

Commit 6883f30

Browse files
authored
Merge pull request github#32555 from github/repo-sync
Repo sync
2 parents 0f5d27a + 1d32363 commit 6883f30

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed
Loading

content/code-security/secret-scanning/secret-scanning-partner-program.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ The following diagram summarizes the {% data variables.product.prodname_secret_s
3131
## Joining the {% data variables.product.prodname_secret_scanning %} program on {% data variables.product.prodname_dotcom %}
3232

3333
1. Contact {% data variables.product.prodname_dotcom %} to get the process started.
34-
1. Identify the relevant secrets you want to scan for and create regular expressions to capture them.
35-
1. For secret matches found publicly, create a secret alert service which accepts webhooks from {% data variables.product.prodname_dotcom %} that contain the {% data variables.product.prodname_secret_scanning %} message payload.
34+
1. Identify the relevant secrets you want to scan for and create regular expressions to capture them. For more detailed information and recommendations, see "[Identify your secrets and create regular expressions](#identify-your-secrets-and-create-regular-expressions)" below.
35+
1. For secret matches found publicly, create a secret alert service which accepts webhooks from {% data variables.product.prodname_dotcom %} that contain the {% data variables.product.prodname_secret_scanning %} message payload.
3636
1. Implement signature verification in your secret alert service.
3737
1. Implement secret revocation and user notification in your secret alert service.
3838
1. Provide feedback for false positives (optional).
@@ -46,10 +46,16 @@ You will receive details on the {% data variables.product.prodname_secret_scanni
4646
### Identify your secrets and create regular expressions
4747

4848
To scan for your secrets, {% data variables.product.prodname_dotcom %} needs the following pieces of information for each secret that you want included in the {% data variables.product.prodname_secret_scanning %} program:
49+
- A unique, human-readable name for the secret type. We'll use this to generate the `Type` value in the message payload later.
50+
- A regular expression which finds the secret type. We recommend you are as precise as possible, because this will help reduce the number of false positives. Some best practices for high quality, identifiable secrets are:
51+
- A uniquely defined prefix
52+
- High entropy random strings
53+
- A 32-bit checksum
4954

50-
- A unique, human readable name for the secret type. We'll use this to generate the `Type` value in the message payload later.
51-
- A regular expression which finds the secret type. Be as precise as possible, because this will reduce the number of false positives.
52-
- The URL of the endpoint that receives messages from {% data variables.product.prodname_dotcom %}. This does not have to be unique for each secret type.
55+
![Screenshot showing the breakdown of a secret into details to be considered when submitting to GitHub a regular expression to find high quality secrets.](/assets/images/help/security/regular-expression-guidance.png)
56+
57+
- A test account for your service. This will allow us to generate and analyze examples of the secrets, further reducing false positives.
58+
- The URL of the endpoint that receives messages from {% data variables.product.prodname_dotcom %}. The URL doesn't have to be unique for each secret type.
5359

5460
Send this information to <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
5561

0 commit comments

Comments
 (0)