# 📋 Checklist review code AI trước khi deploy

By Better Wise

> This lesson is premium content. Sign in and purchase the course to view the full content.

Bạn đã đi qua gần hết module: secrets trong repo, HTTPS, phân quyền và validate input ở server. Giờ là lúc gom tất cả thành một danh sách ngắn chạy qua trước mỗi lần deploy, vì code AI sinh ra thường **chạy được** nhưng hiếm khi **an toàn**.

Một chuyện thật trong nhóm tôi: một PR do AI sinh được merge sau 4 phút review, vì "test pass hết rồi". Ba tuần sau mới phát hiện endpoint xem đơn hàng không kiểm tra chủ sở hữu, chỉ cần đổi số ID là đọc được đơn của người khác. Không có gì sập, chỉ là dữ liệu khách hàng nằm sai chỗ trong vài tuần. Bài này để chuyện đó không lặp lại.

Sau bài này, bạn có thể:

- Chạy checklist 10 điểm trên một pull request do AI sinh.
- Nhận ra 3 kiểu lỗi AI hay tái diễn và biết chỗ cần sửa.
- Phân biệt phần nào review bằng mắt, phần nào để CI bắt.
- Quyết định merge hay trả lại PR mà không cần đọc cả nghìn dòng.

## Vì sao phải có checklist thay vì đọc lướt

Đọc lướt thì mắt bạn đi theo luồng code đẹp, còn lỗi bảo mật nằm ở chỗ **thiếu**: thiếu một middleware, thiếu một điều kiện `WHERE`, thiếu một dòng kiểm tra quyền. Mắt người không giỏi nhìn cái không có. Checklist giải quyết đúng điểm yếu đó: bạn không tìm lỗi, bạn đi kiểm tra từng mục có hay không.

Quy tắc: một PR AI sinh, 10 mục, mỗi mục trả lời "có" hoặc "không". Không có "chắc là có".

## Checklist 10 điểm, đọc theo thứ tự

## In this lesson

- Ba vòng review trên một pull request thật
- Ví dụ 1: endpoint xem đơn hàng
- Ví dụ 2: key nằm ngay trong file config
- Ví dụ 3: một dòng "cho chạy được trên máy local"
- Ví dụ 4: validate chỉ nằm ở client


---

## Contents

Part of [🛡️ Bảo mật web cho vibe coder: OWASP, secrets và dữ liệu người dùng](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung.md)

- **🔍 Nhận diện rủi ro trong code do AI sinh**
  - [🗺️ Vì sao code AI sinh cần review: bản đồ 6 rủi ro phổ biến](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/ban-do-rui-ro-code-ai-sinh.md)
  - [🗄️ SQL injection: AI hay nối chuỗi và cách sửa bằng parameterized query](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/sql-injection-parameterized-query-trong-code-ai.md) (sign-in required)
  - [🌐 XSS và CSRF: lỗi render dữ liệu và thao tác thiếu token](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/xss-csrf-loi-render-va-thieu-token.md)
  - [✅ Checkpoint: nhận diện injection trong code AI](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/checkpoint-nhan-dien-injection-code-ai.md)
- **🔐 Secrets, cấu hình và quy trình review trước khi deploy**
  - [🔑 Lộ API key trong repo và quản lý biến môi trường](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/lo-api-key-va-quan-ly-bien-moi-truong.md)
  - [🧱 HTTPS, phân quyền cơ bản và validate input ở server](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/https-phan-quyen-validate-input-server.md)
  - [📋 Checklist review code AI trước khi deploy](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/checklist-review-code-ai-truoc-deploy.md) (premium content) — this lesson
  - [🏁 Checkpoint: secrets, cấu hình và quy trình review](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/checkpoint-secrets-cau-hinh-review.md) (premium content)
- [Course cheatsheet](https://everwise.study/courses/bao-mat-web-cho-vibe-coder-owasp-secrets-va-du-lieu-nguoi-dung/cheatsheet.md) (premium content)
