Mmaiqai.com
🔐 API Testing · Chương 4 · Mục 4.10 · OWASP #10

Unsafe Consumption of APIs

🎯 Mục tiêu học: hạng mục cuối, góc nhìn ngược lại 9 mục trước — rủi ro không nằm ở API của mình, mà ở cách hệ thống mình tin tưởng mù quáng dữ liệu từ service/API bên thứ 3 mà không kiểm tra lại.

Rủi ro là gì

Nhiều team dồn toàn bộ công sức bảo mật cho API mình cung cấp ra ngoài, nhưng lại tin tưởng tuyệt đối dữ liệu nhận về từ service đối tác/bên thứ 3 — trong khi service đó cũng có thể bị tấn công, trả về dữ liệu sai định dạng, hoặc đơn giản là có bug.

Order Service gọi Pricing Service (bên đối tác) để lấy giá sản phẩm:
GET https://partner.example.com/price?sku=SKU001
Response: { "price": -50000 }   ← giá âm bất thường

Nếu Order Service lưu thẳng giá trị này vào đơn hàng mà không kiểm tra
lại tính hợp lý (giá phải > 0) → tạo ra đơn hàng có tổng tiền âm.

Checklist kiểm tra

Cách kiểm tra

Mã TCNội dungKỳ vọng
TC-CONSUME-01Giả lập service bên thứ 3 trả dữ liệu bất thường (giá âm, field thiếu, sai kiểu dữ liệu)Hệ thống của mình validate lại trước khi dùng, không lưu thẳng dữ liệu chưa kiểm chứng vào DB nghiệp vụ chính
TC-CONSUME-02Giả lập service bên thứ 3 timeout/không phản hồi — liên kết trực tiếp với Mục 3.2 (test tích hợp giữa các service)Có xử lý timeout hợp lý, không để lỗi từ bên ngoài lan thành lỗi hệ thống chính không kiểm soát được
TC-CONSUME-03Kiểm tra dữ liệu redirect/link nhận từ service bên thứ 3 trước khi hệ thống mình tự động follow theoKhông mù quáng tin theo URL từ bên thứ 3 — liên quan tới rủi ro SSRF (Mục 4.8) nếu dữ liệu đó lại được dùng để gọi tiếp ra ngoài

📌 Ghi nhớ

Nguyên tắc chung: đừng tin dữ liệu chỉ vì nó tới từ 1 service "đáng tin cậy" — luôn validate dữ liệu nhận từ bên ngoài giống hệt như validate dữ liệu nhận từ client (Chương 2), bất kể nguồn gốc.

📖 Thuật ngữ Anh–Việt (mục này)

Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.

Thuật ngữ (EN)Nghĩa & ghi nhớ nhanh
Third-party APIAPI/service do bên thứ 3 (đối tác, nhà cung cấp) vận hành
Trust boundaryRanh giới tin cậy — điểm mà dữ liệu chuyển từ hệ thống ngoài sang hệ thống mình, cần validate lại
Input validationKiểm tra tính hợp lệ của dữ liệu đầu vào, kể cả khi đầu vào tới từ hệ thống khác

📎 Nội dung do maiqai.com biên soạn dựa trên OWASP API Security Top 10 (2023, CC BY-SA 4.0), diễn giải lại bằng tiếng Việt kèm ví dụ minh hoạ riêng.