امنیت
این بخش فقط لیست فایل نیست؛ کنترلهای امنیتی قابل مشاهده از روی dependencyها، routeها و فایلهای auth/permission/guard/secret تحلیل شدهاند. هرجا شواهد کافی نبوده، وضعیت نیازمند بررسی انسانی باقی مانده است.
کنترلهای امنیتی شناساییشده
| کنترل | وضعیت | توضیح | شاهد |
|---|---|---|---|
| JWT / Token Authentication | شاهد مستقیم پیدا شد | پروژه از token یا guard مرتبط با JWT برای شناسایی کاربر و محافظت از routeها استفاده میکند. | dependency یا فایلهای jwt/auth |
| Authorization / RBAC | شاهد مستقیم پیدا شد | فایلهای permission، role یا guard نشان میدهند که دسترسی فقط بر اساس login نیست و سطح مجوز هم بررسی میشود. | permission/role/guard files |
| Audit Logging | شاهد مستقیم پیدا شد | رخدادهای امنیتی یا عملیاتی قابل ثبت و بازبینی هستند. | audit files/endpoints |
جریان امنیتی درخواست
Mermaid sequence diagram - auth/authorization flow
sequenceDiagram autonumber participant U as کاربر participant UI as Next.js UI participant API as FastAPI participant Dep as Auth Dependency participant Store as Data Store U->>UI: ورود یا درخواست قابلیت UI->>API: ارسال token/request API->>Dep: بررسی user، tenant، license و permission Dep-->>API: مجوز یا خطای دسترسی API->>Store: اجرای عملیات مجاز Store-->>UI: پاسخ با داده مجاز
تحلیل ریسک و توصیهها
ریسکهای زیر از نوع قابلیتها و فایلهای امنیتی استخراج شدهاند و برای production باید با تست و تنظیمات runtime کامل شوند.
- برای هر endpoint حساس، policy دسترسی و تست 401/403 جداگانه ثبت شود.
- مقادیر env، token، password و connection string فقط با نام متغیر مستند شوند و مقدار واقعی نمایش داده نشود.
- رخدادهای login، تغییر permission، تغییر تنظیمات و عملیات destructive در audit log قابل ردیابی باشند.
- برای upload فایل، محدودیت نوع/حجم، مسیر ذخیرهسازی، مالکیت فایل و scan امنیتی بررسی شود.
- تنظیمات CORS، CSRF/session یا bearer token در محیط production جدا از تنظیمات local بازبینی شود.
منابع کد امنیتی
apps/core-backend/src/modules/auth/auth.controller.tsapps/core-backend/src/modules/auth/auth.module.tsapps/core-backend/src/modules/auth/auth.service.tsapps/core-backend/src/modules/auth/auth.types.tsapps/core-backend/src/modules/auth/current-user.decorator.tsapps/core-backend/src/modules/auth/jwt-auth.guard.tsapps/core-backend/src/modules/auth/public.decorator.tsapps/core-backend/src/modules/auth/roles.decorator.tsapps/core-backend/src/modules/auth/roles.guard.tsapps/web-frontend/components/auth/ExitImpersonationButton.tsxapps/web-frontend/components/auth/ImpersonateElevatorButton.tsxapps/web-frontend/components/auth/LogoutButton.tsxdocs/historical-mapping-guardrails.mdtests/e2e/auth-and-workflow.spec.mjs