# 🛡️ Bảo mật web cho vibe coder: OWASP, secrets và dữ liệu người dùng

By Better Wise · Generated by Everwise

Hiểu các lỗ hổng bảo mật thường gặp trong sản phẩm do AI viết và biết cách kiểm tra, che giấu secrets trước khi mở cho người dùng thật.

- **Level:** Beginner
- **Goal:** Fundamentals
- **Language:** Vietnamese
- **Focus:** [OWASP Top 10 ở mức nhận diện](/courses?q=OWASP%20Top%2010%20%E1%BB%9F%20m%E1%BB%A9c%20nh%E1%BA%ADn%20di%E1%BB%87n), [quản lý secrets và biến môi trường](/courses?q=qu%E1%BA%A3n%20l%C3%BD%20secrets%20v%C3%A0%20bi%E1%BA%BFn%20m%C3%B4i%20tr%C6%B0%E1%BB%9Dng), [validate input và phân quyền](/courses?q=validate%20input%20v%C3%A0%20ph%C3%A2n%20quy%E1%BB%81n), [review code AI sinh](/courses?q=review%20code%20AI%20sinh)
- **Prior knowledge:** Biết HTML/CSS/JavaScript cơ bản, Đã từng dùng AI để viết code, Biết chạy app trên máy local
- **Practice:** Worked examples
- **Time:** ~3h
- **Voice:** một kỹ sư bảo mật khó tính nhưng hay kể chuyện sự cố thật, luôn chỉ ra chỗ AI viết code ẩu để người học tự kiểm tra trước khi deploy
- **Not covered:** Pentest chuyên sâu, Mã hóa học thuật, Bảo mật hạ tầng cloud nâng cao

## Bạn sẽ đạt được gì

Sau khóa học này, bạn sẽ có khả năng đọc code do AI sinh ra với con mắt của một người review, chứ không phải chỉ chạy thử thấy hoạt động rồi deploy. Cụ thể, bạn sẽ:

- Nhận diện được 6 nhóm rủi ro bảo mật phổ biến nhất trong code AI sinh: SQL injection, XSS, CSRF, lộ API key và secrets, cấu hình HTTPS và phân quyền sai, thiếu validate input ở server.
- Chỉ ra chính xác đoạn code nối chuỗi SQL nguy hiểm và viết lại bằng parameterized query.
- Phát hiện chỗ AI render dữ liệu người dùng trực tiếp ra HTML, và chỗ form thao tác thiếu CSRF token.
- Kiểm tra một repo trước khi push để chắc chắn không có API key, token hay file `.env` bị lộ.
- Áp dụng quy trình quản lý biến môi trường đúng cách thay vì hard-code secrets vào source.
- Chạy được một buổi review code AI theo checklist cố định trước mỗi lần deploy.

Đây là khóa học về fundamentals. Mục tiêu không phải biến bạn thành pentester, mà là trang bị phản xạ kiểm tra đủ để bạn không đưa lỗ hổng cơ bản lên production.

## Khóa học này dành cho ai

Khóa học dành cho người mới, đặc biệt là những ai đang dùng AI để viết code hằng ngày nhưng chưa có nền tảng bảo mật. Bạn cần có sẵn:

- Hiểu HTML/CSS/JavaScript ở mức cơ bản.
- Đã từng dùng AI (ChatGPT, Copilot, Claude...) để sinh code.
- Biết chạy app trên máy local.

Bạn không cần biết về penetration testing, không cần đọc được CVE, không cần kinh nghiệm vận hành server. Nếu bạn từng copy code từ AI, dán vào project, chạy thấy ổn và deploy, thì khóa học này được viết cho bạn.

## Lộ trình khóa học

Khóa học chia làm 2 module, tổng cộng 8 bài, đi từ nhận diện rủi ro đến quy trình review hoàn chỉnh.

**Module 1: Nhận diện rủi ro trong code do AI sinh**

1.1 Vì sao code AI sinh cần review: bản đồ 6 rủi ro phổ biến. Bài mở đầu vẽ ra toàn cảnh, để bạn biết mình đang đối mặt với những gì trước khi đi vào từng lỗi cụ thể.

1.2 SQL injection: AI hay nối chuỗi và cách sửa bằng parameterized query. Bạn sẽ thấy những mẫu code AI rất hay viết ra, hiểu vì sao chúng nguy hiểm, và học cách viết lại an toàn.

1.3 XSS và CSRF: lỗi render dữ liệu và thao tác thiếu token. Hai lỗi tưởng như cũ nhưng vẫn xuất hiện đều đặn trong code AI, nhất là khi AI ưu tiên "chạy được" hơn "an toàn".

1.4 Checkpoint: nhận diện injection trong code AI. Bài kiểm tra ngắn để bạn tự xác nhận mình đã nhìn ra lỗi injection mà không cần gợi ý.

**Module 2: Secrets, cấu hình và quy trình review trước khi deploy**

2.1 Lộ API key trong repo và quản lý biến môi trường. Cách secrets rò rỉ qua commit, qua file cấu hình, qua log, và cách quản lý biến môi trường cho đúng.

2.2 HTTPS, phân quyền cơ bản và validate input ở server. Những cấu hình tưởng nhỏ nhưng quyết định việc dữ liệu người dùng có được bảo vệ hay không.

2.3 Checklist review code AI trước khi deploy. Bài tổng hợp, biến toàn bộ kiến thức phía trên thành một danh sách kiểm tra bạn dùng được ngay.

2.4 Checkpoint: secrets, cấu hình và quy trình review. Bài kiểm tra cuối khóa, xác nhận bạn đã sẵn sàng tự review code AI trong công việc thật.

## Khóa học vận hành thế nào

Khóa học gồm các bài lý thuyết ngắn, mỗi bài xoay quanh một tình huống thật: một đoạn code AI sinh ra, một lỗi cụ thể, và cách sửa. Xen kẽ là các bài checkpoint dạng quiz để bạn tự kiểm tra. Không có lab riêng, không cần dựng môi trường phức tạp. Ví dụ và bài tập nằm ngay trong bài học, bạn đọc code, chỉ ra lỗi, rồi so với cách sửa.

Tổng thời lượng ước tính khoảng 180 phút cho 8 bài, tức trung bình 20 đến 25 phút mỗi bài. Bạn có thể hoàn thành trong một buổi tối hoặc chia nhỏ vài ngày, tùy nhịp.

Cách học hiệu quả nhất là đi tuần tự. Module 1 xây nền nhận diện lỗi, Module 2 mới đi vào cấu hình và quy trình. Nếu bạn đã quen với khái niệm SQL injection và XSS, có thể đọc lướt bài 1.1 và 1.2, nhưng đừng bỏ qua phần ví dụ: đó là chỗ khóa học chỉ ra những mẫu code AI viết ẩu mà bạn sẽ gặp lại. Các bài checkpoint nên làm nghiêm túc, vì chúng mô phỏng đúng việc bạn sẽ làm trước khi deploy: nhìn code, dừng lại, và tự hỏi "đoạn này có an toàn không?".

Một lời nhắc từ người viết khóa học: AI viết code nhanh, nhưng trách nhiệm về đoạn code đó vẫn là của bạn. Khóa học này không dạy bạn sợ AI, mà dạy bạn kiểm tra nó đủ kỹ để yên tâm deploy.

## Contents

- **🔍 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)
  - [🏁 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)
