Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repo sync #34658

Merged
merged 2 commits into from
Sep 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
142 changes: 140 additions & 2 deletions content/code-security/security-overview/viewing-security-insights.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,20 @@ Both the enterprise and organization-level security overviews have a dashboard.

You can view a variety of metrics about the security alerts in your organization{% ifversion security-overview-dashboard-enterprise %} or enterprise{% endif %}. The dashboard displays trending data that tracks alert counts and activity over time, as well as snapshot data that reflects the current state.

{% ifversion security-overview-3-tab-dashboard %}
The dashboard is divided into three tabs, each focused around a different security goal:
* **Detection**: this tab shows metrics about the status and age of alerts in your organization{% ifversion security-overview-dashboard-enterprise %} or enterprise{% endif %}, the secrets that have been blocked or bypassed, and the top repositories and vulnerabilities that pose the highest potential security risk.
* **Remediation**: this tab shows metrics about how alerts are resolved and alert activity over time.
* **Prevention**: this tab shows metrics about how vulnerabilities have been prevented and fixed.

>[!NOTE]
> Unlike the **Detection** and **Remediation** tabs which report alerts on the default branch, the **Prevention** tab gives you insights for {% data variables.product.prodname_codeql %} alerts found in merged pull requests.

{% else %}
* The top section of the dashboard shows information about the status and age of alerts in your organization{% ifversion security-overview-dashboard-enterprise %} or enterprise{% endif %}, as well as data about secrets that have been blocked or bypassed.
* The "Remediation" section shows information about how alerts are resolved and alert activity over time.
* The "Impact analysis" section shows the repositories that pose the highest potential security risk in your organization{% ifversion security-overview-dashboard-enterprise %} or enterprise{% endif %}.
{% endif %}

You can filter the overview dashboard by selecting a specific time period, and apply additional filters to focus on narrower areas of interest. All data and metrics across the dashboard will change as you apply filters. {% ifversion security-overview-additional-tools %}By default, the dashboard displays all alerts from {% data variables.product.prodname_dotcom %} tools, but you can use the tool filter to show alerts from a specific tool ({% data variables.product.prodname_secret_scanning %}, {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_code_scanning %} using {% data variables.product.prodname_codeql %}, a specific third-party tool) or all third-party {% data variables.product.prodname_code_scanning %} tools.{% endif %} For more information, see "[AUTOTITLE](/code-security/security-overview/filtering-alerts-in-security-overview)."

Expand All @@ -57,7 +68,8 @@ Keep in mind that the overview page tracks changes over time for security alert

{% data reusables.organizations.navigate-to-org %}
{% data reusables.organizations.security-overview %}
1. The overview page is the primary view that you will see after clicking on the "Security" tab. To get to the dashboard from another security overview page, in the sidebar, click **{% octicon "graph" aria-hidden="true" %} Overview**.
1. The overview page is the primary view that you will see after clicking on the "Security" tab. To get to the dashboard from another security overview page, in the sidebar, click **{% octicon "graph" aria-hidden="true" %} Overview**.{% ifversion security-overview-3-tab-dashboard %}
1. By default, the **Detection** tab is displayed. If you want to switch to another tab to see other metrics, click **Remediation** or **Prevention**.{% endif %}
{% data reusables.security-overview.filter-and-toggle %}

{% ifversion security-overview-dashboard-enterprise %}
Expand All @@ -67,13 +79,137 @@ Keep in mind that the overview page tracks changes over time for security alert
{% data reusables.security-overview.enterprise-filters-tip %}

{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %}
{% data reusables.code-scanning.click-code-security-enterprise %}
{% data reusables.code-scanning.click-code-security-enterprise %}{% ifversion security-overview-3-tab-dashboard %}
1. By default, the **Detection** tab is displayed. If you want to switch to another tab to see other metrics, click **Remediation** or **Prevention**.{% endif %}
{% data reusables.security-overview.filter-and-toggle %}

{% endif %}

## Understanding the overview dashboard

{% ifversion security-overview-3-tab-dashboard %}

* [Detection tab](#detection-tab)
* [Remediation tab](#remediation-tab)
* [Prevention tab](#prevention-tab)

Some metrics in the security overview dashboard include a trend indicator, which shows the percentage gain or loss for the chosen time period relative to previous period. For example, when you select a week with 10 alerts, if the previous week had 20 alerts, the trend indicator reports that the metric has dropped by 50%. If the average age of the open alerts is 15 days, and for the previous period it was 5 days, the trend indicator reports that the metric has risen by 200%.

>[!NOTE]
> The number of alerts shown on the security overview dashboard may not match the number of {% data variables.product.prodname_code_scanning %} alerts. The security overview dashboard focuses on the security landscape of your organization, and only includes alerts with a security severity ("Critical", "High", "Medium", or "Low"), but {% data variables.product.prodname_codeql %} and third-party tools may separately produce non-security alerts with a level of "Error", "Warning", or "Note". For more information about alert severity and security severity levels in {% data variables.product.prodname_code_scanning %}, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)."

### Detection tab

* [Open alerts over time](#open-alerts-over-time)
* [Age of alerts](#age-of-alerts)
* [Reopened alerts](#reopened-alerts)
* [Secrets bypassed or blocked](#secrets-bypassed-or-blocked)
* [Impact analysis table](#impact-analysis-table)

#### Open alerts over time

The "Open alerts over time" graph shows the change in the number of open alerts in your organization or enterprise over the time period you have chosen. By default, alerts are grouped by severity. You can change the way alerts are grouped.

Open alerts include both newly created and existing open security alerts. New alerts are represented on their creation date, while alerts that existed before the chosen time period are represented at the start of the period. Once an alert is remediated or dismissed, it is not included in the graph. Instead, the alert will move to the closed alerts graph.

#### Age of alerts

The "Age of alerts" metric is the average age of all alerts that are still open at the end of the chosen time period.

The age of each open alert is calculated by subtracting the date the alert was created from the date that the chosen time period ends. For reopened alerts, the age is calculated by subtracting the original created date rather than the date the alert was reopened.

#### Reopened alerts

The "Reopened alerts" metric is the total open alerts that were reopened during the chosen time period. Only alerts that are open at the end of the reporting period are reported. This includes:

* Alerts that were closed as of the day before the chosen time period, and that remain open at the end of the period.
* Newly created alerts that were closed, and then reopened, during the chosen time period.
* Alerts that were open at the start of the chosen time period, but closed and then reopened within the same period.

#### Secrets bypassed or blocked

The "Secrets bypassed" metric shows the ratio of secrets bypassed to the total secrets blocked by push protection.

You can also see how many secrets were successfully blocked, which is calculated by subtracting the number of secrets bypassed from the total number of secrets blocked by push protection. A secret is considered to have been successfully blocked when it has been corrected, and not committed to the repository.

You can click **View details** to view the {% data variables.product.prodname_secret_scanning %} report with the same filters and time period selected.

For more information on {% data variables.product.prodname_secret_scanning %} push protection metrics, see "[AUTOTITLE](/code-security/security-overview/viewing-metrics-for-secret-scanning-push-protection)."

#### Impact analysis table

The impact analysis table has separate tabs showing data for: "Repositories" and "Advisories".

* The "Repositories" tab shows the top 10 repositories with the most open alerts at the end of the chosen time period, ranked by the total number of open alerts. For each repository, the total number of open alerts is shown alongside a breakdown by severity.

* The "Advisories" tab shows the 10 CVE advisories that triggered the most {% data variables.product.prodname_dependabot %} alerts at the end of the chosen time period, ranked by the total number of open alerts. For each advisory, the total number of open alerts is shown alongside a severity rating.

### Remediation tab

* [Closed alerts over time](#closed-alerts-over-time)
* [Mean time to remediate](#mean-time-to-remediate)
* [Net resolve rate](#net-resolve-rate)
* [Alert activity graph](#alert-activity-graph)

#### Closed alerts over time

The "Closed alerts over time" graph shows the change in the number of closed alerts in your organization or enterprise over the time period you have chosen. By default, alerts are grouped by severity. You can change the way alerts are grouped.

Closed alerts include security alerts that have been successfully remediated or dismissed prior to or during the chosen time period. Alerts closed during the time period are represented on the graph on their closed date, while alerts remediated or dismissed before the chosen time period are represented at the start of the period.

#### Mean time to remediate

The "Mean time to remediate" metric is the average age of all alerts that were remediated or dismissed in the chosen time period. Alerts that were closed as "false positive" are excluded.

The age of each closed alert is calculated by subtracting the date the alert was created from the date that the alert was last closed during the chosen time period. For reopened alerts, the age is calculated by subtracting the original created date rather than the date the alert was reopened.

#### Net resolve rate

The "Net resolve rate" metric is the rate at which alerts are being closed. This metric is similar to measuring "developer velocity", reflecting the speed and efficiency with which alerts are resolved.

The rate is calculated by dividing the number of alerts that were closed and remained closed during the chosen time period, by the number of alerts created during the time period.

>[!NOTE] The net resolve rate takes into account any new and any closed alerts during the chosen time period. This means that the set of new alerts and set of closed alerts used for the calculation do not necessarily correspond, since they may represent different populations of alerts.

Alerts that are reopened and re-closed during the chosen time period are ignored.

#### Alert activity graph

Expanding on the alert trends graph, the alert activity graph shows you alert inflows and outflows over your chosen time period.

Green bars represent the number of new alerts created during the segmented time period. Purple bars represent the number of alerts that were closed during the segmented time period. The blue dotted line represents the net alert activity, which is the difference between new and closed alerts.

### Prevention tab

>[!NOTE]
> Unlike the **Detection** and **Remediation** tabs which report alerts on the default branch, the **Prevention** tab gives you insights for {% data variables.product.prodname_codeql %} alerts found in merged pull requests.

* [Introduced versus prevented](#introduced-versus-prevented)
* [Vulnerabilities fixed in pull requests](#vulnerabilities-fixed-in-pull-requests){% ifversion code-scanning-autofix %}
* [{% data variables.product.prodname_copilot_autofix_short %} suggestions](##pull-request-alerts-fixed-with-copilot-autofix-suggestions){% endif %}

#### Introduced versus prevented

The "Introduced versus Prevented" graph shows the cumulative number of vulnerabilities that were caught in the developer workflow versus the vulnerabilities introduced in your organization or enterprise over the time period you have chosen. Prevented vulnerabilities are defined as the count of pull request alerts detected by {% data variables.product.prodname_codeql %} that have been fixed for merged pull requests. Introduced vulnerabilities are the count of new pull request alerts detected by {% data variables.product.prodname_codeql %} that were dismissed as "Risk accepted" or were unresolved at the time the pull request was merged.

The dates for prevented alerts are based on the date the alerts were fixed, and the dates for introduced alerts are based on the date the alerts were created.

#### Vulnerabilities fixed in pull requests

The "Vulnerabilities fixed in pull requests" metric shows the count of pull request alerts detected by {% data variables.product.prodname_codeql %} or {% data variables.product.prodname_secret_scanning %} with a close reason of "Fixed" that are tied to a merged pull request.

{% ifversion code-scanning-autofix %}

#### Pull request alerts fixed with {% data variables.product.prodname_copilot_autofix_short %} suggestions

{% data variables.product.prodname_copilot_autofix %} for {% data variables.product.prodname_code_scanning %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning)."

The "Pull request alerts fixed with autofix suggestions" metric shows the ratio of accepted {% data variables.product.prodname_copilot_autofix_short %} suggestions to the total number of {% data variables.product.prodname_copilot_autofix_short %} suggestions on pull request alerts detected by {% data variables.product.prodname_codeql %}.

{% endif %}

{% else %}

* [Alert trends graph](#alert-trends-graph)
* [Age of alerts](#age-of-alerts)
* [Secrets bypassed or blocked](#secrets-bypassed-or-blocked)
Expand Down Expand Up @@ -177,3 +313,5 @@ The impact analysis table has separate tabs showing data for: "Repositories" and
The impact analysis table shows the top 10 repositories with the most open alerts as of the end of the chosen time period, ranked by the total number of open alerts. For each repository, the total number of open alerts is shown alongside a breakdown by severity.

{% endif %}

{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,28 @@ shortTitle: Chat in IDE

{% data reusables.copilot.chat-access-denied %}

## AI models for {% data variables.product.prodname_copilot_chat_short %}

{% data reusables.copilot.copilot-chat-models-beta-note %}

{% data reusables.copilot.copilot-chat-models-list %}

### Changing your AI model

{% data reusables.copilot.model-picker-enable-preview-features %}
{% data reusables.copilot.open-chat-vs-code %}
1. In the bottom right of the chat view, select the **CURRENT-MODEL** {% octicon "chevron-down" aria-hidden="true" %} dropdown menu, then click the AI model of your choice.

> [!NOTE]
>
> * If you use {% data variables.product.prodname_copilot_extensions_short %}, they may override the model you select.
> * Experimental pre-release versions of the models may not interact with all filters correctly, including the duplication detection filter.

## Submitting prompts

You can ask {% data variables.product.prodname_copilot_chat_short %} to give code suggestions, explain code, generate unit tests, and suggest code fixes.

1. Open the chat view by clicking the chat icon in the activity bar or by entering <kbd>Control</kbd>+<kbd>Command</kbd>+<kbd>i</kbd> (Mac) / <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>i</kbd> (Windows/Linux).
{% data reusables.copilot.open-chat-vs-code %}

![Screenshot of the {% data variables.product.prodname_copilot_chat_short %} icon in the Activity Bar.](/assets/images/help/copilot/vsc-copilot-chat-icon.png)

Expand Down
2 changes: 2 additions & 0 deletions content/github-models/prototyping-with-ai-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ To find AI models, go to [{% data variables.product.prodname_marketplace %}](htt

To view details about a model, click on the model's name.

> [!NOTE] Access to OpenAI's `o1` models is in public beta and subject to change. To request access, join the [waitlist](https://github.com/o1-waitlist-signup).
## Experimenting with AI models in the playground

>[!NOTE]
Expand Down
5 changes: 5 additions & 0 deletions data/features/security-overview-3-tab-dashboard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Reference: #14351.
# Documentation for security overview dashboard 3-tab view
versions:
ghes: '>3.15'
ghec: '*'
1 change: 1 addition & 0 deletions data/reusables/copilot/copilot-chat-models-beta-note.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
> [!NOTE] The ability to change the AI model used by {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %} is in beta and subject to change. To request access, join the [waitlist](https://github.com/o1-waitlist-signup).
7 changes: 7 additions & 0 deletions data/reusables/copilot/copilot-chat-models-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
For those enrolled in the model selection beta for {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %}, the following models are currently available:

* `gpt-4o`: This is the default {% data variables.product.prodname_copilot_chat_short %} model. It is a versatile, multimodal model that excels in both text and image processing and is designed to provide fast, reliable responses. It also has superior performance in non-English languages.
* `o1-preview`: This model is focused on advanced reasoning and solving complex problems, in particular in math and science. It responds more slowly than the `gpt-4o` model. You can make 10 requests to this model per day.
* `o1-mini`: This is the faster version of the `o1-preview` model, balancing the use of complex reasoning with the need for faster responses. It is best suited for code generation and small context operations. You can make 50 requests to this model per day.

For more information on these models, see [Models](https://platform.openai.com/docs/models/models) in the OpenAI Platform documentation.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1. If you access {% data variables.product.prodname_copilot_chat_short %} through a {% data variables.product.prodname_copilot_for_business %}{% ifversion ghec %} or {% data variables.product.prodname_copilot_enterprise %}{% endif %} subscription, your organization{% ifversion ghec %} or enterprise{% endif %} must enable preview features for {% data variables.product.prodname_copilot_short %}. See "[AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization){% ifversion ghec %}" or "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise){% endif %}."
1 change: 1 addition & 0 deletions data/reusables/copilot/open-chat-vs-code.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1. To open the chat view, click the chat icon in the activity bar or press <kbd>Control</kbd>+<kbd>Command</kbd>+<kbd>i</kbd> (Mac) / <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>i</kbd> (Windows/Linux).
Loading
Loading