Skip to content

Commit bc83728

Browse files
author
gitName
committed
WB1743
1 parent 578b2c4 commit bc83728

11 files changed

+23
-26
lines changed

learn-pr/github/maintain-secure-repository-github/1-introduction.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Introduction
44
metadata:
55
title: Introduction
66
description: Learn how to maintain a secure GitHub repository.
7-
ms.date: 04/22/2024
7+
ms.date: 04/09/2025
88
author: a-a-ron
99
ms.author: aastewar
1010
ms.topic: unit

learn-pr/github/maintain-secure-repository-github/2-how-to-maintain-secure-repository.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: How to maintain a secure GitHub repository
44
metadata:
55
title: How to maintain a secure GitHub repository
66
description: Learn best practices for maintaining a secure GitHub repository.
7-
ms.date: 04/22/2024
7+
ms.date: 04/09/2025
88
author: a-a-ron
99
ms.author: aastewar
1010
ms.topic: unit

learn-pr/github/maintain-secure-repository-github/3-security-automation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Automated security
44
metadata:
55
title: Automated security
66
description: Learn about automated security features within GitHub.
7-
ms.date: 04/22/2024
7+
ms.date: 04/09/2025
88
author: a-a-ron
99
ms.author: aastewar
1010
ms.topic: unit

learn-pr/github/maintain-secure-repository-github/3-security-strategy-essentials.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Exercise - Secure your repository's supply chain
44
metadata:
55
title: Exercise - Secure your repository's supply chain
66
description: Learn to build, host, and maintain a secure repository on GitHub.
7-
ms.date: 04/22/2024
7+
ms.date: 04/09/2025
88
author: a-a-ron
99
ms.author: aastewar
1010
ms.topic: unit

learn-pr/github/maintain-secure-repository-github/4-knowledge-check.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Module assessment
44
metadata:
55
title: Module assessment
66
description: Check what you've learned.
7-
ms.date: 04/22/2024
7+
ms.date: 04/09/2025
88
author: a-a-ron
99
ms.author: aastewar
1010
ms.topic: unit
@@ -18,7 +18,7 @@ quiz:
1818
choices:
1919
- content: "Configure your package files to always use the latest versions of dependencies."
2020
isCorrect: false
21-
explanation: "This practice is generally a bad idea because it can introduce breaking changes or unexpected behavior in your software."
21+
explanation: "This practice is generally a bad idea, because it can introduce breaking changes or unexpected behavior in your software."
2222
- content: "Check each project's security details closely before adding it to your dependencies by confirming its version status across multiple advisory sites."
2323
isCorrect: false
2424
explanation: "Even if this practice helps you start off with a secure version of a given dependency, it won't ensure that you're safe from future vulnerabilities. You would need to constantly monitor every package to ensure compliance, which might be infeasible."

learn-pr/github/maintain-secure-repository-github/5-summary.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Summary
44
metadata:
55
title: Summary
66
description: Review what you've learned.
7-
ms.date: 04/22/2024
7+
ms.date: 04/09/2025
88
author: a-a-ron
99
ms.author: aastewar
1010
ms.topic: unit

learn-pr/github/maintain-secure-repository-github/includes/2-how-to-maintain-secure-repository.md

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ There are many aspects to building and deploying secure applications. Here are t
2525

2626
Security isn't something you can just add later to an application or a system. Secure development must be part of every stage of the software-development life cycle. This concept is even more important for critical applications and those applications that process sensitive or highly confidential information.
2727

28-
In practice, to hold teams accountable for what they develop, processes need to **shift left**, or be completed earlier, in the development lifecycle. By moving steps from a final gate at deployment time to an earlier step, fewer mistakes are made, and developers can move more quickly.
28+
In practice, to hold teams accountable for what they develop, processes need to **shift left**, or be completed earlier in the development lifecycle. By moving steps from a final gate at deployment time to an earlier step, fewer mistakes are made, and developers can move more quickly.
2929

3030
Application-security concepts weren't a focus for developers in the past. Apart from the education and training issues, it's because their organizations emphasized fast development of features.
3131

32-
With the introduction of DevOps practices however, security testing is easier to integrate into the pipeline. Rather than being a task performed by security specialists, security testing should just be part of the day-to-day delivery processes.
32+
However, with the introduction of DevOps practices, security testing is easier to integrate into the pipeline. Rather than being a task performed by security specialists, security testing should just be part of the day-to-day delivery processes.
3333

3434
Overall, when the time for rework is taken into account, adding security to your DevOps practices earlier in the development lifecycle allows development teams to catch issues earlier. Catching issues earlier can actually reduce the overall time it takes to develop quality software.
3535

@@ -54,9 +54,6 @@ From the Security tab, you can add features to your GitHub workflow to help avoi
5454

5555
For more information, see [GitHub security features](https://docs.github.com/code-security/getting-started/github-security-features).
5656

57-
> [!NOTE]
58-
> Dependabot alert advisories for malware are currently in beta and subject to change. Only advisories that have been reviewed by GitHub will trigger Dependabot alerts.
59-
6057
Next, we explore some of these features and learn ways to distribute security and operational responsibilities across all phases of the software-development lifecycle.
6158

6259
## Communicate a security policy with SECURITY.md
@@ -99,11 +96,11 @@ x86/
9996

10097
Your repository might include multiple `.gitignore` files. Settings are inherited from parent directories, with overriding fields in new `.gitignore` files taking precedence over parent settings for their folders and subfolders. It's significant effort to maintain the root `.gitignore` file, although adding a `.gitignore` file into a project directory can be helpful when that project has specific requirements that are easier to maintain separately from the parent, such as files that should *not* be ignored.
10198

102-
To learn more about `.gitignore`, see [Ignoring files](https://docs.github.com/get-started/getting-started-with-git/ignoring-files). Also check out the collection of starter `.gitignore` files offered for various platforms in the [gitignore repository](https://github.com/github/gitignore).
99+
To learn more about `.gitignore`, see [Ignoring files](https://docs.github.com/get-started/git-basics/ignoring-files). Also check out the collection of starter `.gitignore` files offered for various platforms in the [gitignore repository](https://github.com/github/gitignore).
103100

104101
## Remove sensitive data from a repository
105102

106-
While `.gitignore` files can be useful in helping contributors avoid committing sensitive data, it's just a strong suggestion. Developers can still work around it to add files if they're motivated enough, and sometimes files might slip through because they don't meet the `.gitignore` file configuration. Project participants should always be on the lookout for commits that contain data that shouldn't be included in the repository or its history.
103+
While `.gitignore` files can be useful in helping contributors avoid committing sensitive data, they're just a strong suggestion. Developers can still work around a `.gitignore` file to add files if they're motivated enough, and sometimes files might slip through because they don't meet the `.gitignore` file configuration. Project participants should always be on the lookout for commits that contain data that shouldn't be included in the repository or its history.
107104

108105
> [!IMPORTANT]
109106
> You should assume that any data committed to GitHub at any point has been compromised. Simply overwriting a commit isn't enough to ensure the data won't be accessible in the future. For the complete guide to removing sensitive data from GitHub, see [Removing sensitive data from a repository](https://docs.github.com/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository).
@@ -114,14 +111,14 @@ You can create a [branch protection rule](https://docs.github.com/repositories/c
114111

115112
You can use the workflows that protect the branch to:
116113

117-
- Run a build to verify the code changes can be built
118-
- Run a linter to check for typos and conformation to the internal coding conventions
119-
- Run automated tests to check for any behavior changes of the code
120-
- And so on
114+
- Run a build to verify the code changes can be built;
115+
- Run a linter to check for typos and conformation to the internal coding conventions;
116+
- Run automated tests to check for any behavior changes of the code;
117+
- And so on.
121118

122119
## Add a CODEOWNERS file
123120

124-
By adding a [CODEOWNERS](https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners#codeowners-syntax) file to your repository, you can assign individual team members or entire teams as code owners to paths in your repository. These code owners are then required for pull-request reviews on any changes to files in a path for which they're configured.
121+
By adding a [CODEOWNERS](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-syntax) file to your repository, you can assign individual team members or entire teams as code owners to paths in your repository. These code owners are then required for pull-request reviews on any changes to files in a path for which they're configured.
125122

126123
```
127124
# Changes to files with the js extensions need to be reviewed by the js-owner user/group:

learn-pr/github/maintain-secure-repository-github/includes/3-security-automation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ For the list of supported dependency manifests, see [About the dependency graph]
1414

1515
### Dependabot alerts
1616

17-
Even with a visual dependency graph, it can still be overwhelming to stay on top of the latest security considerations for every dependency a project has. To reduce this overhead, GitHub provides [Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#dependabot-alerts-for-vulnerable-dependencies) that watch your dependency graphs for you. It then cross-references target versions with versions on known vulnerability lists. When a risk is discovered, the project is alerted. Input for the analysis comes from [GitHub Security Advisories](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories#dependabot-alerts-for-published-security-advisories).
17+
Even with a visual dependency graph, it can still be overwhelming to stay on top of the latest security considerations for every dependency a project has. To reduce this overhead, GitHub provides [Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts) that watch your dependency graphs for you. It then cross-references target versions with versions on known vulnerability lists. When a risk is discovered, the project is alerted. Input for the analysis comes from [GitHub Security Advisories](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories#dependabot-alerts-for-published-security-advisories).
1818

1919
![Screenshot of Dependabot alerts for vulnerable dependencies.](../media/2-dependency-alert.png)
2020

@@ -34,12 +34,12 @@ You can enable code-scanning alerts and workflows in the security tab of a GitHu
3434

3535
:::image type="content" source="../media/security-overview.png" alt-text="Screenshot of a list of policies, advisories, and alerts with links to more information.":::
3636

37-
Learn more about [Code scanning and CodeQL](https://docs.github.com/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-code-scanning).
37+
Learn more about [Code scanning and CodeQL](https://docs.github.com/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning).
3838

3939
### Secret scanning
4040

4141
Another automated scanning feature within a GitHub repository is secret scanning. Similar to the previous security scanning features, secret scanning looks for known secrets or credentials committed within the repository. This scanning is done to prevent the use of fraudulent behavior and to secure the integrity of any sensitive data. By default, secret scanning occurs on public repositories and you can enable secret scanning on private repositories by repository administrators or organization owners.
4242

4343
When secret scanning detects a set of credentials, GitHub notifies the service provider who issued the secret. The service provider validates the credential. Then, it decides whether they should revoke the secret, issue a new secret, or reach out to you directly. The action depends on the associated risks to you or the service provider.
4444

45-
Learn more about [Secret scanning for public and private repositories](https://docs.github.com/code-security/secret-scanning/about-secret-scanning).
45+
Learn more about [Secret scanning for public and private repositories](https://docs.github.com/code-security/secret-scanning/introduction/about-secret-scanning).

learn-pr/github/maintain-secure-repository-github/includes/3-security-strategy-essentials.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Here are some helpful tips before you begin the exercise:
1010
- Stuck on what to do? Revisit the content in the last unit or check out the README file in the exercise's repository.
1111

1212
> [!NOTE]
13-
> A grading script exists under `.github/workflows/grading.yml`. You don't need to modify this workflow to complete this exercise. **Altering the contents in this workflow can break the exercise's ability to validate your actions, provide feedback, or grade the results.**
13+
> There's a grading script under `.github/workflows/grading.yml`. You don't need to modify this workflow to complete this exercise. **Altering the contents in this workflow can break the exercise's ability to validate your actions, provide feedback, or grade the results.**
1414
1515
This exercise is a challenge based on content covered in this module, and there could be more than one way to successfully complete the exercise. If you get stuck, revisit previous content in this module or navigate to some of the other resources provided.
1616

learn-pr/github/maintain-secure-repository-github/includes/5-summary.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ Here are some links to more information on the topics we discussed in this modul
1818
- [Dependabot official site](https://github.com/dependabot)
1919
- [Security apps on GitHub Marketplace](https://github.com/marketplace/category/security?azure-portal=true)
2020
- [Adding a security policy to your repository](https://docs.github.com/code-security/getting-started/adding-a-security-policy-to-your-repository)
21-
- [Ignoring files](https://docs.github.com/get-started/getting-started-with-git/ignoring-files)
21+
- [Ignoring files](https://docs.github.com/get-started/git-basics/ignoring-files)
2222
- [Removing sensitive data from a repository](https://docs.github.com/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)

0 commit comments

Comments
 (0)