You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,6 +37,7 @@ By default, the {% data variables.product.prodname_code_scanning %} alerts page
37
37

38
38
39
39
1. Alerts from {% data variables.product.prodname_codeql %} analysis include a description of the problem. Click **Show more** for guidance on how to fix your code.
40
+
{% data reusables.security.alert-assignee-step %}
40
41
41
42
For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts).
Copy file name to clipboardExpand all lines: content/code-security/code-scanning/managing-code-scanning-alerts/best-practices-for-participating-in-a-security-campaign.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
-
title: Best practices for participating in a security campaign
2
+
title: Best practices for participating in a code security campaign
3
3
shortTitle: Best practices for campaigns
4
-
intro: 'Learn how you can successfully take part in a security campaign and how it can benefit your career as well as your code.'
4
+
intro: 'Learn how you can successfully take part in a security campaign for {% data variables.product.prodname_code_scanning %} alerts and how it can benefit your career as well as your code.'
5
5
allowTitleToDifferFromFilename: true
6
6
permissions: '{% data reusables.permissions.code-scanning-all-alerts %}'
7
7
product: '{% data reusables.gated-features.security-campaigns %}'
@@ -15,9 +15,9 @@ topics:
15
15
- Repositories
16
16
---
17
17
18
-
## What is a security campaign
18
+
## What is a code security campaign
19
19
20
-
A security campaign is a group of security alerts, detected in the default branches of repositories, chosen by an organization owner or security manager for remediation.
20
+
A security campaign is a group of {% data variables.product.prodname_code_scanning %} alerts, detected in the default branches of repositories, chosen by an organization owner or security manager for remediation.
21
21
22
22
You can take part in a security campaign by fixing one or more of the alerts included in the campaign.
23
23
@@ -40,6 +40,8 @@ Adopting a few key best practices can help you participate successfully in a cam
40
40
41
41
You'll automatically receive email updates about security campaigns for any repositories you have **write** access to, so you can stay informed about relevant updates.
42
42
43
+
{% data reusables.security.alert-assignee-mention %}
44
+
43
45
### View campaign details
44
46
45
47
When you open the **Security** tab for a repository with one or more campaign alerts, you can see the campaign name in the sidebar of the view. Click the campaign name to see the list of alerts included in the campaign and summary information on how the campaign is progressing.
Copy file name to clipboardExpand all lines: content/code-security/securing-your-organization/fixing-security-alerts-at-scale/about-security-campaigns.md
+46-4Lines changed: 46 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,38 +5,80 @@ intro: 'You can fix security alerts at scale by creating security campaigns and
5
5
product: '{% data reusables.gated-features.security-campaigns %}'
6
6
allowTitleToDifferFromFilename: true
7
7
type: overview
8
+
audience:
9
+
- driver
10
+
contentType: concepts
8
11
versions:
9
12
feature: security-campaigns
10
13
topics:
11
14
- Code Security
15
+
- Secret Protection
12
16
- Organizations
13
17
- Security
14
18
---
15
19
16
-
Once you have identified security alerts in the default branches of your repositories, the next step is to identify the most urgent alerts and get them fixed. Security campaigns are a way to group alerts and share them with developers, so you can collaborate to remediate vulnerabilities in the code.
20
+
Once you have identified security alerts the next step is to identify the most urgent alerts and get them fixed. Security campaigns are a way to group alerts and share them with developers, so you can collaborate to remediate vulnerabilities in the code{% ifversion security-campaigns-secrets %} and any exposed secrets{% endif %}.
17
21
18
22
## Security campaigns in your day-to-day work
19
23
20
24
You can use security campaigns to support many of your aims as a security leader.
21
25
22
26
* Improving the security posture of the company by leading work to remediate alerts.
23
-
* Reinforcing security training for developers by creating a campaign of related alerts to fix collaboratively.
27
+
* Reinforcing security training for developers by creating a campaign of related, {% data variables.product.prodname_code_scanning %} alerts to fix collaboratively.{% ifversion security-campaigns-secrets %}
28
+
* Ensuring that {% data variables.product.prodname_secret_scanning %} alerts are resolved within your remediation target.{% endif %}
24
29
* Building collaborative relationships between the security team and developers to promote shared ownership of security alerts.
25
30
* Providing clarity to developers on the most urgent alerts to fix and monitoring alert remediation.
26
31
27
32
## Benefits of using security campaigns
28
33
29
34
A security campaign has many benefits over other ways of encouraging developers to remediate security alerts. In particular,
30
35
31
-
* Developers are notified about any security campaigns taking place in repositories they work in or subscribe to by email.
36
+
* Developers are notified about any security campaigns that they can contribute to.
32
37
* Developers can see the alerts you've highlighted for remediation without leaving their normal workflows.
33
38
* Each campaign has a named point of contact for questions, reviews, and collaboration. {% ifversion security-campaigns-autofix %}
34
-
* {% data variables.copilot.copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. {% endif %}
39
+
*For {% data variables.product.prodname_code_scanning %} alerts, {% data variables.copilot.copilot_autofix %} is automatically triggered to suggest a resolution. {% endif %}
35
40
36
41
You can use one of the templates to select a group of closely related alerts for a campaign. This allows developers to build on the knowledge gained by resolving one alert and use it to fix several more, providing them with an incentive to fix multiple alerts.
37
42
38
43
{% data reusables.code-scanning.campaigns-api %}
39
44
45
+
{% ifversion security-campaigns-secrets %}
46
+
47
+
## Differences between code and secret campaigns
48
+
49
+
{% data reusables.security.secrets-campaign-preview %}
50
+
51
+
The creation workflow is the same for all campaigns, but you will notice a few differences in progress tracking and developer experience.
52
+
53
+
{% rowheaders %}
54
+
55
+
| Property | Code | Secret |
56
+
|--|--|--|
57
+
| Alerts available for inclusion | {% octicon "check" aria-label="Supported" %} Default branch only | {% octicon "check" aria-label="Supported" %}
| Automatic remediation support | {% octicon "check" aria-label="Supported" %} {% data variables.copilot.copilot_autofix %} | {% octicon "x" aria-label="Not supported" %} |
64
+
65
+
{% endrowheaders %}
66
+
67
+
{% endif %}
68
+
69
+
{% ifversion code-secret-alert-assignees %}
70
+
71
+
### Assigning alerts
72
+
73
+
>[!NOTE]
74
+
> The option to assign {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %} alerts to users is currently in public preview and is subject to change.
75
+
76
+
You can assign a {% data variables.product.prodname_code_scanning %} or {% data variables.product.prodname_secret_scanning %} alert to any user who has **write** access for the repository.
77
+
78
+
If the assignee for a {% data variables.product.prodname_secret_scanning %} alert **cannot view the alert list**, their permissions are temporarily raised for that alert. Any additional permissions are revoked when they are unassigned from the alert.
Copy file name to clipboardExpand all lines: content/code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale.md
+34-13Lines changed: 34 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,10 +5,14 @@ intro: 'Guidance on how to create successful security campaigns that engage deve
5
5
allowTitleToDifferFromFilename: true
6
6
product: '{% data reusables.gated-features.security-campaigns %}'
7
7
type: reference
8
+
audience:
9
+
- driver
10
+
contentType: tutorials
8
11
versions:
9
12
feature: security-campaigns
10
13
topics:
11
14
- Code Security
15
+
- Secret Protection
12
16
- Organizations
13
17
- Security
14
18
---
@@ -17,30 +21,47 @@ topics:
17
21
18
22
Successful security campaigns to fix alerts at scale have many features in common, including:
19
23
20
-
* Selecting a related group of security alerts for remediation.
21
-
*Using {% data variables.copilot.copilot_autofix_short %} suggestions where possible to help developers remediate alerts faster and more effectively.
24
+
* Selecting a related group of security alerts for remediation.{% ifversion security-campaigns-autofix %}
25
+
*For code campaigns, using {% data variables.copilot.copilot_autofix_short %} suggestions where possible to help developers remediate alerts faster and more effectively.{% endif %}
22
26
* Making sure that the campaign managers are available for collaboration, reviews, and questions about fixes.
23
-
* Providing access to educational information about the type of alerts included in the campaign.{% ifversion ghec %}
24
-
* Making {% data variables.copilot.copilot_chat %} available for developers to use to learn about the vulnerabilities highlighted by the security alerts in the campaign. {% endif %}
27
+
* Providing access to educational information about the type of alerts included in the campaign.
28
+
* Making {% data variables.copilot.copilot_chat %} available for developers to use to learn about the vulnerabilities highlighted by the security alerts in the campaign.
25
29
* Defining a realistic deadline for campaign, bearing in mind the number of alerts you aim to fix.
26
30
* Publicizing the collaboration to developer teams and identifying the best way to engage them for your organization.
27
31
28
32
For information about the developer experience, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign).
29
33
30
34
## Selecting security alerts for remediation
31
35
32
-
Your first thought may be to identify all the most urgent alerts and create a security campaign to fix them. If your developers already have a good understanding of secure coding and are keen to remediate potential vulnerabilities, this could be a successful approach for your company. However, if you need to build up knowledge of secure coding and common vulnerabilities, you will benefit from a more strategic approach.
36
+
Your first thought may be to identify all the most urgent alerts and create a security campaign to fix them. If your developers already have a good understanding of secure coding and are keen to remediate potential vulnerabilities, this could be a successful approach for your company. However, if you need to build up knowledge of secure coding{% ifversion security-campaigns-secrets %}, exposed secrets,{% endif %} and common vulnerabilities, you will benefit from a more strategic approach.
33
37
34
-
For example, if you have many alerts for cross-site scripting vulnerabilities, you could:
38
+
{% ifversion security-campaigns-secrets %}
35
39
36
-
* Create educational content for developers in a repository using resources from the OWASP Foundation, see [Cross Site Scripting (XSS)](https://owasp.org/www-community/attacks/xss/).
37
-
* Create a campaign to remediate all alerts for this vulnerability, including a link to the educational content in the campaign description.
40
+
### Example approach for a code campaign
41
+
42
+
{% endif %}
43
+
44
+
For a campaign to raise awareness and fix cross-site scripting vulnerabilities, you could:
45
+
46
+
* Create educational content for developers in a repository using resources from the OWASP Foundation, see [Cross Site Scripting (XSS)](https://owasp.org/www-community/attacks/xss/).{% ifversion security-campaigns-autofix %}
47
+
* Create a campaign to remediate all alerts for this vulnerability where {% data variables.copilot.copilot_autofix_short %} is supported, using the `autofix:supported` filter.{% endif %}
48
+
* Include a link to the educational content in the campaign description.
38
49
* Hold a training session or other event to highlight this opportunity to gain confidence in secure coding while fixing real bugs.
39
50
* Make sure that the security team members assigned to manage the campaign are available to review the pull requests created to fix the campaign alerts, collaborating as needed.
40
51
41
-
### Using {% data variables.copilot.copilot_autofix_short %} to help remediate security alerts
52
+
{% ifversion security-campaigns-secrets %}
53
+
54
+
### Example approach for a secrets campaign
42
55
43
-
{% data variables.copilot.copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help fix {% data variables.product.prodname_code_scanning %} alerts. When you select alerts to include in a security campaign, you can preferentially include alerts that are eligible to be fixed with the help of {% data variables.copilot.copilot_autofix %} using the `autofix:supported` filter.
56
+
{% data reusables.security.secrets-campaign-preview %}
57
+
58
+
For a campaign to raise awareness and fix exposed passwords, you could:
59
+
60
+
* Create educational content for developers about storing passwords securely, for example, as {% data variables.product.github %} secrets, see [AUTOTITLE](/code-security/getting-started/understanding-github-secret-types).
61
+
* Create a campaign to remediate all alerts for exposed passwords, including a link to the educational content in the campaign description.
62
+
* Make sure that the security team members assigned to manage the campaign are available to ensure secrets are revoked and rotated acceptably, collaborating as needed.
63
+
64
+
{% endif %}
44
65
45
66
### Campaign filter templates
46
67
@@ -83,11 +104,11 @@ The OWASP Foundation provides many resources for learning about the most common
83
104
84
105
{% ifversion security-campaigns-autofix %}
85
106
86
-
## Providing AI support for learning about security vulnerabilities
107
+
## Providing AI support for learning about code vulnerabilities
87
108
88
-
{% data variables.copilot.copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. However, developers will often want more information about why the original code is insecure and how to test that the fix is correct and doesn't break other components.
109
+
{% data variables.copilot.copilot_autofix %} is automatically triggered to suggest a resolution for each {% data variables.product.prodname_code_scanning %} alert. However, developers will often want more information about why the original code is insecure and how to test that the fix is correct and doesn't break other components.
89
110
90
-
{% data variables.product.prodname_copilot %} is an important tool for developers who have questions about secure coding, how to fix security alerts, and test their fix. Check that all developers in your organization have access to {% data variables.product.prodname_copilot_short %} in both their IDE and {% data variables.product.github %}, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/granting-access-to-copilot-for-members-of-your-organization).
111
+
{% data variables.product.prodname_copilot %} chat is an important tool for developers who have questions about secure coding, how to fix security alerts, and test their fix. Check that all developers in your organization have access to {% data variables.product.prodname_copilot_short %} in both their IDE and {% data variables.product.github %}, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-access/grant-access).
0 commit comments