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: learn-pr/github/configure-dependabot-security-updates-on-github-repo/includes/2-manage-your-dependencies-github.md
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
It's common for software projects to depend on external packages or dependencies. Managing these external dependencies consumes resources and affects productivity. These dependencies can also include vulnerabilities that introduce security threats. A vulnerability is a flaw in a project's code that can be exploited to damage the confidentiality, integrity, or availability of the project or other projects that use its code. You might not even notice dependency vulnerabilities right away, because they exist outside of the code on which you work. Understanding how to effectively and efficiently manage your dependencies with GitHub improves the security of your software supply chain.
1
+
It's common for software projects to depend on external packages or dependencies. Managing these external dependencies consumes resources and affects productivity. These dependencies can also include vulnerabilities that introduce security threats. A vulnerability is a flaw in a project's code that can be exploited. These exploits can damage the confidentiality, integrity, or availability of the project or other projects that use its code. You might not even notice dependency vulnerabilities right away, because they exist outside of the code on which you work. Understanding how to effectively and efficiently manage your dependencies with GitHub improves the security of your software supply chain.
2
2
3
-
In this unit, you'll learn about the GitHub tools for managing your dependencies:
3
+
In this unit, you learn about the GitHub tools for managing your dependencies:
4
4
5
5
- The Dependency graph
6
6
- The GitHub Advisory Database
@@ -22,19 +22,19 @@ The dependency graph uses the information from your lock and manifest files to p
22
22
- The **direct dependencies** explicitly defined in a manifest or lock file or submitted with the Dependency submission API.
23
23
- The **indirect dependencies**, also known as transitive dependencies or subdependencies, which are dependencies used by packages that are dependencies of your project.
24
24
25
-
Lock files (or their equivalent) generate the most reliable dependency graph, because they define exactly which versions of the direct and indirect dependencies you currently use. If you use lock files, you also ensure that all contributors to the repository are using the same versions, which makes it easier for you to test and debug code. If your ecosystem doesn't have lock files, you can use premade actions that resolve transitive dependencies for many ecosystems.
25
+
Lock files (or their equivalent) generate the most reliable dependency graph, because they define exactly which versions of the direct and indirect dependencies you currently use. By using lock files, you ensure that all contributors to the repository are using the same versions, making it easier for you to test and debug code. If your ecosystem doesn't have lock files, you can use premade actions that resolve transitive dependencies for many ecosystems.
26
26
27
27
### Enable the dependency graph for private repositories
28
28
29
29
As a repository administrator, you can also choose to enable the dependency graph for private repositories by completing these steps:
30
30
31
31
1. Go to your GitHub repository.
32
32
2. Select your repository **Settings**.
33
-
3.Select **Code security and analysis**.
34
-
4.Select **Enable**in the dependency graph section.
33
+
3.On the left-hand menu under **Security**, select **Advanced Security**.
34
+
4.In the **Dependency graph**section, select **Enable**.
35
35
36
36
>[!NOTE]
37
-
> Dependent information is not included for private repositories.
37
+
> Dependent information isn't included for private repositories.
38
38
39
39
### View the dependency graph
40
40
@@ -74,7 +74,7 @@ We generally recommend lock files in your repository, because they define the ex
74
74
75
75

76
76
77
-
The [GitHub Advisory Database](https://github.com/advisories?azure-portal=true) is a security vulnerability database inclusive of CVEs and GitHub originated security advisories from the world of open source software. GitHub collects information on vulnerabilities and includes it in the GitHub Advisory Database to:
77
+
The [GitHub Advisory Database](https://github.com/advisories?azure-portal=true) is a security vulnerability database inclusive of Common Vulnerabilities and Exposures (CVEs)s and GitHub originated security advisories from the world of open source software. GitHub collects information on vulnerabilities and includes it in the GitHub Advisory Database to:
78
78
79
79
- Provide a free and open-source repository of security advisories.
80
80
- Enable the community to crowd-source their knowledge about these advisories.
@@ -99,32 +99,32 @@ A Software Bill of Materials (SBOM) is a formal, machine-readable inventory of a
99
99
100
100
- Providing transparency about the dependencies used by your repository.
101
101
- Allowing vulnerabilities to be identified early in the process.
102
-
- Providing insights into the license compliance, security, or quality issues that may exist in your codebase.
102
+
- Providing insights into the license compliance, security, or quality issues that might exist in your codebase.
103
103
- Enabling you to better comply with various data protection standards.
104
104
105
105
GitHub offers two ways to export a Software Bill of Materials (SBOM) for your repository. You can export the current state of the dependency graph for your repository as an SBOM using the industry-standard [Software Package Data Exchange(SPDX)](https://spdx.github.io/spdx-spec/v2.3/?azure-portal=true) format:
106
106
107
-
-Via the GitHub UI
108
-
-Using the REST API
107
+
-Through the GitHub UI.
108
+
-By using the REST API.
109
109
110
-
You can leverage SBOMs as part of your audit process and use them to comply with regulatory and legal requirements. If your company provides software to the US federal government, per [Executive Order 14028](https://www.gsa.gov/technology/it-contract-vehicles-and-purchasing-programs/information-technology-category/it-security/executive-order-14028?azure-portal=true), you'll need to provide an SBOM for your product.
110
+
You can use SBOMs as part of your audit process and use them to comply with regulatory and legal requirements. If your company provides software to the US federal government, per [Executive Order 14028](https://www.gsa.gov/technology/it-contract-vehicles-and-purchasing-programs/information-technology-category/it-security/executive-order-14028?azure-portal=true), you need to provide an SBOM for your product.
111
111
112
112
## Dependabot
113
113
114
-
Dependabot is a GitHub tool that automates managing your repository’s dependencies. Dependabot keeps your dependencies up to date by informing you of any security vulnerabilities in your dependencies, and automatically opens pull requests to upgrade your dependencies to the next available secure version when a Dependabot alert is triggered, or to the latest version when a release is published. For Dependabot to work, the dependency graph must be enabled in a repository. Dependabot uses the dependency graph and the GitHub Advisory Database to provide three features:
114
+
Dependabot is a GitHub tool that automates managing your repository’s dependencies. Dependabot keeps your dependencies up to date by informing you of any security vulnerabilities in your dependencies. When a Dependabot alert is triggered, it automatically opens pull requests to upgrade your dependencies to the next available secure version, or to the latest version when a release is published. For Dependabot to work, the dependency graph must be enabled in a repository. Dependabot uses the dependency graph and the GitHub Advisory Database to provide three features:
115
115
116
-
-**Dependabot alerts**: Notify you about vulnerable dependencies, including a link to the affected file in the project and information about a fixed version.
117
-
-**Security updates**: Automatically update or generate a pull request to update vulnerable dependencies.
116
+
-**Dependabot alerts**: These alerts notify you about vulnerable dependencies. Including, a link to the affected file in the project and information about a fixed version.
117
+
-**Security updates**: Automatically update or generate a pull request that updates vulnerable dependencies.
118
118
-**Version updates**: Automatically update supported packages used by your repository on a schedule you configure.
119
119
120
120
## Dependency review
121
121
122
122
You can use dependency review to catch vulnerable dependencies before they're added to your main branch. Dependency review helps you understand dependency changes and the security impact of these changes at every pull request. It provides an easily understandable visualization of dependency changes with a rich diff on a pull request's **Files Changed** tab. By checking the dependency reviews in a pull request and changing any dependencies that are flagged as vulnerable, you can avoid vulnerabilities being added to your project. Dependency review informs you of:
123
123
124
-
-Which dependencies were added, removed, or updated, along with the release dates.
125
-
-How many projects use these components.
126
-
-Vulnerability data for these dependencies.
124
+
-The dependencies that were added, removed, or updated, along with the release dates.
125
+
-The number of projects that use these components.
126
+
-The vulnerability data for these dependencies.
127
127
128
128
Where Dependabot is more about automatically monitoring and updating known dependencies, dependency review proactively analyzes dependency changes during pull request to highlight key information, like insecure dependencies, enabling you to keep your project safer. Together, these complementary tools can be used to maintain a more secure and up-to-date codebase.
129
129
130
-
In the remaining units, you'll learn more about using Dependabot and dependency review in your repository.
130
+
In the remaining units, you learn more about using Dependabot and dependency review in your repository.
0 commit comments