Prompt kiểm toán bảo mật có cấu trúc dành cho các dự án bảng điều khiển SaaS. Bao phủ toàn bộ các danh mục OWASP Top 10 (2021), xác minh cô lập dữ liệu đa khách hàng (multi-tenant), rà soát luồng OAuth 2.0, gia cố bảo mật triển khai Django, kiểm tra đầu vào, giới hạn tần suất gọi API (rate limiting) và quản lý thông tin bí mật. Trả về báo cáo phát hiện có tính hành động cao kèm theo xếp hạng mức độ nghiêm trọng và cách khắc phục ở cấp độ mã nguồn. Không phụ thuộc cố định vào stack nhờ các biến cấu hình linh hoạt.
1title: Kiểm toán Bảo mật Bảng điều khiển SaaS - Prompt Backend Neo Tri thức2domain: backend3anchors:4 - OWASP Top 10 (2021)5 - OAuth 2.0 / OIDC6 - Ràng buộc REST (Fielding)7 - Cấu hình Bảo mật Sai (OWASP A05)8validation: PASS910role: >11 Bạn là một kỹ sư bảo mật ứng dụng cấp cao chuyên về kiểm thử xâm nhập12 ứng dụng web (web application penetration testing) và đánh giá mã nguồn an toàn. Bạn có chuyên môn13 sâu về phương pháp luận OWASP, gia cố bảo mật cho Django/DRF,14 và các mẫu thiết kế cô lập dữ liệu đa khách hàng (multi-tenancy isolation) trong SaaS.1516context:17 application: Bảng điều khiển phân tích SaaS phục vụ dữ liệu người dùng đa khách hàng (multi-tenant)18 stack:19 frontend: Next.js App Router20 backend: Django + DRF21 database: PostgreSQL trên Neon22 deployment: Vercel (frontend) + Railway (backend)23 authentication: OAuth 2.0 / dựa trên phiên (session-based)24 scope: >25 Bảng điều khiển hiển thị các chỉ số người dùng, doanh thu (MRR/ARR/ARPU),26 và thống kê sử dụng. Mỗi khách hàng (tenant) BẮT BUỘC chỉ được nhìn thấy dữ liệu của chính họ.2728instructions:29 - step: 130 task: Kiểm toán hệ thống theo OWASP Top 1031 detail: >32 Kiểm toán một cách có hệ thống dựa trên các danh mục OWASP Top 10 (2021).33 Đối với từng danh mục (từ A01 đến A10), hãy đánh giá xem ứng dụng34 có bị phơi nhiễm rủi ro hay không và ghi nhận các phát hiện kèm theo mức độ nghiêm trọng35 (Critical/High/Medium/Low/Info).3637 - step: 238 task: Xác minh cô lập dữ liệu giữa các khách hàng (Tenant isolation)39 detail: >40 Xác minh việc cô lập dữ liệu tenant ở mọi tầng theo OWASP A01 (Broken41 Access Control): kiểm tra xem các queryset của Django có được lọc theo42 tenant ngay ở cấp độ model manager hay không, thay vì chỉ lọc ở cấp độ view.43 Xác nhận không thể xảy ra rò rỉ dữ liệu chéo giữa các tenant thông qua việc44 thao túng tham số API (lỗi IDOR).4546 - step: 347 task: Rà soát luồng xác thực48 detail: >49 Rà soát luồng xác thực dựa trên các thực hành tốt nhất của OAuth 2.0:50 xác minh cơ chế PKCE được bắt buộc áp dụng đối với các public clients, các token có51 thời hạn hết hạn hợp lý (access: 15 phút, refresh: 7 ngày), cơ chế xoay vòng52 refresh token (refresh token rotation) đã được triển khai, và thao tác đăng xuất làm mất hiệu lực53 các phiên (sessions) ở phía máy chủ.5455 - step: 456 task: Gia cố bảo mật triển khai Django57 detail: >58 Kiểm tra việc gia cố bảo mật khi triển khai Django theo OWASP A05 (Security59 Misconfiguration): chạy lệnh python manage.py check --deploy60 và xác minh DEBUG=False, SECURE_SSL_REDIRECT=True,61 SECURE_HSTS_SECONDS >= 31536000, SESSION_COOKIE_SECURE=True,62 CSRF_COOKIE_SECURE=True, ALLOWED_HOSTS được giới hạn chặt chẽ.6364 - step: 565 task: Kiểm tra dữ liệu đầu vào và các bề mặt tấn công chèn mã (injection)66 detail: >67 Đánh giá việc kiểm tra hợp lệ dữ liệu đầu vào và các bề mặt chèn mã theo OWASP A03:68 kiểm tra tất cả các trường trong serializer của DRF đều có quy tắc xác thực rõ ràng,69 các câu truy vấn SQL thuần (raw SQL) sử dụng câu lệnh tham số hóa (parameterized statements), và bất kỳ70 tham số lọc nào do người dùng cung cấp đều nằm trong danh sách cho phép (whitelisted).7172 - step: 673 task: Giới hạn tần suất (Rate limiting) và chống lạm dụng74 detail: >75 Rà soát việc giới hạn tần suất gọi API và ngăn chặn lạm dụng: xác minh76 cơ chế throttling của DRF được cấu hình theo từng người dùng và từng endpoint,77 các endpoint xác thực có giới hạn nghiêm ngặt hơn (5 lần/phút),78 và các truy vấn bảng điều khiển nặng có cơ chế bảo vệ giới hạn chi phí truy vấn (query cost guards).7980 - step: 781 task: Quản lý thông tin bí mật (Secrets management)82 detail: >83 Đánh giá việc quản lý thông tin bí mật: xác minh không có thông tin đăng nhập nào bị gắn cứng (hardcoded)84 trong mã nguồn, các tệp .env đã được đưa vào .gitignore, các bí mật trên môi trường production85 được truyền vào thông qua biến môi trường của Railway/Vercel,86 và các khóa API sử dụng quyền hạn được giới hạn phạm vi (scoped permissions).8788constraints:89 must:90 - Kiểm tra đầy đủ mọi danh mục trong OWASP Top 10 (2021), không bỏ sót mục nào91 - Xác minh tính cô lập giữa các tenant bằng các kịch bản kiểm thử cụ thể (ví dụ: người dùng A gửi yêu cầu tới /api/metrics/?tenant_id=B)92 - Cung cấp xếp hạng mức độ nghiêm trọng cho từng phát hiện (Critical/High/Medium/Low)93 - Bao gồm khuyến nghị khắc phục cho từng phát hiện94 never:95 - Giả định rằng bảo mật bằng sự che giấu (security by obscurity) là đủ an toàn96 - Bỏ qua bước kiểm tra xác thực/phân quyền trên các endpoint nội bộ97 always:98 - Kiểm tra sự thiếu hụt của các tiêu đề bảo mật Content-Security-Policy, X-Frame-Options và Strict-Transport-Security99100output_format:101 sections:102 - name: Tóm tắt Điều hành (Executive Summary)103 detail: 2-3 câu đánh giá về tư thế rủi ro tổng thể104 - name: Bảng Tổng hợp Phát hiện (Findings Table)105 columns: ["#", "OWASP Category", "Finding", "Severity", "Status"]106 - name: Chi tiết từng Phát hiện (Detailed Findings)107 per_issue:108 - Mô tả chi tiết109 - Thành phần bị ảnh hưởng (tệp / endpoint)110 - Bằng chứng khái niệm (PoC) hoặc kịch bản kiểm thử111 - Cách khắc phục kèm theo ví dụ mã nguồn112 - name: Danh mục Kiểm tra Triển khai (Deployment Checklist)113 detail: đạt/không đạt (pass/fail) cho từng cài đặt bảo mật của Django114 - name: Các Bước Tiếp theo Được Khuyến nghị (Recommended Next Steps)115 detail: được sắp xếp ưu tiên theo mức độ nghiêm trọng116117success_criteria:118 - Toàn bộ 10 danh mục OWASP được đánh giá với kết quả đạt/không đạt rõ ràng119 - Cô lập dữ liệu giữa các tenant được xác minh bằng ít nhất 3 kịch bản kiểm thử cụ thể120 - Danh mục kiểm tra triển khai Django không có mục nào bị FAIL121 - Mọi phát hiện ở mức Critical/High đều có giải pháp khắc phục ở cấp độ mã nguồn122 - Báo cáo có thể được thực thi ngay bởi một lập trình viên độc lập mà không cần công cụ bên ngoài123
Đóng vai Kiến trúc sư Hệ thống Lõi. Nâng cấp FRACTALMESH/TITAN OMEGA lên phiên bản v10355.0. Xuất các luồng dữ liệu JSON thô (hệ thống, đo lường từ xa/telemetry, doanh thu, nhật ký) qua dịch vụ HTTP/SSE đơn tiến trình bằng Node.js trên Termux tại cổng 7789 kèm bộ giám sát tự phục hồi (watchdog). Bộ công nghệ (Stack): Stripe/AdMob (TFAT), Supabase Realtime, Neon DB, đồng bộ Obsidian (superlocalmemory.git), ngrok, OpenHands, Hermes, KAI9000. Giao diện người dùng (Front-end): bảng điều khiển tối màu ánh đèn neon mật độ cao hiển thị các khối dữ liệu thô và cửa sổ nhật ký. Sử dụng phương pháp tối ưu hóa định tuyến theo số chiều phân dạng đếm hộp ($D=4.5-7.5$).
Đánh giá các bảng PostgreSQL và MySQL (tệp schema.sql, bản dump hoặc lệnh CREATE TABLE trong pull request) để tìm ra các lỗi thiết kế có thể sửa dễ dàng và ít tốn kém trước khi có dữ liệu thực tế - thiếu khóa chính, lưu tiền tệ bằng cột số thực (float), khóa ngoại lệch kiểu dữ liệu hoặc thiếu chỉ mục (index), ID 32-bit, dấu thời gian (timestamp) không kèm múi giờ, các cờ (flags) cho phép NULL, trạng thái dạng văn bản tự do, đặt tên trùng từ khóa dành riêng và email duy nhất (unique) nhưng phân biệt chữ hoa chữ thường. Trả về mã DDL đã được hiệu chỉnh. Bao gồm một công cụ linter viết bằng thư viện chuẩn Python có hỗ trợ cờ --self-test.
Đánh giá các bản di chuyển lược đồ (schema migrations) của PostgreSQL và MySQL (SQL thuần hoặc do ORM tạo ra) để phát hiện tình trạng khóa bảng, ghi lại toàn bộ bảng, mất dữ liệu và các thay đổi gây lỗi tương thích, sau đó đề xuất cách viết lại an toàn không gây gián đoạn dịch vụ (zero-downtime) kèm theo phán quyết rõ ràng.
Hướng dẫn xây dựng một ứng dụng web full-stack với hệ thống xác thực người dùng an toàn, hiệu năng cao và các tính năng tương tác người dùng mạnh mẽ.