Skip to content

Commit 5576e33

Browse files
authored
Merge pull request #37413 from github/repo-sync
Repo sync
2 parents c6ab383 + 8bc92ba commit 5576e33

File tree

67 files changed

+6498
-1329
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+6498
-1329
lines changed

.github/workflows/confirm-internal-staff-work-in-docs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
repo: process.env.TEAM_CONTENT_REPO,
6969
title: `@${context.payload.sender.login} confirm that \#${issueNo} should be in the public github/docs repo`,
7070
body: `@${context.payload.sender.login} opened https://github.com/github/docs/issues/${issueNo} publicly in the github/docs repo, instead of the private github/${process.env.TEAM_CONTENT_REPO} repo.\n\n@${context.payload.sender.login}, please confirm that this belongs in the public repo and that no sensitive information was disclosed by commenting below and closing the issue.\n\nIf this was not intentional and sensitive information was shared, please delete https://github.com/github/docs/issues/${issueNo} and notify us in the \#docs-open-source channel.\n\nThanks!`,
71-
labels: ['OS confirmation'],
71+
labels: ['OS confirmation', 'skip FR board'],
7272
});
7373
7474
core.setOutput('did_warn', 'true')

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# ---------------------------------------------------------------
99
# To update the sha:
1010
# https://github.com/github/gh-base-image/pkgs/container/gh-base-image%2Fgh-base-noble
11-
FROM ghcr.io/github/gh-base-image/gh-base-noble:20250319-193531-g83d4e6244 AS base
11+
FROM ghcr.io/github/gh-base-image/gh-base-noble:20250407-184504-g7b9deed09 AS base
1212

1313
# Install curl for Node install and determining the early access branch
1414
# Install git for cloning docs-early-access & translations repos
Loading
Loading

config/kubernetes/production/deployments/webapp.yaml

+9-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,15 @@ spec:
2323
image: docs-internal
2424
resources:
2525
requests:
26-
cpu: 8000m
27-
memory: 10Gi
26+
cpu: 4000m
27+
# Absolute minimum to start app is 1000m
28+
# Node is single-threaded but we want more CPUs
29+
# for OS and image resizing, and other binary executions
30+
# Better to increase replicas or memory than CPU
31+
memory: 8Gi
32+
# Absolute minimum to start app is 4500Mi
33+
# Would increase with more pages, versions, or languages supported
34+
# The additional memory helps during traffic surges
2835
limits:
2936
cpu: 16000m
3037
memory: 16Gi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
---
2+
title: Best practices for participating in a security campaign
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.'
5+
allowTitleToDifferFromFilename: true
6+
permissions: '{% data reusables.permissions.code-scanning-all-alerts %}'
7+
product: '{% data reusables.gated-features.security-campaigns %}'
8+
type: how_to
9+
versions:
10+
feature: security-campaigns
11+
topics:
12+
- Code Security
13+
- Code scanning
14+
- Alerts
15+
- Repositories
16+
---
17+
18+
## What is a security campaign
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.
21+
22+
You can take part in a security campaign by fixing one or more of the alerts included in the campaign.
23+
24+
## What are the benefits of participating in a campaign
25+
26+
In addition to the benefit of removing an important security problem from your organization's codebase, alerts in a security campaign have several other benefits compared with fixing another alert in your repository.
27+
28+
* You have a campaign manager on the security team to collaborate with and a specific contact link for discussing campaign activities.
29+
* You know that you are fixing a security alert that is important to the company.
30+
* Potentially, you may have access to targeted training materials.{% ifversion security-campaigns-autofix %}
31+
* You don't need to request a {% data variables.product.prodname_copilot_autofix %} suggestion, it is already available as a starting point.{% endif %}{% ifversion copilot %}
32+
* If you have access to {% data variables.product.prodname_copilot_chat %}, you can ask questions about the alert and the suggested fix.{% endif %}
33+
* You are improving and demonstrating your knowledge of secure coding.
34+
35+
Adopting a few key best practices can help you participate successfully in a campaign.
36+
37+
## Stay informed
38+
39+
### Notification settings
40+
41+
To receive email updates about security campaigns in repositories you have write access to, make sure that you:
42+
43+
* **Watch** all repositories that you have write access to.
44+
* **Subscribe** to notifications for "All activity" or "Security alerts".
45+
46+
### View campaign details
47+
48+
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.
49+
50+
### Campaign-generated {% data variables.product.prodname_github_issues %}
51+
52+
Some campaigns automatically create {% data variables.product.prodname_github_issues %} for each repository which details the campaign managers, contact URL, and due date.
53+
54+
You can use this issue to plan and track campaign work as part of your usual workflows, such as:
55+
56+
* Adding the issue to project boards
57+
* Adding assignees
58+
* Creating sub-issues or tasklists
59+
60+
## Seek context
61+
62+
Your security team may provide you with specific training ahead of participating in a campaign, so that you feel equipped to address the alerts included in the campaign.
63+
64+
If no formal training program is available, you can request that the campaign manager shares information on:
65+
66+
* Types of security vulnerabilities included in the campaign
67+
* Examples of how to fix them
68+
* How to test the fixes
69+
70+
In addition, there are external resources for understanding common security issues:
71+
72+
* The **OWASP Foundation** provides many resources for learning about the most common vulnerabilities, see [About the OWASP Foundation](https://owasp.org/about/).
73+
* The **MITRE Corporation** maintains a detailed list of common weaknesses, see [About CWE](https://cwe.mitre.org/about/index.html).
74+
75+
## Group similar alerts
76+
77+
When fixing security alerts as part of a campaign, it may be helpful to group and fix similar alerts together. By doing so, you can develop a deeper understanding of the underlying issue. As you gain confidence and efficiency in resolving a specific type of alert, it makes it easier and faster for you to resolve subsequent alerts.
78+
79+
{% ifversion copilot %}
80+
81+
## Leverage {% data variables.product.prodname_copilot_short %}
82+
83+
{% ifversion code-scanning-autofix %}
84+
85+
### {% data variables.product.prodname_copilot_autofix_short %}
86+
87+
{% data variables.product.prodname_copilot_autofix_short %} is automatically triggered for alerts that are included in a campaign, meaning that where possible, fixes are automatically generated for you. You can commit the suggested fix to resolve the alert and then verify that continuous integration testing (CI) for the codebase is still passing. See [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign).
88+
89+
### {% data variables.product.prodname_copilot_chat_short %}
90+
91+
{% endif %}
92+
93+
You can ask {% data variables.product.prodname_copilot_chat_short %} for help in understanding the vulnerability, the suggested fix, and how to test that the fix is comprehensive. To access {% data variables.product.prodname_copilot_chat_short %}, navigate to https://github.com/copilot.
94+
95+
Alternatively, when viewing a specific alert, in the top right corner of the page, click the {% data variables.product.prodname_copilot_chat_short %} icon ({% octicon "copilot" aria-hidden="true" %}) to open a chat window, and ask {% data variables.product.prodname_copilot_short %} questions about the alert.
96+
97+
For example:
98+
99+
```text copy
100+
101+
Explain how this alert introduces a vulnerability into the code.
102+
103+
```
104+
105+
If you don't already have access to {% data variables.product.prodname_copilot_chat_short %} through your organization{% ifversion ghec %} or enterprise{% endif %}, you can sign up to {% data variables.product.prodname_copilot_free %}. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-copilot-free/accessing-github-copilot-free).
106+
107+
{% endif %}
108+
109+
## Ask questions
110+
111+
A security campaign will generally include a contact URL, which might link you to the campaign manager, an open forum (such as a {% data variables.product.github %} Discussion), or a website of resources. You should use this space to ask questions about the campaign or specific alerts, find useful resources, and share knowledge.
112+
113+
To find the contact URL:
114+
115+
1. Open the **Security** tab for your repository.
116+
1. On the left sidebar, click the name of the campaign you are participating in.
117+
1. On the campaign tracking page, to the right of the campaign manager's name, click **{% octicon "comment" aria-hidden="true" %}**.
118+
119+
## Next steps
120+
121+
* [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign)

content/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign.md

+3-25
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Fixing alerts in a security campaign
33
shortTitle: Fix alerts in campaign
4-
intro: 'Learn how you can take part in a security campaign and how it can benefit your career as well as your code.'
4+
intro: 'Learn how to find and fix alerts in a security campaign.'
55
allowTitleToDifferFromFilename: true
66
permissions: '{% data reusables.permissions.code-scanning-all-alerts %}'
77
product: '{% data reusables.gated-features.security-campaigns %}'
@@ -14,32 +14,14 @@ topics:
1414
- Alerts
1515
- Repositories
1616
---
17-
{% data reusables.security-campaigns.preview-note %}
18-
19-
## What is a security campaign
20-
21-
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. When a security campaign is created with alerts in repositories that you have write access to, you are notified if you subscribe to email notifications for "All activity" or "Security alerts". In addition, 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.
22-
23-
You can take part in a security campaign by fixing one or more of the alerts chosen for the campaign.
24-
25-
## What are the benefits of fixing alerts in a campaign
26-
27-
In addition to the benefit of removing an important security problem from your code, alerts in a security campaign have several other benefits compared with fixing another alert in your repository.
28-
29-
* You have a campaign manager on the security team to collaborate with and a specific contact link for discussing campaign activities.
30-
* You know that you are fixing a security alert that is important to the company.
31-
* Potentially, you may have access to targeted training materials.{% ifversion security-campaigns-autofix %}
32-
* You don't need to request a {% data variables.product.prodname_copilot_autofix %} suggestion, it is already available as a starting point.{% endif %}{% ifversion copilot %}
33-
* If you have access to {% data variables.product.prodname_copilot_chat %}, you can ask questions about the alert and the suggested fix.{% endif %}
34-
* You are improving and demonstrating your knowledge of secure coding.
3517

3618
## Viewing alerts in a security campaign
3719

3820
When a campaign targets security alerts in a repository that you have write access to, you can navigate to the list of repository alerts in the campaign.
3921

40-
* Display the **Security** tab for the repository and click one of the campaigns under the "Campaigns" title in the sidebar.
22+
* Display the **Security** tab for the repository and click one of the campaigns under "Campaigns" in the sidebar.
4123
* If you have enabled email notifications for "All activity" or "Security alerts" in the repository, click **View security campaign** in the campaign email.
42-
* If you have write access to more than one repository in the organization, display the **Security** tab for the organization and click one of the campaigns under the "Campaigns" title in the sidebar.
24+
* If you have write access to more than one repository in the organization, display the **Security** tab for the organization and click one of the campaigns under "Campaigns" in the sidebar.
4325

4426
This view shows the alerts in the current repository for a campaign called "SQL injection (CWE-89)" (highlighted gray) that is managed by "octocat" (outlined in dark orange).
4527

@@ -69,10 +51,6 @@ If you want to see the code that triggered the security alert and the suggested
6951

7052
If you have access to {% data variables.product.prodname_copilot_chat_short %} then you can ask the AI questions about the vulnerability, the suggested fix, and how to test that the fix is comprehensive.
7153

72-
To get the most out of {% data variables.product.prodname_copilot_chat_short %} when you're working with alerts, you should explicitly ask {% data variables.product.prodname_copilot_chat_short %} to use the {% data variables.product.prodname_GH_advanced_security %} skill to answer your questions.
73-
74-
For example: "Use the {% data variables.product.prodname_GH_advanced_security %} skill to explain how this alert introduces a vulnerability into the code."
75-
7654
> [!TIP]
7755
> {% data reusables.copilot.semantic-index-info %}
7856

content/code-security/code-scanning/managing-code-scanning-alerts/index.md

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ children:
1717
- /disabling-autofix-for-code-scanning
1818
- /assessing-code-scanning-alerts-for-your-repository
1919
- /resolving-code-scanning-alerts
20+
- /best-practices-for-participating-in-a-security-campaign
2021
- /fixing-alerts-in-security-campaign
2122
- /triaging-code-scanning-alerts-in-pull-requests
2223
- /tracking-code-scanning-alerts-in-issues-using-task-lists

content/code-security/securing-your-organization/fixing-security-alerts-at-scale/about-security-campaigns.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ topics:
1515

1616
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.
1717

18-
{% data reusables.security-campaigns.preview-note %}
19-
2018
## Security campaigns in your day-to-day work
2119

2220
You can use security campaigns to support many of your aims as a security leader.
@@ -30,14 +28,16 @@ You can use security campaigns to support many of your aims as a security leader
3028

3129
A security campaign has many benefits over other ways of encouraging developers to remediate security alerts. In particular,
3230

33-
* Developers are notified about any security campaigns taking place in repositories they work in or subscribe to (by email during the {% data variables.release-phases.public_preview %}).
31+
* Developers are notified about any security campaigns taking place in repositories they work in or subscribe to by email.
3432
* Developers can see the alerts you've highlighted for remediation without leaving their normal workflows.
3533
* Each campaign has a named point of contact for questions, reviews, and collaboration. {% ifversion security-campaigns-autofix %}
3634
* {% data variables.product.prodname_copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. {% endif %}
3735

38-
In addition, 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.
36+
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+
38+
{% data reusables.code-scanning.campaigns-api %}
3939

4040
## Next steps
4141

4242
* [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale)
43-
* [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-tracking-security-campaigns)
43+
* [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns)

0 commit comments

Comments
 (0)