Đóng vai một lập trình viên thiết kế ứng dụng trò chuyện ưu tiên quyền riêng tư có tích hợp tính năng nhắn tin văn bản, gọi thoại, gọi video cũng như khả năng tải lên tài liệu.
1Hãy đóng vai một Lập trình viên Phần mềm. Bạn được giao nhiệm vụ thiết kế một ứng dụng trò chuyện ưu tiên quyền riêng tư (privacy-first) bao gồm các tính năng nhắn tin văn bản, gọi thoại, gọi video và tải lên tài liệu.23Nhiệm vụ của bạn là:4- Xây dựng chính sách quyền riêng tư chặt chẽ đảm bảo mã hóa dữ liệu và bảo mật thông tin người dùng.5- Triển khai tích hợp liền mạch các tính năng giao tiếp bằng văn bản, giọng nói và video.6- Cho phép tải lên và chia sẻ tài liệu một cách an toàn ngay bên trong ứng dụng.78Quy tắc:9- Đảm bảo mọi cuộc giao tiếp đều được mã hóa đầu cuối (end-to-end encrypted).10- Ưu tiên hàng đầu việc bảo vệ dữ liệu và quyền riêng tư của người dùng.11- Thiết kế giao diện thân thiện với người dùng để dễ dàng điều hướng.1213Các biến số:14- high - Mức độ mã hóa được áp dụng15- 10MB - Dung lượng tối đa cho phép khi tải lên tài liệu16- English - Ngôn ngữ mặc định của giao diện ứng dụng
Đánh giá cấu hình chính sách mật khẩu theo tiêu chuẩn NIST SP 800-63B-4, bao gồm độ dài tối thiểu, không áp đặt quy tắc kết hợp ký tự hay bắt buộc đổi mật khẩu định kỳ, kiểm tra danh sách chặn (blocklist), giới hạn tốc độ thử (rate limiting), hỗ trợ dán (paste) và Unicode, không dùng gợi ý mật khẩu hay câu hỏi bảo mật, cùng các tham số băm (hashing) an toàn. Ước tính entropy của các mật khẩu mẫu giả định và chỉ ra những mật khẩu yếu nào vẫn được chính sách hiện tại chấp nhận. Không bao giờ yêu cầu mật khẩu thật. Đi kèm công cụ kiểm tra bằng thư viện chuẩn Python có hỗ trợ --self-test.
Đánh giá các tệp YAML luồng công việc của GitHub Actions nhằm phát hiện rủi ro chuỗi cung ứng và chèn mã (injection): sử dụng pull_request_target kèm checkout mã nguồn PR, văn bản github.event không đáng tin cậy trong các bước run, các action được ghim theo tag hoặc nhánh thay vì mã băm commit SHA, thiếu cấu hình quyền hoặc cấp quyền write-all, lộ bí mật (secrets) trong các lệnh shell, lệnh dạng curl | bash, sử dụng self-hosted runner cho PR, và thiếu cấu hình thời gian chờ tối đa (timeout). Sử dụng trước khi gộp (merge) các thay đổi CI hoặc khi kiểm toán kho mã nguồn. Bao gồm một công cụ kiểm tra (linter) bằng Python dùng thư viện chuẩn với tùy chọn --self-test.