From d42e6e9a4aa750e406810a78ce9bcbe93d58153e Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Thu, 14 Sep 2023 10:20:51 -0700 Subject: [PATCH 1/2] Migrate file for secret scanning (#42490) --- middleware/index.js | 2 +- .../secret-scanning/middleware}/secret-scanning.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename {middleware/contextualizers => src/secret-scanning/middleware}/secret-scanning.js (93%) diff --git a/middleware/index.js b/middleware/index.js index a81b515a0b..b555db78f0 100644 --- a/middleware/index.js +++ b/middleware/index.js @@ -37,7 +37,7 @@ import robots from './robots.js' import earlyAccessLinks from '#src/early-access/middleware/early-access-links.js' import categoriesForSupport from './categories-for-support.js' import triggerError from '#src/observability/middleware/trigger-error.js' -import secretScanning from './contextualizers/secret-scanning.js' +import secretScanning from '#src/secret-scanning/middleware/secret-scanning.js' import ghesReleaseNotes from '#src/release-notes/middleware/ghes-release-notes.js' import ghaeReleaseNotes from '#src/release-notes/middleware/ghae-release-notes.js' import whatsNewChangelog from './contextualizers/whats-new-changelog.js' diff --git a/middleware/contextualizers/secret-scanning.js b/src/secret-scanning/middleware/secret-scanning.js similarity index 93% rename from middleware/contextualizers/secret-scanning.js rename to src/secret-scanning/middleware/secret-scanning.js index 695c40cb81..beecac87b4 100644 --- a/middleware/contextualizers/secret-scanning.js +++ b/src/secret-scanning/middleware/secret-scanning.js @@ -2,7 +2,7 @@ import fs from 'fs' import path from 'path' import yaml from 'js-yaml' -import getApplicableVersions from '../../lib/get-applicable-versions.js' +import getApplicableVersions from '../../../lib/get-applicable-versions.js' import { liquid } from '#src/content-render/index.js' const secretScanningPath = path.join('data/secret-scanning.yml') From efec762b8213043287c9b19fae5f44735580ad3c Mon Sep 17 00:00:00 2001 From: Sophie <29382425+sophietheking@users.noreply.github.com> Date: Thu, 14 Sep 2023 19:47:54 +0200 Subject: [PATCH 2/2] Alert rules: user-configured dismiss rules for Dependabot alerts [Public Beta] (#39300) Co-authored-by: github-actions Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> Co-authored-by: Jennifer Ramirez <101611327+jennifer-ramirez-08@users.noreply.github.com> Co-authored-by: Erin Havens Co-authored-by: Anne-Marie <102995847+am-stead@users.noreply.github.com> --- .../dependabot-rules-new-ruleset.png | Bin 0 -> 58795 bytes .../help/repository/dependabot-rules-page.png | Bin 0 -> 47265 bytes .../about-dependabot-alerts.md | 8 +- .../configuring-dependabot-alerts.md | 6 ++ ...t-rules-to-prioritize-dependabot-alerts.md | 95 ++++++++++++++---- .../github-security-features.md | 6 ++ .../securing-your-repository.md | 6 ++ ...pendabot-alert-custom-rules-repo-level.yml | 6 ++ ...es-auto-dismissal-npm-dev-dependencies.yml | 2 +- .../dependabot/dependabot-alert-rules.md | 1 + .../dependabot/github-alert-rules-beta.md | 5 + .../github-curated-alert-rules-beta.md | 5 - .../gated-features/dependabot-alerts.md | 2 +- 13 files changed, 112 insertions(+), 30 deletions(-) create mode 100644 assets/images/help/repository/dependabot-rules-new-ruleset.png create mode 100644 assets/images/help/repository/dependabot-rules-page.png create mode 100644 data/features/dependabot-alert-custom-rules-repo-level.yml create mode 100644 data/reusables/dependabot/dependabot-alert-rules.md create mode 100644 data/reusables/dependabot/github-alert-rules-beta.md delete mode 100644 data/reusables/dependabot/github-curated-alert-rules-beta.md diff --git a/assets/images/help/repository/dependabot-rules-new-ruleset.png b/assets/images/help/repository/dependabot-rules-new-ruleset.png new file mode 100644 index 0000000000000000000000000000000000000000..332166a63df59ceeb42637ab825f8d2485913d95 GIT binary patch literal 58795 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 literal 0 HcmV?d00001 diff --git a/assets/images/help/repository/dependabot-rules-page.png b/assets/images/help/repository/dependabot-rules-page.png new file mode 100644 index 0000000000000000000000000000000000000000..e684ceb6ea0c48b8e4f108502670a2d2f699b543 GIT binary patch literal 47265 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 literal 0 HcmV?d00001 diff --git a/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md b/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md index ca6f1fdded..b320d9694d 100644 --- a/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md +++ b/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md @@ -34,8 +34,6 @@ shortTitle: Dependabot alerts If your code depends on a package with a security vulnerability, this can cause a range of problems for your project or the people who use it. You should upgrade to a secure version of the package as soon as possible.{% ifversion GH-advisory-db-supports-malware %} If your code uses malware, you need to replace the package with a secure alternative.{% endif %} -{% data reusables.security-advisory.link-browsing-advisory-db %} - {% data reusables.dependabot.quickstart-link %} ## Detection of insecure dependencies @@ -89,6 +87,12 @@ When {% data variables.product.product_name %} identifies a vulnerable dependenc {% data reusables.dependabot.dependabot-alert-create-PR %} +{% ifversion dependabot-alert-custom-rules-repo-level %} + +{% data reusables.dependabot.dependabot-alert-rules %} + +{% endif %} + {% warning %} **Note**: {% data variables.product.product_name %}'s security features do not claim to catch all vulnerabilities{% ifversion GH-advisory-db-supports-malware %} and malware{% endif %}. We actively maintain {% data variables.product.prodname_advisory_database %} and generate alerts with the most up-to-date information. However, we cannot catch everything or tell you about known vulnerabilities within a guaranteed time frame. These features are not substitutes for human review of each dependency for potential vulnerabilities or any other issues, and we recommend consulting with a security service or conducting a thorough dependency review when necessary. diff --git a/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md b/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md index 49fd63e7d5..b42ae9c48f 100644 --- a/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md +++ b/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md @@ -31,6 +31,12 @@ You can enable or disable {% data variables.product.prodname_dependabot_alerts % - Your organization{% ifversion dependabot-alerts-enterprise-enablement or ghes > 3.8 %} - Your enterprise{% endif %} +{% ifversion dependabot-alert-custom-rules-repo-level %} + +{% data reusables.dependabot.dependabot-alert-rules %} + +{% endif %} + ## Managing {% data variables.product.prodname_dependabot_alerts %} for your personal account {% ifversion fpt or ghec %} diff --git a/content/code-security/dependabot/dependabot-alerts/using-alert-rules-to-prioritize-dependabot-alerts.md b/content/code-security/dependabot/dependabot-alerts/using-alert-rules-to-prioritize-dependabot-alerts.md index 745950e81d..dd3fab0859 100644 --- a/content/code-security/dependabot/dependabot-alerts/using-alert-rules-to-prioritize-dependabot-alerts.md +++ b/content/code-security/dependabot/dependabot-alerts/using-alert-rules-to-prioritize-dependabot-alerts.md @@ -1,7 +1,7 @@ --- title: Using alert rules to prioritize Dependabot alerts intro: 'You can use {% data variables.product.prodname_dependabot %} alert rules to filter out false positive alerts or alerts you''re not interested in.' -permissions: 'People with write permissions to a private repository can enable or disable {% data variables.product.prodname_dependabot %} alert rules for the repository.' +permissions: 'People with write permissions can view {% data variables.product.prodname_dependabot %} alert rules for the repository. People with with admin permissions to a repository, or the security manager role for the repository, can enable or disable {% data variables.product.prodname_dependabot %} alert rules for the repository{% ifversion dependabot-alert-custom-rules-repo-level %}, as well as create custom alert rules{% endif %}.' versions: feature: dependabot-alert-rules-auto-dismissal-npm-dev-dependencies type: how_to @@ -14,22 +14,29 @@ topics: shortTitle: Alert rules --- -## About {% data variables.product.prodname_dependabot %} alert rules - +{% data reusables.dependabot.github-alert-rules-beta %} -{% data reusables.dependabot.github-curated-alert-rules-beta %} +## About {% data variables.product.prodname_dependabot %} alert rules {% data variables.product.prodname_dependabot %} alert rules allow you to instruct {% data variables.product.prodname_dependabot %} to automatically dismiss or reopen certain alerts, based on complex logic from a variety of contextual criteria. -When enabled, the built-in `Dismiss low impact alerts` rule auto-dismisses certain types of vulnerabilities that are found in npm dependencies used in development. These alerts cover cases that feel like false alarms to most developers as the associated vulnerabilities: -- Are unlikely to be exploitable in a developer (non-production or runtime) environment. -- May relate to resource management, programming and logic, and information disclosure issues. -- At worst, have limited effects like slow builds or long-running tests. -- Are not indicative of issues in production. +{% ifversion dependabot-alert-custom-rules-repo-level %} +There are two types of {% data variables.product.prodname_dependabot %} alert rules: -This {% data variables.product.company_short %}-curated `Dismiss low impact alerts` rule includes vulnerabilities relating to resource management, programming and logic, and information disclosure issues. For more information, see "[Publicly disclosed CWEs used by the Dismiss low impact rule](#publicly-disclosed-cwes-used-by-the-dismiss-low-impact-rule)." +- {% data variables.product.company_short %}-curated rules +- User-created custom rules -Filtering out these low impact alerts allows you to focus on alerts that matter to you, without having to worry about missing potentially high-risk development-scoped alerts. +{% data variables.product.company_short %}-curated rules are enabled by default for public repositories and can be opted into for private repositories. However, it's important to note that you cannot modify the {% data variables.product.company_short %}-curated rules. With user-created custom rules, you can create your own rules to automatically dismiss or reopen alerts based on your own criteria.{% endif %} + +Whilst you may find it useful to auto-dismiss low impact alerts, you can still reopen auto-dismissed alerts and filter to see which alerts have been auto-dismissed. For more information, see "[Managing automatically dismissed alerts](#managing-automatically-dismissed-alerts)." + +Additionally, auto-dismissed alerts are still available for reporting and reviewing, and can be auto-reopened if the alert metadata changes, for example: +- If you change the scope of a dependency from development to production. +- If {% data variables.product.company_short %} modifies certain metadata for the related advisory. + +Auto-dismissed alerts are defined by the `resolution:auto-dismiss` close reason. Automatic dismissal activity is included in alert webhooks, REST and GraphQL APIs, and the audit log. For more information, see "[AUTOTITLE](/rest/dependabot/alerts)" in the REST API documentation, and the "`repository_vulnerability_alert` " section in "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#repository_vulnerability_alert-category-actions)." + +## About {% data variables.product.company_short %}-curated rules {% note %} @@ -37,30 +44,76 @@ Filtering out these low impact alerts allows you to focus on alerts that matter {% endnote %} -Whilst you may find it useful to auto-dismiss low impact alerts, you can still reopen auto-dismissed alerts, and filter to see which alerts have been auto-dismissed. For more information, see "[Managing automatically dismissed alerts](#managing-automatically-dismissed-alerts)." +When enabled, the built-in `Dismiss low impact alerts` rule auto-dismisses certain types of vulnerabilities that are found in npm dependencies used in development. These alerts cover cases that feel like false alarms to most developers as the associated vulnerabilities: -Additionally, auto-dismissed alerts are still available for reporting and reviewing, and can be re-introduced as not having been dismissed if the alert metadata changes, for example: -- If you change the scope of a dependency from development to production. -- If {% data variables.product.company_short %} modifies certain metadata for the related advisory. +- Are unlikely to be exploitable in a developer (non-production or runtime) environment. +- May relate to resource management, programming and logic, and information disclosure issues. +- At worst, have limited effects like slow builds or long-running tests. +- Are not indicative of issues in production. -Auto-dismissed alerts are defined by the `resolution:auto-dismiss` close reason. Automatic dismissal activity is included in alert webhooks, REST and GraphQL APIs, and the audit log. For more information, see "[AUTOTITLE](/rest/dependabot/alerts)" in the REST API documentation, and the "`repository_vulnerability_alert` " section in "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#repository_vulnerability_alert-category-actions)." +This {% data variables.product.company_short %}-curated `Dismiss low impact alerts` rule includes vulnerabilities relating to resource management, programming and logic, and information disclosure issues. For more information, see "[Publicly disclosed CWEs used by the `Dismiss low impact alerts` rule](#publicly-disclosed-cwes-used-by-the-dismiss-low-impact-alerts-rule)." -By default, {% data variables.product.company_short %}-curated {% data variables.product.prodname_dependabot %} alert rules are enabled on public repositories and disabled for private repositories. Administrators of private repositories can opt in by enabling alert rules for their repository. For more information, see "[Enabling {% data variables.product.prodname_dependabot %} alert rules for your private repository](#enabling-dependabot-alert-rules-for-your-private-repository)." +Filtering out these low impact alerts allows you to focus on alerts that matter to you, without having to worry about missing potentially high-risk development-scoped alerts. -## Enabling {% data variables.product.prodname_dependabot %} alert rules for your private repository +By default, {% data variables.product.company_short %}-curated {% data variables.product.prodname_dependabot %} alert rules are enabled on public repositories and disabled for private repositories. Administrators of private repositories can opt in by enabling alert rules for their repository. + +### Enabling the `Dismiss low impact alerts` rule for your private repository {% ifversion fpt or ghec %}You first need to enable {% data variables.product.prodname_dependabot_alerts %} for the repository. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts#managing-dependabot-alerts-for-your-repository)."{% elsif ghes %}{% data variables.product.prodname_dependabot_alerts %} for your repository can be enabled or disabled by your enterprise owner. For more information, see "[AUTOTITLE](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)."{% endif %} -{% ifversion fpt or ghec %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-code-security-and-analysis %} +{% ifversion dependabot-alert-custom-rules-repo-level %} +1. Under "{% data variables.product.prodname_dependabot_alerts %}", click {% octicon "gear" aria-label="The Gear icon" %} close to "{% data variables.product.prodname_dependabot %} rules". + + ![Screenshot of the "Code security and analysis" page for a repository. The gear icon is highlighted with an orange outline.](/assets/images/help/repository/dependabot-rules-page.png) + +1. Select **Dismiss low impact alerts**. +1. Click **Save rules**. +{% else %} 1. Under "{% data variables.product.prodname_dependabot_alerts %}", click **Dismiss low impact alerts**. + ![Screenshot of the "Code security and analysis" page for a repository. The "Dismiss low impact alerts" option is highlighted with an orange outline.](/assets/images/help/repository/enable-autodismissal-low-impact-dependabot-alerts.png) + +{% endif %} + +{% ifversion dependabot-alert-custom-rules-repo-level %} +## About user-created custom rules + +You can create your own {% data variables.product.prodname_dependabot %} alert rules based on alert criteria. + +- Dependency scope (`devDependency` or `runtime`) +- Package name +- CWE +- Severity +- Patch availability +- Manifest path +- Ecosystem + +### Adding a custom rule to your repository + +You can add a custom rule to your {% ifversion fpt %}public and private{% elsif ghec or ghes %}public, private, and internal{% endif %} repositories. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +1. Under "{% data variables.product.prodname_dependabot_alerts %}", click {% octicon "gear" aria-label="The Gear icon" %} close to "{% data variables.product.prodname_dependabot %} rules". + + ![Screenshot of the "Code security and analysis" page for a repository. The gear icon is highlighted with an orange outline.](/assets/images/help/repository/dependabot-rules-page.png) + +1. Click **New ruleset**. + + ![Screenshot of the "Code security and analysis" page for a repository. The gear icon is highlighted with an orange outline.](/assets/images/help/repository/dependabot-rules-new-ruleset.png) + +1. Under "Name", describe what this rule will do. +1. Under "Alert criteria", select the criteria you want to use to filter alerts. +1. Under "Rules", select the action you want to take on alerts that match the criteria. +1. Click **Create rule**. + {% endif %} ## Managing automatically dismissed alerts - You can filter to see which alerts have been auto-dismissed, and you can reopen dismissed alerts. @@ -84,7 +137,7 @@ You can filter to see which alerts have been auto-dismissed, and you can reopen ![Screenshot of an alert title on the "Dependabot Alerts" page. To the left of the alert, a checkbox is highlighted in an orange outline.](/assets/images/help/repository/dependabot-reopen-closed-alert.png) -## Publicly disclosed CWEs used by the Dismiss low impact rule +## Publicly disclosed CWEs used by the `Dismiss low impact alerts` rule Along with the `ecosystem:npm` and `scope:development` alert metadata, we use the following {% data variables.product.company_short %}-curated Common Weakness Enumerations (CWEs) to filter out low impact alerts for the `Dismiss low impact alerts` rule. We regularly improve this list and vulnerability patterns covered by built-in rules. diff --git a/content/code-security/getting-started/github-security-features.md b/content/code-security/getting-started/github-security-features.md index 7970c7be98..dd9c1529ed 100644 --- a/content/code-security/getting-started/github-security-features.md +++ b/content/code-security/getting-started/github-security-features.md @@ -41,6 +41,12 @@ View alerts about dependencies that are known to contain security vulnerabilitie and "[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates)." {% endif %} +{% ifversion dependabot-alert-custom-rules-repo-level %} + +{% data reusables.dependabot.dependabot-alert-rules %} + +{% endif %} + {% data reusables.dependabot.quickstart-link %} {% ifversion ghae %} diff --git a/content/code-security/getting-started/securing-your-repository.md b/content/code-security/getting-started/securing-your-repository.md index 3022335049..c4427cf99e 100644 --- a/content/code-security/getting-started/securing-your-repository.md +++ b/content/code-security/getting-started/securing-your-repository.md @@ -54,6 +54,12 @@ For more information, see "[AUTOTITLE](/code-security/supply-chain-security/unde {% data variables.product.prodname_dependabot_alerts %} are generated when {% data variables.product.prodname_dotcom %} identifies a dependency in the dependency graph with a vulnerability. {% ifversion fpt or ghec %}You can enable {% data variables.product.prodname_dependabot_alerts %} for any repository.{% endif %} +{% ifversion dependabot-alert-custom-rules-repo-level %} + +{% data reusables.dependabot.dependabot-alert-rules %} + +{% endif %} + {% data reusables.dependabot.quickstart-link %} {% ifversion fpt or ghec %} diff --git a/data/features/dependabot-alert-custom-rules-repo-level.yml b/data/features/dependabot-alert-custom-rules-repo-level.yml new file mode 100644 index 0000000000..0e45661c39 --- /dev/null +++ b/data/features/dependabot-alert-custom-rules-repo-level.yml @@ -0,0 +1,6 @@ +# Reference: Issue #10089 - Alert rules: user-configured dismiss rules for Dependabot alerts + +versions: + fpt: '*' + ghec: '*' + ghes: '>3.10' diff --git a/data/features/dependabot-alert-rules-auto-dismissal-npm-dev-dependencies.yml b/data/features/dependabot-alert-rules-auto-dismissal-npm-dev-dependencies.yml index 6d6b36cbd1..429d69bab9 100644 --- a/data/features/dependabot-alert-rules-auto-dismissal-npm-dev-dependencies.yml +++ b/data/features/dependabot-alert-rules-auto-dismissal-npm-dev-dependencies.yml @@ -3,4 +3,4 @@ versions: fpt: '*' ghec: '*' - ghes: '>3.9' + ghes: '>3.10' diff --git a/data/reusables/dependabot/dependabot-alert-rules.md b/data/reusables/dependabot/dependabot-alert-rules.md new file mode 100644 index 0000000000..095c553ab1 --- /dev/null +++ b/data/reusables/dependabot/dependabot-alert-rules.md @@ -0,0 +1 @@ +Additionally, you can use {% data variables.product.prodname_dependabot %} alert rules to filter out false positive alerts or alerts you're not interested in, based on complex logic from a variety of contextual criteria. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/using-alert-rules-to-prioritize-dependabot-alerts)." \ No newline at end of file diff --git a/data/reusables/dependabot/github-alert-rules-beta.md b/data/reusables/dependabot/github-alert-rules-beta.md new file mode 100644 index 0000000000..762ff38be3 --- /dev/null +++ b/data/reusables/dependabot/github-alert-rules-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** {% data variables.product.prodname_dependabot %} alert rules are currently in beta and are subject to change. + +{% endnote %} diff --git a/data/reusables/dependabot/github-curated-alert-rules-beta.md b/data/reusables/dependabot/github-curated-alert-rules-beta.md deleted file mode 100644 index 987b6f046f..0000000000 --- a/data/reusables/dependabot/github-curated-alert-rules-beta.md +++ /dev/null @@ -1,5 +0,0 @@ -{% note %} - -**Note:** {% data variables.product.company_short %}-curated {% data variables.product.prodname_dependabot %} alert rules are currently in beta and are subject to change. - -{% endnote %} diff --git a/data/reusables/gated-features/dependabot-alerts.md b/data/reusables/gated-features/dependabot-alerts.md index acaafe1910..abb55d735d 100644 --- a/data/reusables/gated-features/dependabot-alerts.md +++ b/data/reusables/gated-features/dependabot-alerts.md @@ -1,5 +1,5 @@ {%- ifversion fpt or ghec %} -{% data variables.product.prodname_dependabot_alerts %} are free to use for all repositories on {% data variables.product.prodname_dotcom_the_website %}. +{% data variables.product.prodname_dependabot_alerts %} are free to use for all repositories on {% data variables.product.prodname_dotcom_the_website %}. Advanced capabilities, like reachability analysis and the ability to create custom alert rules, are available on any public repositories (for free), and on any private repositories, when you have a license for {% data variables.product.prodname_GH_advanced_security %}. {%- elsif ghes %} {% data variables.product.prodname_dependabot_alerts %} are free to use for repositories (user-owned and organization-owned) on {% data variables.product.prodname_ghe_server %}, provided enterprise administrators enable the feature for your enterprise.