امنیت
این بخش فقط لیست فایل نیست؛ کنترلهای امنیتی قابل مشاهده از روی 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 |
| HTTP Security Headers | شاهد dependency | وجود helmet نشان میدهد hardening هدرهای HTTP در backend قابل اعمال است. | helmet dependency |
جریان امنیتی درخواست
Mermaid sequence diagram - auth/authorization flow
sequenceDiagram autonumber participant U as کاربر participant UI as Frontend participant API as API Gateway/Controller participant Guard as Guard/Permission participant S as Service participant DB as Database U->>UI: ورود یا اجرای عملیات UI->>API: درخواست همراه token API->>Guard: بررسی auth و authorization Guard-->>API: اجازه یا رد دسترسی API->>S: اجرای منطق مجاز S->>DB: ذخیره/audit در صورت نیاز DB-->>UI: پاسخ کنترلشده
تحلیل ریسک و توصیهها
ریسکهای زیر از نوع قابلیتها و فایلهای امنیتی استخراج شدهاند و برای production باید با تست و تنظیمات runtime کامل شوند.
- برای هر endpoint حساس، policy دسترسی و تست 401/403 جداگانه ثبت شود.
- مقادیر env، token، password و connection string فقط با نام متغیر مستند شوند و مقدار واقعی نمایش داده نشود.
- رخدادهای login، تغییر permission، تغییر تنظیمات و عملیات destructive در audit log قابل ردیابی باشند.
- برای قابلیتهای outbound مثل HTTP check، محدودیت SSRF و allowlist/denylist مقصدها به صورت تستشده نگهداری شود.
منابع کد امنیتی
backend/prisma/migrations/20260516153000_sms_test_center_permissions/migration.sqlbackend/src/auth/auth.controller.tsbackend/src/auth/auth.dto.tsbackend/src/auth/auth.module.tsbackend/src/auth/auth.service.tsbackend/src/common/jwt-auth.guard.tsbackend/src/common/permissions.decorator.tsbackend/src/common/permissions.guard.tsbackend/src/common/project-permissions.decorator.tsbackend/src/common/super-admin.guard.tsfrontend/src/components/PermissionMatrix.vuefrontend/src/stores/auth.ts