diff --git a/CLAUDE.md b/CLAUDE.md index 647abbb..41eb69b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -437,6 +437,19 @@ preferred setup, because there is then no key to leak. **Never let the server ru `django-insecure-…` fallback from `config/settings.py`: that string is committed here, so anyone who can read this repo can forge a token for any user.** +## وضعیت ۲۰۲۶-۱۰-۰۵ — بازبینیِ امنیتیِ پیش از تحویل + +**روی سرور از ۲۰۲۶-۱۰-۰۵ ۰۵:۰۷** (بک‌اند `a973c41`، سرویس واقعاً ری‌استارت شد، `payment.0011` اعمال شد؛ فرانت +`e850f6d`). بکاپ: `.deploy-backups/db-before-security-review-20261005-050627.sqlite3`. از بیرون سنجیده شد: callbackِ +بی‌Authority ۴۰۰، حذفِ مهمانِ نمایشی ۴۰۳، `characterId="²"` ۴۰۰، Swagger روی `swagger-ui-dist@5.33.1`. + +شش بررسی‌کننده‌ی موازی (هر کدام یک بخش، فقط محلی) کد را بدبینانه وارسی کردند؛ هر یافته با تست بازتولید شد. هر +ایرادی که رفعش ارائه را به خطر نمی‌انداخت رفع شد و در `*/tests_security_review.py` حفاظ دارد (۸۳۲ تست سبز)؛ مهم‌ترینش +actionهای لغو/بازپرداخت که برای Supervisorِ فقط‌خواندنی هم اجرا می‌شدند، و ورودِ فایلِ سوال برای هر کارمند. آنچه +ماند (تصمیمِ طراحی یا خطرِ دمو) مواردِ ۲۴ تا ۳۱ِ `docs/security-before-production.md` است؛ گزارشِ سینیور همان +`گزارش-۲۷/فهرستِ-مسائلِ-امنیتی.html` (۲۳ مورد). **رفعِ کلیدِ امضا حالا امن است:** فایلِ `.django_secret_key` اتمی +ساخته می‌شود؛ پیش از آن سه worker در ۱۶ از ۲۰ بار کلیدِ جدا می‌ساختند. + ## وضعیت ۲۰۲۶-۱۰-۰۳ (عصر) — پایه‌ی چهارم و پنجم، خریدِ بازار از اپ، بهبودِ UI **روی سرور از ۲۰۲۶-۱۰-۰۴ ۰۳:۰۵** (بک‌اند `8cb326b`، سرویس واقعاً ری‌استارت شد، `subscription.0012` اعمال شد؛