

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon Q Developer 檢閱程式碼
<a name="code-reviews"></a>

Amazon Q Developer 可以檢閱您的程式碼基底是否有安全漏洞和程式碼品質問題，以改善整個開發週期的應用程式狀態。您可以檢閱整個程式碼庫、分析本機專案或工作區中的所有檔案，或檢閱單一檔案。您也可以啟用自動檢閱，在撰寫程式碼時評估程式碼。

檢閱是由生成式 AI 和規則型自動推理共同提供支援。[Amazon Q 偵測器](https://docs.aws.amazon.com/codeguru/detector-library)由多年的 AWS 和 Amazon.com 安全最佳實務通知，支援以規則為基礎的安全和品質審查。隨著安全政策更新並新增了偵測器，檢閱會自動納入新的偵測器，以確保您的程式碼遵循最新的政策。

如需此功能支援的 IDE 相關資訊，請參閱 [支援的 IDE](q-in-IDE.md#supported-ides-features)。如需支援的語言相關資訊，請參閱 [程式碼檢閱的語言支援](q-language-ide-support.md#code-reviews-language-support)。

**Topics**
+ [運作方式](#how-code-reviews-work)
+ [程式碼問題的類型](#issue-types)
+ [配額](#quotas)
+ [使用 Amazon Q Developer 開始程式碼檢閱](start-review.md)
+ [使用 Amazon Q Developer 解決程式碼問題](address-code-issues.md)
+ [篩選程式碼問題](filter-code-issues.md)
+ [Amazon Q Developer 程式碼檢閱中的程式碼問題嚴重性](code-issue-severity.md)

## 運作方式
<a name="how-code-reviews-work"></a>

在程式碼檢閱期間，Amazon Q 會評估您的自訂程式碼，以及您程式碼中的第三方程式庫。開始程式碼檢閱之前，Amazon Q 會先套用篩選，以確保僅檢閱相關程式碼。在篩選過程中，Amazon Q 會排除不支援的語言、測試程式碼和開放原始程式碼。

Amazon Q 可以檢閱您最近的程式碼變更，或是整個檔案或專案。若要啟動檢閱，請在 IDE 中開啟程式碼資料夾，然後要求 Amazon Q 從聊天面板檢閱程式碼。

根據預設，如果您只要求 Amazon Q 檢閱您的程式碼，它只會檢閱 IDE 中作用中檔案中的程式碼變更。程式碼變更取決於 檔案上 `git diff`命令的輸出。如果沒有 diff 檔案，Amazon Q 會檢閱整個程式碼檔案。如果沒有開啟任何檔案，它會搜尋專案中要檢閱的任何程式碼變更。

同樣地，如果您要求 Amazon Q 檢閱整個專案或工作區，它會先嘗試檢閱您的程式碼變更。如果沒有 diff 檔案，它會檢閱整個程式碼庫。

## 程式碼問題的類型
<a name="issue-types"></a>

Amazon Q 會檢閱您的程式碼是否有下列類型的程式碼問題：
+ **SAST 掃描 — 偵測原始程式碼中的安全漏洞。**Amazon Q 可識別各種安全問題，例如資源洩漏、SQL Injection 隱碼攻擊和跨網站指令碼。
+  **密碼偵測 — 防止暴露您程式碼中的敏感或機密資訊。**Amazon Q 會檢閱您的程式碼和文字檔案中是否有密碼，例如硬式編碼的密碼、資料庫連線字串及使用者名稱。密碼問題清單包含有關未受保護密碼及如何保護密碼的資訊。
+ **IaC 問題 — 評估基礎結構檔案的安全狀態。**Amazon Q 可以檢閱您的基礎結構即程式碼 (IaC) 程式碼檔案，以偵測組態錯誤、合規和安全問題。
+  **程式碼品質問題 — 確保您的程式碼合乎品質、可維護性和效率標準。**Amazon Q 會產生與各種品質問題相關的程式碼問題，包括但不限於效能、機器學習規則和 AWS 最佳實務。
+  **程式碼部署風險 — 評估與部署程式碼相關的風險。**Amazon Q 會判斷部署或發佈程式碼是否有任何風險，包括應用程式效能和操作中斷。
+  **軟體組成分析 (SCA) — 評估第三方程式碼。**Amazon Q 會檢查程式碼中整合的第三方元件、程式庫、架構和相依性，確保第三方程式碼安全無虞且是最新狀態。

如需 Amazon Q 用來檢閱程式碼的完整偵測器清單，請參閱 [Amazon Q 偵測器程式庫](https://docs.aws.amazon.com/codeguru/detector-library/)。

## 配額
<a name="quotas"></a>

Amazon Q 安全掃描會維持下列配額：
+ **輸入成品大小** - IDE 專案工作空間內所有檔案的大小上限，包括第三方程式庫、組建 JAR 檔案及暫存檔案。
+ **原始程式碼大小** - 在篩選所有第三方程式庫和不支援的檔案之後，Amazon Q 掃描的原始程式碼大小上限。

下表說明自動掃描和完整專案掃描維持的配額。


| 資源 | 自動檢閱 | 檔案或專案檢閱 | 
| --- | --- | --- | 
| 輸入成品大小 | 200 KB | 500 MB | 
| 原始程式碼大小 | 200 KB | 50 MB | 

# 使用 Amazon Q Developer 開始程式碼檢閱
<a name="start-review"></a>

Amazon Q 可以檢閱整個檔案或程式碼庫，或在撰寫程式碼時自動檢閱程式碼。

開始進行之前，請確定您已在支援程式碼檢閱的 IDE 中安裝 Amazon Q。如需詳細資訊，請參閱[在 IDE 中安裝 Amazon Q Developer 延伸模組或外掛程式](q-in-IDE-setup.md)。

**Topics**
+ [檢閱檔案、專案或工作區](#project-review)
+ [範例任務和提示](#code-review-prompts)
+ [在您編寫程式碼時進行檢閱](#auto-scan)

## 檢閱檔案、專案或工作區
<a name="project-review"></a>

您可以從聊天面板啟動檢閱，讓 Amazon Q 檢閱特定檔案或專案。檔案和專案檢閱包括規則型和生成式 AI 支援的檢閱。

Amazon Q 完成檢閱後，您可以調查問題並取得程式碼修正以修復問題。如需詳細資訊，請參閱[解決程式碼問題](address-code-issues.md)。

若要開始檔案或專案檢閱，請完成 IDE 的下列步驟：

------
#### [ JetBrains ]

1. 在 IDE 中開啟您要檢閱的檔案或專案。

1. 選擇 Amazon Q 圖示以開啟聊天面板。

1. 使用自然語言描述您要執行的程式碼檢閱類型。您只能檢閱最近的程式碼變更，或整個檔案。程式碼變更是根據檔案上 git diff 命令的輸出所決定。如適用，除非另有說明，否則 Amazon Q 預設只會檢閱您的程式碼變更。

1. 在開啟程式碼專案或檔案於 IDE 中開啟的情況下，您可以輸入如下內容：

   1. **Review my code changes** – Amazon Q 將檢閱您程式碼庫中的任何程式碼變更

   1. **Run a code review on this entire file** – Amazon Q 將檢閱您檔案中的所有程式碼，而不只是變更

   1. **Review this repository** – Amazon Q 將檢閱您的整個程式碼庫，而不只是變更

   如需更詳細的程式碼檢閱案例和相關聯的提示，請參閱[範例提示](#code-review-prompts)。

1. Amazon Q 將會開始檢閱您的檔案或專案。完成後，它會摘要最高優先順序的問題和觀察結果。

1. 如果偵測到任何問題，**程式碼問題**索引標籤會開啟，其中包含 Amazon Q 找到的問題清單。

1. 若要進一步了解程式碼問題，請導覽至**程式碼問題**面板。您可以在該處執行下列操作：

   1. 選取問題，以重新導向至偵測到有漏洞或低品質程式碼的特定檔案區域。

   1. 若要取得程式碼問題的說明，請選擇程式碼問題名稱旁的放大鏡圖示。Amazon Q 會提供有關問題的詳細資訊，並建議補救措施供您插入程式碼中。

   1. 若要修正程式碼問題，請選擇程式碼問題名稱旁的扳手圖示。Amazon Q 會提供修正的簡短說明，然後在程式碼檔案中執行就地修正。您會在檔案中看到程式碼變更，並且可以從聊天面板選擇復原變更。

   1. 您也可以使用自然語言來詢問有關問題的詳細資訊、取得建議修正的說明，或詢問替代解決方案。

1. 如需有關解決問題的詳細資訊，請參閱 [使用 Amazon Q Developer 解決程式碼問題](address-code-issues.md)。

------
#### [ Visual Studio 程式碼 ]

1. 在 IDE 中開啟您要檢閱的檔案或專案。

1. 選擇 Amazon Q 圖示以開啟聊天面板。

1. 使用自然語言描述您要執行的程式碼檢閱類型。您只能檢閱最近的程式碼變更，或整個檔案。程式碼變更是根據檔案上 git diff 命令的輸出所決定。如適用，除非另有說明，否則 Amazon Q 預設只會檢閱您的程式碼變更。

1. 在開啟程式碼專案或檔案於 IDE 中開啟的情況下，您可以輸入如下內容：

   1. **Review my code changes** – Amazon Q 將檢閱您程式碼庫中的任何程式碼變更

   1. **Run a code review on this entire file** – Amazon Q 將檢閱您檔案中的所有程式碼，而不只是變更

   1. **Review this repository** – Amazon Q 將檢閱您的整個程式碼庫，而不只是變更

   如需更詳細的程式碼檢閱案例和相關聯的提示，請參閱[範例提示](#code-review-prompts)。

1. Amazon Q 將會開始檢閱您的檔案或專案。完成後，它會摘要最高優先順序的問題和觀察結果。

1. 如果偵測到任何問題，**程式碼問題**索引標籤會開啟，其中包含 Amazon Q 找到的問題清單。

1. 若要進一步了解程式碼問題，請導覽至**程式碼問題**面板。您可以在該處執行下列操作：

   1. 選取問題，以重新導向至偵測到有漏洞或低品質程式碼的特定檔案區域。

   1. 若要取得程式碼問題的說明，請選擇程式碼問題名稱旁的放大鏡圖示。Amazon Q 會提供有關問題的詳細資訊，並建議補救措施供您插入程式碼中。

   1. 若要修正程式碼問題，請選擇程式碼問題名稱旁的扳手圖示。Amazon Q 會提供修正的簡短說明，然後在程式碼檔案中執行就地修正。您會在檔案中看到程式碼變更，並且可以從聊天面板選擇復原變更。

   1. 您也可以使用自然語言來詢問有關問題的詳細資訊、取得建議修正的說明，或詢問替代解決方案。

1. 如需有關解決問題的詳細資訊，請參閱 [使用 Amazon Q Developer 解決程式碼問題](address-code-issues.md)。

------
#### [ Visual Studio ]

1. 在 Visual Studio 中，從您要掃描的專案開啟檔案。

1. 選擇檔案底部的 Amazon Q 圖示，以開啟 Amazon Q 任務列。

1. 從任務列中，選擇**執行安全掃描**。Amazon Q 會開始掃描您的專案。

   在下圖中，使用者在 Visual Studio 中選擇 **Amazon Q** 圖示，因而出現任務列提示，使用者可在此選擇**執行安全掃描**。  
![\[Visual Studio 與顯示「執行安全掃描」選項的 Amazon Q 任務列\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/VS-scans.png)

1. 在 Visual Studio 輸出窗格中，掃描的狀態會更新。掃描完成時，您會收到通知。

   如需有關檢視和解決問題清單的資訊，請參閱 [使用 Amazon Q Developer 解決程式碼問題](address-code-issues.md)。

------

## 範例任務和提示
<a name="code-review-prompts"></a>

啟動程式碼檢閱時，您可能會遇到幾種情況。以下是啟動程式碼檢閱的一些方法概觀，以及如何提示 Amazon Q 執行您想要的檢閱。
+ 若要僅檢閱單一檔案的程式碼變更：
  + 在 IDE 中開啟 檔案並輸入 **Review my code**
  + 輸入 **Review the code in <filename>**
+ 若要檢閱整個程式碼檔案：
  + 開啟檔案而不變更，然後輸入 **Review my code**
  + 開啟包含變更的檔案，然後輸入 **Review my entire code file**
  + 輸入 **Review all the code in <filename>**
+ 若要檢閱儲存庫中的所有程式碼變更：
  + 在 IDE 中開啟儲存庫並輸入 **Review my code**
+ 若要檢閱整個儲存庫，不只是變更：
  + 在 IDE 中開啟儲存庫並輸入 **Review my repository**

## 在您編寫程式碼時進行檢閱
<a name="auto-scan"></a>

**注意**  
Amazon Q 自動檢閱僅適用於 [Amazon Q Developer 專業方案訂閱](getting-started-q-dev.md)。

自動檢閱是由 [Amazon Q 偵測器](https://docs.aws.amazon.com/codeguru/detector-library/)支援的規則型檢閱。Amazon Q 會自動檢閱您主動編碼的檔案，一旦在您的程式碼中偵測到程式碼問題，就會產生問題。當 Amazon Q 執行自動檢閱時，不會產生就地程式碼修正。

當您使用 Amazon Q 時，自動檢閱預設為啟用狀態。請使用下列程序來暫停或繼續執行自動檢閱。

**暫停和繼續執行自動檢閱**

若要暫停自動檢閱，請完成下列步驟。

1. 從 IDE 視窗底部選擇 **Amazon Q**。

   Amazon Q 任務列隨即開啟。

1. 選擇**暫停自動檢閱**。若要繼續執行自動檢閱，選擇**繼續自動檢閱**。

# 使用 Amazon Q Developer 解決程式碼問題
<a name="address-code-issues"></a>

本節中的主題說明如何應對和解決程式碼問題，以及如何適時忽略問題。

**Topics**
+ [解決 JetBrains 和 Visual Studio Code 中的程式碼問題](address-issues-jetbrains-visualstudiocode.md)
+ [解決 Visual Studio 中的程式碼問題](address-issues-visualstudio.md)

# 解決 JetBrains 和 Visual Studio Code 中的程式碼問題
<a name="address-issues-jetbrains-visualstudiocode"></a>

若要解決 JetBrains 和 Visual Studio Code 中的程式碼問題，您可以選擇產生就地修正，或是產生說明供您手動更新程式碼。

您可以執行下列動作：
+ 產生就地程式碼修正 
+ 說明問題並取得新的程式碼
+ 忽略問題，或忽略所有類似的問題

## 為檔案產生就地修正
<a name="generate-fixes"></a>

Amazon Q 可以就地更新您的檔案，以自動修復偵測到的程式碼問題。

若要自動修正 檔案中的程式碼問題：

------
#### [ JetBrains ]

1. 在**問題**工具視窗中的 **Amazon Q 程式碼問題**索引標籤中，選擇您要解決的程式碼問題。

1. 面板隨即開啟，其中包含有關程式碼問題的詳細資訊。如果適用，您會看到用來識別程式碼問題之 Amazon Q 偵測器的詳細資訊。

1. 在面板底部，選擇**修正**。

1. 在聊天面板中，Amazon Q 會提供修正的簡短說明，然後在程式碼檔案中套用就地修正。

1. 您會在檔案中看到程式碼變更，並且可以從聊天面板選擇復原變更。

------
#### [ Visual Studio 程式碼 ]

1. 在**程式碼問題**索引標籤中，選擇您要解決的程式碼問題。

1. 選擇扳手圖示。

   下圖顯示 Visual Studio Code 中程式碼問題的扳手圖示。  
![\[中程式碼問題的扳手圖示Visual Studio Code，用於產生程式碼修正。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/code-review-fix-vsc.png)

1. 在聊天面板中，Amazon Q 會提供修正的簡短說明，然後在程式碼檔案中套用就地修正。

1. 您會在檔案中看到程式碼變更，並且可以從聊天面板選擇復原變更。

------

## 說明程式碼問題並取得新的程式碼
<a name="explain-issue"></a>

Amazon Q 可以提供程式碼問題的深入說明，並提供修復選項與隨附的程式碼，供您新增至檔案。

若要取得程式碼問題的說明：

------
#### [ JetBrains IDEs ]

1. 在**問題**工具視窗中的 **Amazon Q 程式碼問題**索引標籤中，選擇您要解決的程式碼問題。

1. 面板隨即開啟，其中包含有關程式碼問題的詳細資訊。如果適用，您會看到用來識別程式碼問題之 Amazon Q 偵測器的詳細資訊。

1. 在面板底部，選擇**說明**。

1. 在聊天面板中，Amazon Q 會提供問題的詳細資訊，並建議如何使用您可以插入 檔案的程式碼進行修正。

1. 若要更新您的檔案，請依照 Amazon Q 指示的位置新增或取代程式碼，並將提供的程式碼複製到檔案中的正確位置。新增更新後的程式碼時，請務必移除易受攻擊的程式碼。

------
#### [ Visual Studio 程式碼 ]

1. 在**程式碼問題**索引標籤中，選擇您要解決的程式碼問題。

1. 選擇放大鏡圖示。

   下圖顯示 Visual Studio Code 中程式碼問題的放大鏡圖示。  
![\[中程式碼問題的放大鏡圖示Visual Studio Code，用於解釋程式碼問題。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/code-review-view-details-vsc.png)

1. 在聊天面板中，Amazon Q 會提供問題的詳細資訊，並建議如何使用您可以插入 檔案的程式碼進行修正。

1. 若要更新您的檔案，請依照 Amazon Q 指示的位置新增或取代程式碼，並將提供的程式碼複製到檔案中的正確位置。新增更新後的程式碼時，請務必移除易受攻擊的程式碼。

------

## 忽略程式碼問題
<a name="ignore-issues"></a>

如果偵測到的程式碼問題不適用，您可以選擇忽略它，或忽略它和所有類似的問題 (有相同 CWE 的問題)。問題將從「程式碼問題」索引標籤中移除。

若要忽略程式碼問題：

------
#### [ JetBrains ]

1. 在**問題**工具視窗中的 **Amazon Q 程式碼問題**索引標籤中，選擇您要忽略的程式碼問題。

1. 面板隨即開啟，其中包含有關程式碼問題的詳細資訊。在面板底部，選擇**忽略**。程式碼問題會從程式碼問題面板中移除。

1. 您也可以選擇**全部忽略**，以忽略相同 CWE 的此問題和其他程式碼問題。

------
#### [ Visual Studio 程式碼 ]

1. 在**程式碼問題**索引標籤中，選擇您要忽略的程式碼問題。

1. 選擇忽略圖示。

   下圖顯示 Visual Studio Code 中程式碼問題的忽略圖示。  
![\[中程式碼問題的忽略圖示Visual Studio Code，用於忽略和關閉程式碼問題。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/code-review-ignore-issue-vsc.png)

1. 程式碼問題會從程式碼問題面板中移除。

1. 若要忽略類似問題，請選擇略過圖示，然後選擇出現**的忽略類似問題**按鈕。

------

# 解決 Visual Studio 中的程式碼問題
<a name="address-issues-visualstudio"></a>

若要在 Visual Studio 中檢視 Amazon Q 偵測到的程式碼問題，請展開 Visual Studio 主功能表中的**檢視**標題，然後選擇**錯誤清單**，以開啟 Visual Studio **錯誤清單**。

您可以使用程式碼問題中的資訊來更新程式碼。更新程式碼之後，請再次檢閱程式碼，以查看問題是否已解決。

根據預設，Visual Studio **錯誤清單**會顯示程式碼基底的所有警告和錯誤。若要在 Visual Studio **錯誤清單**中篩選 Amazon Q 程式碼問題，請完成下列程序來建立篩選條件。

**注意**  
您必須已執行程式碼檢閱，且 Amazon Q 在過程中偵測到問題，在這種情況下才會顯示程式碼問題。  
程式碼問題在 Visual Studio 中會顯示為警告。若要在**錯誤清單**中檢視 Amazon Q 偵測到的問題，則必須選取**錯誤清單**標題中的**警告**選項。

**篩選錯誤清單中的程式碼問題**

1. 從 Visual Studio 主功能表選擇檢視，然後選擇**錯誤清單**以開啟**錯誤清單**窗格。

1. 在**錯誤清單**窗格中的標頭列上按一下滑鼠右鍵，以開啟內容功能表。

1. 在內容功能表中展開**顯示欄**，然後在展開的功能表中選取**工具**。

1. **工具**欄會新增至您的**錯誤清單**。

1. 從**工具**欄標頭選取**篩選**圖示，然後選擇 **Amazon Q** 以篩選出 Amazon Q 程式碼問題。

# 篩選程式碼問題
<a name="filter-code-issues"></a>

**注意**  
您只能在 JetBrains IDE 和 Visual Studio Code 中篩選程式碼問題。

當您篩選程式碼問題時，「程式碼問題」面板中只會顯示符合所選取條件的問題。您可以根據問題的嚴重性進行篩選，因此您只能在面板中看到所選嚴重性的問題。

您也可以控制「程式碼問題」面板中組織程式碼問題的方式。您可以根據嚴重性或問題的檔案位置來將問題分組。

若要篩選程式碼問題：

------
#### [ JetBrains IDEs ]

1. 從 **Amazon Q Code Issues** 索引標籤中，選擇篩選條件圖示。

1. 隨即開啟具有嚴重性層級的快顯功能表。

   下圖顯示 中程式碼問題索引標籤中的嚴重性選單IntelliJ IDEA。  
![\[中的嚴重性篩選條件選單IntelliJ IDEA。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/jb-filter-issues.png)

1. 選取或取消選取您要篩選的嚴重性等級，然後選擇**確定**。只有您所選取嚴重性的問題會出現在 **Amazon Q Code Issues** 面板中。

------
#### [ Visual Studio 程式碼 ]

1. 從**程式碼問題**面板中，選擇篩選圖示。

   下圖顯示 Visual Studio Code 中「程式碼問題」索引標籤中的篩選圖示。  
![\[Visual Studio Code 中「程式碼問題」索引標籤中的篩選圖示。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/filter-issues-vsc.png)

1. **篩選問題**功能表隨即開啟。

   選取或取消選取您要篩選之嚴重性等級旁的方塊，然後選擇**確定**。只有您所選取嚴重性**的問題會出現在程式碼**問題面板中。

------

若要將程式碼問題分組：

------
#### [ JetBrains IDEs ]

1. 從 **Amazon Q Code Issues** 面板中，選擇分組圖示。

1. **群組依據**彈出式選單隨即開啟。

1. 選取**嚴重性**，根據問題的嚴重性在程式碼問題面板中分組問題。選取**位置**，根據問題所在的程式碼檔案來分組問題。

------
#### [ Visual Studio 程式碼 ]

1. 從**程式碼問題**面板中，選擇分組圖示。

   下圖顯示 Visual Studio Code 中「程式碼問題」索引標籤中的分組圖示。  
![\[Visual Studio Code 中「程式碼問題」索引標籤中的分組圖示。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/group-issues-vsc.png)

1. **將問題分組**功能表隨即開啟。

1. 選取**嚴重性**，根據問題的嚴重性在程式碼問題面板中分組問題。選取**位置**，根據問題所在的程式碼檔案來分組問題。

------

# Amazon Q Developer 程式碼檢閱中的程式碼問題嚴重性
<a name="code-issue-severity"></a>

Amazon Q 會定義您程式碼中偵測到的程式碼問題的嚴重性，讓您能夠決定要優先處理哪些問題，並追蹤應用程式的安全狀態。下列各節說明用來決定程式碼問題嚴重性的方法，以及每一種嚴重性層級的意義。

## 如何決定嚴重性
<a name="severity-calculation"></a>

程式碼問題的嚴重性取決於產生問題的偵測器。[Amazon Q 偵測器程式庫](https://docs.aws.amazon.com/codeguru/detector-library)中的每個偵測器都會有使用通用漏洞評分系統 ([CVSS](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator)) 為其指派的嚴重性。CVSS 會考慮問題清單的內容可能遭到利用的方式 (例如，是否可透過網際網路達成，或是否須有實體存取權)，以及可以取得何種層級的存取權。

下表概述如何根據惡意行為者成功攻擊系統所需的存取層級和工作量來判斷嚴重性。


**嚴重性判斷矩陣**  

| 存取層級 | 努力程度 | 嚴重性 | 
| --- | --- | --- | 
| 完全控制系統或其輸出 | 須有系統存取權 | 高 | 
| 完全控制系統或其輸出 | 具有高工作量的網際網路 | 嚴重 | 
| 完全控制系統或其輸出 | 透過網際網路 | 嚴重 | 
| 存取敏感資訊 | 須有系統存取權 | 中 | 
| 存取敏感資訊 | 具有高工作量的網際網路 | 高 | 
| 存取敏感資訊 | 透過網際網路 | 高 | 
| 可能使系統當機或變慢 | 須有系統存取權 | 低 | 
| 可能使系統當機或變慢 | 具有高工作量的網際網路 | 中 | 
| 可能使系統當機或變慢 | 透過網際網路 | 中 | 
| 提供額外的安全性 | 無法利用 | Info (資訊) | 
| 提供額外的安全性 | 須有系統存取權 | Info (資訊) | 
| 提供額外的安全性 | 具有高工作量的網際網路 | 低 | 
| 提供額外的安全性 | 透過網際網路 | 低 | 
| 最佳實務 | 無法利用 | Info (資訊) | 

## 嚴重性定義
<a name="severity-definitions"></a>

嚴重性程度的定義如下。

 **重大 - 程式碼問題應該立即解決，以避免向上呈報。**

重大程式碼問題表示，攻擊者可能取得系統控制權，或適度投入即可修改系統的行為。建議您以最緊急的狀況處理重大問題清單。您也應該考慮資源的重要性。

 **高 - 程式碼問題必須於近期優先處理。**

高嚴重性的程式碼問題表示，攻擊者可能取得系統控制權，或高度投入即可修改系統的行為。建議您將高嚴重性的問題清單視為須於近期優先處理，並立即採取補救步驟。您也應該考慮資源的重要性。

 **中 - 程式碼問題應視為須於中期優先處理。**

中等嚴重性的問題清單可能會導致系統當機、無回應或無法使用。我們建議您盡早調查相關程式碼。您也應該考慮資源的重要性。

 **低 - 程式碼問題本身不需採取動作。**

低嚴重性的問題清單表示程式設計錯誤或反模式。您不需要對低嚴重性的問題清單立即採取動作，但這些問題可在您與其他問題相互關聯時提供內容。

**資訊 - 沒有建議的動作。**

資訊問題清單包括品質或易讀性改善的建議，或替代 API 操作。不需要立即採取行動。