🔍

📋 Nghiệm thu Sprint

Mở đúng MỘT trang là đánh giá được cả Sprint: mục tiêu, đã/chưa làm, lỗi, ADR, thay đổi kiến trúc, link chức năng mới.

🎤 Thuyết trình

Sprint — Lưới an toàn P0

Đã nghiệm thu

🎯 Mục tiêu: Vá 7 lỗ hổng bảo mật P0 trước khi mở rộng: xác thực, phân quyền, backup, API scope.

🗓️ 2026-07-02 → 2026-07-02

✅ Những gì đã làm (6)
  • Mật khẩu chuyển scrypt + muối ngẫu nhiên, tự nâng cấp hash SHA-256 cũ; so khớp thời gian hằng.
  • coQuyen mặc định TỪ CHỐI với khách ẩn danh; chế độ một-người-dùng chỉ bật ngoài production.
  • Mọi server action ghi dữ liệu/file qua wrapper capQuyen() (session + quyền + nhật ký từ chối).
  • Backup không còn xuất matKhauHash/PII (select allowlist), yêu cầu quyền QUAN_TRI_HE_THONG.
  • API nội bộ yêu cầu đăng nhập và scope bắt buộc theo dự án.
  • ESLint chạy không-tương-tác; build + lint + tsc XANH.
⏳ Những gì chưa làm (3)
  • Chưa có test tự động/CI.
  • Session server-side chưa thu hồi được.
  • Backup chưa có restore kiểm chứng.
🐞 Lỗi đã sửa (3)
  • Lỗ hổng 'ẩn danh = Quản trị'.
  • Backup rò rỉ matKhauHash/PII.
  • API nội bộ không kiểm tra scope dự án.
🔴 Lỗi còn lại (2)
  • Config/flag/luật còn ở file JSON cục bộ.
  • Provider LLM ngoài mới là fallback.
  • scrypt + muối cho mật khẩu
  • Mặc định TỪ CHỐI cho khách ẩn danh
🏛️ Thay đổi kiến trúc (1)
  • Thêm wrapper capQuyen() làm cổng bắt buộc cho mọi ghi dữ liệu.

🔍 Cần kiểm tra (checklist nghiệm thu)

🐞
Đăng nhậpĐã sửa lỗi

Kiểm tra đăng nhập bằng hash cũ vẫn vào được và được nâng cấp.

Mở kiểm tra →
🐞
Phân quyềnĐã sửa lỗi

Khách ẩn danh không còn quyền quản trị.

Mở kiểm tra →
🔧
Sao lưuThay đổi

Xuất backup không chứa mật khẩu/PII.

Mở kiểm tra →

🔗 Chức năng mới trong sprint