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/concepts/supply-chain-security/dependabot-alerts.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,8 @@ Software often relies on packages from various sources, creating dependency rela
28
28
29
29
{% ifversion fpt or ghec %}
30
30
* A new vulnerability is added to the {% data variables.product.prodname_advisory_database %}{% else %}
31
-
* New advisory data is synchronized to {% data variables.product.prodname_dotcom %} each hour from {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.security-advisory.link-browsing-advisory-db %}{% endif %}
31
+
* New advisory data is synchronized to {% data variables.product.prodname_dotcom %} each hour from {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.security-advisory.link-browsing-advisory-db %}{% endif %}{% ifversion ghec %}
32
+
* Your enterprise publishes an innersource advisory for a component you depend on. For more information, see [AUTOTITLE](/code-security/concepts/vulnerability-reporting-and-management/innersource-advisories).{% endif %}
32
33
* Your dependency graph changes—for example, when you push commits that update packages or versions
33
34
34
35
For supported ecosystems, see [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems).
@@ -41,7 +42,9 @@ When {% data variables.product.github %} detects a vulnerable dependency, a {% d
41
42
* Details about the vulnerability and its severity
42
43
* Information about a fixed version (when available)
43
44
44
-
For information about viewing and managing alerts, see [AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts).
45
+
{% ifversion ghec %}Alerts generated from an innersource advisory carry a distinct "Innersource" label, distinguishing them from alerts based on public advisories.
46
+
47
+
{% endif %}For information about viewing and managing alerts, see [AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts).
45
48
46
49
## Who can enable alerts?
47
50
@@ -102,7 +105,7 @@ Alternatively, you can opt into the weekly email digest, or even completely turn
102
105
103
106
* Alerts can't catch every security issue. Always review your dependencies and keep manifest and lock files up to date for accurate detection.
104
107
* New vulnerabilities may take time to appear in the {% data variables.product.prodname_advisory_database %} and trigger alerts.
105
-
* Only advisories reviewed by {% data variables.product.github %} trigger alerts.
108
+
* Only advisories reviewed by {% data variables.product.github %}{% ifversion ghec %} or published by your enterprise as innersource advisories{% endif %} trigger alerts.
Copy file name to clipboardExpand all lines: content/code-security/concepts/vulnerability-reporting-and-management/github-advisory-database.md
+15-9Lines changed: 15 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: GitHub Advisory database
3
-
intro: 'The {% data variables.product.prodname_advisory_database %} contains a list of known security vulnerabilities and malware, grouped in three categories: {% data variables.product.company_short %}-reviewed advisories, unreviewed advisories, and malware advisories.'
3
+
intro: 'Research known security vulnerabilities and malwarein open source packages, so you can understand and remediate the risks in your dependencies.'
4
4
versions:
5
5
fpt: '*'
6
6
ghec: '*'
@@ -17,19 +17,25 @@ category:
17
17
18
18
## About the {% data variables.product.prodname_advisory_database %}
19
19
20
-
{% data reusables.repositories.tracks-vulnerabilities %}
21
-
22
20
Security advisories are published as JSON files in the Open Source Vulnerability (OSV) format. For more information about the OSV format, see [Open Source Vulnerability format](https://ossf.github.io/osv-schema/).
23
21
24
22
## Types of security advisories
25
23
26
-
Each advisory in the {% data variables.product.prodname_advisory_database %} is for a vulnerability in open source projects or for malicious open source software.
24
+
Each advisory in the {% data variables.product.prodname_advisory_database %} relates to a specific security problem in a software component. These problems come in several varieties.
25
+
26
+
A vulnerability is a problem in a project's code that could be exploited to damage the confidentiality, integrity, or availability of the project or other projects that use it. Vulnerabilities in code are usually introduced by accident and fixed soon after they are discovered. Vulnerability advisories contain information about the range of released package versions where the problem exists, and the earliest version where the problem was fixed. This helps downstream users of the software address the vulnerability by updating their dependencies to use a fixed version as soon as it is available.
27
+
28
+
In contrast, malicious software, or malware, is code that is intentionally designed to perform unwanted or harmful functions. The malware may target hardware, software, confidential data, or users of any application that uses the malware. You need to remove the malware from your project and find an alternative, more secure replacement for the dependency. Malware alerts do not contain a fix version, because the defining characteristic of a malware alert is that there are no safe versions—the only safe course of action is not to use the package at all.
27
29
28
-
{% data reusables.repositories.a-vulnerability-is %} Vulnerabilities in code are usually introduced by accident and fixed soon after they are discovered. You should update your code to use the fixed version of the dependency as soon as it is available.
30
+
{% ifversion ghec %}
29
31
30
-
In contrast, malicious software, or malware, is code that is intentionally designed to perform unwanted or harmful functions. The malware may target hardware, software, confidential data, or users of any application that uses the malware. You need to remove the malware from your project and find an alternative, more secure replacement for the dependency.
32
+
Both of these advisory types are public information about open source packages. Users with {% data variables.product.prodname_GH_code_security %} or {% data variables.product.prodname_GHAS %} can also create innersource advisories, which restrict visibility to just their organization or enterprise. Innersource advisories use the same OSV format as public advisories but can be associated with either public or internal, private projects. This allows enterprises to use the familiar {% data variables.product.prodname_dependabot %} alert and update features to provide fixes to internal software consumers. For more information about innersource advisories, see [AUTOTITLE](/code-security/concepts/vulnerability-reporting-and-management/innersource-advisories).
31
33
32
-
### {% data variables.product.company_short %}-reviewed advisories
34
+
{% endif %}
35
+
36
+
### {% data variables.product.company_short %}-reviewed vulnerability advisories
37
+
38
+
{% data reusables.repositories.tracks-vulnerabilities %}
33
39
34
40
{% data reusables.advisory-database.github-reviewed-overview %}
35
41
@@ -52,7 +58,7 @@ If you have a suggestion for a new ecosystem we should support, please open an [
52
58
53
59
If you enable {% data variables.product.prodname_dependabot_alerts %} for your repositories, you are automatically notified when a new {% data variables.product.company_short %}-reviewed advisory reports a vulnerability for a package you depend on. For more information, see [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).
54
60
55
-
### Unreviewed advisories
61
+
### Unreviewed vulnerability advisories
56
62
57
63
{% data reusables.advisory-database.unreviewed-overview %}
58
64
@@ -64,7 +70,7 @@ If you enable {% data variables.product.prodname_dependabot_alerts %} for your r
64
70
65
71
{% data variables.product.prodname_dependabot %} doesn't generate alerts when malware is detected as most of the vulnerabilities cannot be resolved by downstream users. You can view malware advisories by searching for `type:malware` in the {% data variables.product.prodname_advisory_database %}.
66
72
67
-
Our malware advisories are mostly about substitution attacks. During this type of attack, an attacker publishes a package to the public registry with the same name as a dependency that users rely on from a third party or private registry, with the hope that the malicious version is consumed. {% data variables.product.prodname_dependabot %} doesn’t look at project configurations to determine if the packages are coming from a private registry, so we aren't sure if you're using the malicious version or a non-malicious version. Users who have their dependencies appropriately scoped should not be affected by malware.
73
+
Our malware advisories are mostly about substitution attacks. During this type of attack, an attacker publishes a package to the public registry with the same name as a dependency that users rely on from a third party or private registry, with the hope that the malicious version is consumed. {% data variables.product.prodname_dependabot %} doesn't look at project configurations to determine if the packages are coming from a private registry, so we can't determine whether you're using the malicious version or a non-malicious version that has the same name. Users who have their dependencies appropriately scoped should not be affected by malware.
intro: Enterprises can alert their internal repositories to vulnerabilities and ship automated fixes with {% data variables.product.prodname_dependabot %}, using advisories that stay private to a single enterprise.
5
+
versions:
6
+
fpt: '*'
7
+
ghec: '*'
8
+
contentType: concepts
9
+
category:
10
+
- Secure your dependencies
11
+
---
12
+
13
+
## About innersource advisories
14
+
15
+
The {% data variables.product.prodname_advisory_database %} provides a centralized source of alert information for security vulnerabilities. When an advisory about a vulnerable open source component is published, {% data variables.product.prodname_dependabot %} uses {% data variables.product.company_short %}'s dependency graph to find repositories that are using that component, then sends alerts and pull requests to notify the repository's owners and update the affected code to a newer version that fixes the vulnerability.
16
+
17
+
Enterprises can use the same mechanism to create alerts and send updates about internally discovered vulnerabilities. Innersource advisories use a similar Open Source Vulnerability (OSV) data format to public advisories, but are not publicly visible. They are scoped to a single enterprise and therefore only propagate alerts to repositories inside that enterprise. The subject of an innersource advisory can be either an internal or open source component, enabling enterprises to push fixes independent of public disclosure and alerting.
18
+
19
+
## Who can create innersource advisories
20
+
21
+
Innersource advisories can only be created in enterprises that have an active {% data variables.product.prodname_GH_code_security %} or {% data variables.product.prodname_GHAS %} license. If your license expires or {% data variables.product.prodname_GH_code_security %} is disabled, advisories will no longer be visible and will not propagate alerts. However, the underlying data will not be deleted, and re-activating the license will restore any pre-existing advisories.
22
+
23
+
## Limitations of innersource advisories
24
+
25
+
* Currently, advisories can only be scoped to an entire enterprise. You cannot target individual organizations or groups of organizations inside the enterprise.
26
+
* Each enterprise is limited to 2,000 active advisories. Attempts to create new advisories once that limit is reached will result in an error. If you reach this limit, you can withdraw old or outdated advisories. See [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/manage-innersource-advisories#withdrawing-innersource-advisories).
27
+
28
+
## Next steps
29
+
30
+
To create, distribute, and withdraw innersource advisories, see [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/manage-innersource-advisories).
0 commit comments