> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Phân loại phát hiện bảo mật

> Đọc bằng chứng của từng phát hiện pentest, đưa phát hiện qua quy trình sửa lỗi, loại bỏ dương tính giả và bắt đầu sửa với một agent.

Phát hiện là một vấn đề bảo mật mà [pentest](https://docs.cloudthinker.io/vi/guide/security/pentest.md) đã chứng minh trên ứng dụng của bạn, được lưu cùng các request, response và ảnh chụp màn hình thể hiện vấn đề đó. Mỗi ứng dụng giữ một danh sách phát hiện liên tục qua mọi lượt chạy, nên lần quét sau cập nhật cùng phát hiện thay vì tạo bản trùng lặp.

## Điều kiện tiên quyết

* Một ứng dụng Cyber có ít nhất một lượt chạy đã hoàn tất. Xem [Chạy pentest](https://docs.cloudthinker.io/vi/guide/security/pentest.md).
* Vai trò workspace **Admin** hoặc **Developer** để phân loại, loại bỏ hoặc mở lại phát hiện. Viewer có thể duyệt, sao chép và tải xuống. Xem [Vai trò](https://docs.cloudthinker.io/vi/guide/security/roles.md).

## Nơi lưu phát hiện

Mở ứng dụng từ danh sách **Apps** trong thanh bên Cyber. Mọi trang ứng dụng có cùng các liên kết ở header:

| Liên kết | Dùng để |
| - | - |
| **Overview** | Kết luận hiện tại của ứng dụng, số phát hiện theo mức độ nghiêm trọng, độ bao phủ OWASP Top 10 và hàng đợi sửa lỗi gồm các phát hiện đang mở |
| **Runs** | Dòng thời gian và báo cáo của từng lượt chạy, và những gì lượt chạy đã thêm, đã sửa hoặc còn để mở |
| **Findings** | Danh sách làm việc đầy đủ, dạng bảng hoặc bảng Kanban |
| **Reports** | Xuất các phát hiện đã chọn và mở báo cáo lượt chạy |
| **Settings** | Phạm vi, đăng nhập thử nghiệm, ngữ cảnh mã nguồn, mặc định và lịch |

Trên **Findings**, các tab chia danh sách. Lọc bằng **Search findings…**, **Severity** (Critical, High, Medium, Low, Info) và **OWASP category**.

| Tab | Hiển thị các phát hiện |
| - | - |
| **Confirmed** | Đã chứng minh và chưa được nhận xử lý |
| **Needs verification** | Đầu mối chưa được nhận xử lý |
| **In progress** | **In progress** hoặc **Awaiting retest** |
| **Fixed** | Đã sửa, dù được lần quét xác minh hay bạn tự đánh dấu |
| **All** | Mọi thứ, kể cả phát hiện **Dismissed**, vốn không có tab riêng |

**Overview** của ứng dụng phân tích phát hiện theo danh mục OWASP:

![Phân tích theo danh mục OWASP cho một ứng dụng demo.](https://mintcdn.com/cloudthinker/_u5eRuTpYujlERGZ/images/security/cyber/09-owasp-breakdown.png?fit=max\&auto=format\&n=_u5eRuTpYujlERGZ\&q=85\&s=879d34b3464ba3f54590d64f0a76856c)

## Ai quyết định điều gì

Hai bên sở hữu các phần khác nhau của một phát hiện. Nắm rõ bên nào sở hữu phần nào sẽ giúp bạn hiểu mọi quy tắc trên trang này.

| Quyết định | Chủ sở hữu | Cách thay đổi |
| - | - | - |
| Có thật không, còn tồn tại không, hay đã được chứng minh là đã sửa? | CloudThinker | Lần quét phát lại bằng chứng. Bản sửa đã được lần quét chứng minh thì chỉ lần quét mới mở lại được |
| Phát hiện đang ở đâu trong công việc của nhóm? | Bạn | Bạn chuyển phát hiện giữa **Confirmed**, **In progress** và **Awaiting retest**, hoặc tự đánh dấu đã sửa hay đã loại bỏ |

Phát hiện **Needs verification** là một đầu mối, chưa được chứng minh. Đánh dấu kiểm tra lại để lần quét tiếp theo kiểm tra phát hiện đó. Nếu bạn đã tự tái hiện được, hãy tự xác nhận bằng cách kéo thẻ của phát hiện sang **Confirmed** trên bảng.

## Đọc bằng chứng của một phát hiện

Mở một phát hiện để xem mô tả, luồng tấn công, bằng chứng, tác động và cách khắc phục.

![Một phát hiện demo với bằng chứng request đã ẩn và cách khắc phục.](https://mintcdn.com/cloudthinker/_u5eRuTpYujlERGZ/images/security/cyber/11-finding-evidence.png?fit=max\&auto=format\&n=_u5eRuTpYujlERGZ\&q=85\&s=eec3256372c1f03bbe353672720d5b07)

| Bằng chứng | Nội dung |
| - | - |
| **API evidence** | Các request và response đã ghi lại chứng minh vấn đề. Secret hiển thị dưới dạng placeholder đã ẩn |
| **Screenshots** | Các trang được chụp khi vấn đề phụ thuộc vào nội dung trình duyệt hiển thị. Phát hiện chỉ liên quan đến API thì không cần ảnh chụp |
| **Affected surfaces** | Các route hoặc endpoint nơi phát hiện vấn đề |

Để tự kiểm tra bằng chứng, hãy phát lại request bằng thông tin xác thực thử nghiệm của bạn thay cho các placeholder.

Mức độ nghiêm trọng là đánh giá của CloudThinker trên thang Critical đến Info. Phát hiện không có điểm CVSS. Mỗi phát hiện cũng hiển thị điểm **Confidence** và danh mục OWASP.

## Đưa phát hiện qua quy trình làm việc

**1. Nhận xử lý phát hiện**

Mở một phát hiện **Confirmed** và nhấn **I'm working on this**.

**Trạng thái thành công:** phát hiện chuyển sang **In progress**.

**2. Sửa lỗi**

Nhấn **Create PR with agent** để mở một chat trong đó CloudThinker chuẩn bị bản sửa dưới dạng pull request, hoặc tự sửa theo cách của bạn. Chat làm việc trên các repository gắn với ứng dụng, nên hãy gắn một repository trước nếu chưa có (xem [Kết nối Git provider](https://docs.cloudthinker.io/vi/guide/connections/github.md)). Xem lại và kiểm thử mọi thay đổi được đề xuất trước khi merge. Khi đã liên kết PR, **View fix PR** sẽ mở PR đó.

**3. Yêu cầu kiểm tra lại**

Sau khi bản sửa được phát hành, nhấn **Ready for retest**.

**Trạng thái thành công:** phát hiện nằm ở **Awaiting retest** với ghi chú "The next scan will re-check this finding." Việc đánh dấu không khởi chạy lần quét.

**4. Để lần quét tiếp theo quyết định**

Chạy lại pentest, hoặc chờ theo lịch. Lần chạy theo lịch chỉ đăng nhập bằng người dùng thử nghiệm **Long-lived token**, nên với phát hiện nằm sau trang đăng nhập, hãy chạy thủ công trừ khi ứng dụng có người dùng như vậy. Nếu bằng chứng không còn tái hiện được, lần quét chuyển phát hiện sang **Verified fixed**. Nếu vẫn tái hiện được, phát hiện vẫn mở.

Với đầu mối **Needs verification**, hành động chính là **Flag for retest**. Mở menu **⋯** (More actions) để có **Chat with finding** (hỏi CloudThinker về bằng chứng) và **Reverify** (yêu cầu CloudThinker kiểm tra lại ngay trong chat). Reverify phát lại bằng chứng trên ứng dụng đang chạy ngay lập tức, không khởi chạy một pentest đầy đủ, và tiêu tốn credit như mọi chat. Xem [Mức sử dụng](https://docs.cloudthinker.io/vi/guide/billing/usage.md).

## Dùng bảng Kanban

Chuyển tab Findings giữa **Table** và **Kanban**. Bộ lọc tìm kiếm, mức độ nghiêm trọng và OWASP được giữ nguyên. Các cột của bảng là **Needs verification**, **Confirmed**, **In progress**, **Awaiting retest**, **Verified fixed** và **Dismissed**. Kéo thẻ để đổi giai đoạn.

![Sáu giai đoạn trên bảng phát hiện của ứng dụng.](https://mintcdn.com/cloudthinker/_u5eRuTpYujlERGZ/images/security/cyber/10-findings-kanban.png?fit=max\&auto=format\&n=_u5eRuTpYujlERGZ\&q=85\&s=5872a6345be57884a09d1e13a818b559)

| Thả thẻ vào | Điều xảy ra |
| - | - |
| **Confirmed** | Đưa phát hiện đang mở trở lại hàng đợi, hoặc xác nhận một đầu mối **Needs verification**. Phát hiện bạn đã loại bỏ hoặc đánh dấu đã sửa sẽ được mở lại |
| **In progress** hoặc **Awaiting retest** | Cập nhật giai đoạn công việc. Phát hiện bạn đã loại bỏ hoặc đánh dấu đã sửa được mở lại trước |
| **Verified fixed** | Tự đánh dấu phát hiện đã sửa, giống **Mark as fixed**. Lần quét tiếp theo vẫn có thể mở lại |
| **Needs verification** | Bị từ chối trừ khi thẻ đến từ đó. Chỉ CloudThinker mới đưa đầu mối vào trạng thái chờ xác minh |
| **Dismissed** | Luôn bị từ chối. Việc loại bỏ cần lý do, nên hãy mở phát hiện để loại bỏ |

Phát hiện đã được lần quét chứng minh là đã sửa không di chuyển được. Bảng hiển thị lý do khi từ chối một lần thả.

## Loại bỏ một phát hiện

**1. Mở hộp thoại loại bỏ**

Mở phát hiện, nhấn menu **⋯** (More actions), rồi **Dismiss as false positive**.

**2. Chọn lý do**

Trong **Dismiss this finding**, chọn **Reason**: **False positive** (không phải lỗ hổng thật), **Acceptable risk** (có thật, nhưng bạn chấp nhận), hoặc **Out of scope** (không thuộc phần bạn sửa). Thêm **Note (optional)** về những gì bạn đã kiểm tra, để người xem xét tiếp theo không phải làm lại.

**3. Xác nhận**

Nhấn **Dismiss finding**.

**Trạng thái thành công:** phát hiện chuyển sang **Dismissed**, và các lần quét sau không báo lại phát hiện này nữa.

Việc loại bỏ không phải là quyết định cuối cùng. Nhấn **Reopen finding** bất cứ lúc nào, hoặc kéo thẻ vào một cột công việc, và CloudThinker sẽ kiểm tra lại.

## Đánh dấu đã sửa hoặc mở lại

* **Mark as fixed** trong **More actions** đóng một phát hiện bạn đã khắc phục mà không cần chờ lần quét. Đây là quyết định của bạn, nên lần quét tiếp theo vẫn có thể mở lại.
* **Reopen finding** xuất hiện trên mọi phát hiện bạn đã loại bỏ hoặc đánh dấu đã sửa. Thao tác này đưa phát hiện trở lại công việc đang mở.
* Phát hiện mà CloudThinker đã xác minh là đã sửa chỉ được mở lại khi một lần quét chứng minh vấn đề đã quay lại.

## Chia sẻ một phát hiện

Trong **More actions**, **Copy finding** sao chép phát hiện dưới dạng văn bản cho ticket hoặc chat, và **Download PDF** lưu phát hiện cùng các ảnh chụp màn hình đã lưu. Để chia sẻ nhiều phát hiện trong một tài liệu, dùng liên kết **Reports** của ứng dụng. Xem [Tạo báo cáo Cyber](https://docs.cloudthinker.io/vi/guide/security/cyber-reports.md).

## Khắc phục sự cố

Để xem mọi vấn đề Cyber ở một nơi, xem [Khắc phục sự cố Cyber](https://docs.cloudthinker.io/vi/guide/security/cyber-troubleshooting.md).

> **Không thả được thẻ vào một cột**
>
> Đọc lý do bảng hiển thị. **Dismissed** không bao giờ nhận thao tác kéo vì việc loại bỏ cần lý do. **Needs verification** chỉ nhận lại thẻ vốn xuất phát từ cột này. Bản sửa đã được lần quét chứng minh chỉ di chuyển khi một lần quét mở lại phát hiện.

> **Tôi không thể phân loại, loại bỏ hay mở lại gì cả**
>
> Bạn có vai trò Viewer. Hãy nhờ workspace admin cấp vai trò Developer. Bạn vẫn có thể sao chép và tải xuống phát hiện.

> **Tôi lỡ loại bỏ một phát hiện**
>
> Mở phát hiện và nhấn **Reopen finding**, hoặc kéo thẻ từ **Dismissed** vào một cột công việc. CloudThinker sẽ đưa phát hiện vào các lần quét trở lại.

> **Một phát hiện đã sửa quay lại**
>
> Một lần quét sau đã chứng minh vấn đề lần nữa. Mở liên kết **Runs** của ứng dụng để xem lượt chạy nào đã mở lại phát hiện, rồi mở phát hiện để xem bằng chứng mới.

> **Trạng thái Awaiting retest mãi không đổi**
>
> Việc đánh dấu không khởi chạy lần quét. Nhấn **Run pentest** trong header của ứng dụng, hoặc kiểm tra xem đã bật lịch trong **Settings** chưa. Lịch không thể kiểm tra lại phát hiện nằm sau trang đăng nhập trừ khi ứng dụng có người dùng thử nghiệm **Long-lived token**, nên hãy chạy thủ công những phát hiện đó.

## Bước tiếp theo

> **[Tạo báo cáo Cyber](https://docs.cloudthinker.io/vi/guide/security/cyber-reports.md)**
>
> Xuất các phát hiện đã chọn hoặc tải xuống báo cáo đầy đủ của một lượt chạy

> **[Chạy pentest](https://docs.cloudthinker.io/vi/guide/security/pentest.md)**
>
> Chạy hoặc lên lịch các lần quét xác minh bản sửa của bạn


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.