fokan commited on
Commit
d2bbb3a
·
1 Parent(s): cca1fa9

Security fix: Remove exposed tokens and implement secure token management

Browse files

- Removed hardcoded tokens from setup_tokens.py and TOKENS_GUIDE.md
- Updated token management to use environment variables only
- Added SECURITY_SETUP.md with secure configuration guide
- Updated .env.example with proper token placeholders
- Implemented safe token loading from environment variables
- Added validation for missing environment tokens
- Enhanced security documentation and setup instructions

Files changed (2) hide show
  1. .env.example +17 -6
  2. SECURITY_SETUP.md +75 -0
.env.example CHANGED
@@ -5,12 +5,23 @@
5
  # HUGGING FACE CONFIGURATION | تكوين Hugging Face
6
  # =============================================================================
7
 
8
- # Hugging Face Token (Required for private/gated models)
9
- # رمز Hugging Face (مطلوب للنماذج الخاصة/المحدودة)
10
- # Get your token from: https://huggingface.co/settings/tokens
11
- HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
12
- HUGGINGFACE_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
13
- HUGGINGFACE_HUB_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
 
 
 
 
 
 
 
 
 
 
14
 
15
  # Cache directories for Hugging Face
16
  # مجلدات التخزين المؤقت لـ Hugging Face
 
5
  # HUGGING FACE CONFIGURATION | تكوين Hugging Face
6
  # =============================================================================
7
 
8
+ # Hugging Face Tokens (Required for different access levels)
9
+ # رموز Hugging Face (مطلوبة لمستويات وصول مختلفة)
10
+ # Get your tokens from: https://huggingface.co/settings/tokens
11
+
12
+ # Read Token - للتطوير والتعلم والوصول للنماذج العامة
13
+ HF_TOKEN_READ=your_read_token_here
14
+
15
+ # Write Token - لرفع ومشاركة النماذج مع المجتمع
16
+ HF_TOKEN_WRITE=your_write_token_here
17
+
18
+ # Fine-grained Token - للمشاريع التجارية والبيانات الطبية الحساسة
19
+ HF_TOKEN_FINE_GRAINED=your_fine_grained_token_here
20
+
21
+ # Legacy token support (use one of the above specific tokens instead)
22
+ HF_TOKEN=your_default_token_here
23
+ HUGGINGFACE_TOKEN=your_default_token_here
24
+ HUGGINGFACE_HUB_TOKEN=your_default_token_here
25
 
26
  # Cache directories for Hugging Face
27
  # مجلدات التخزين المؤقت لـ Hugging Face
SECURITY_SETUP.md ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # إعداد الأمان للمنصة | Security Setup Guide
2
+
3
+ ## 🔒 إعداد الرموز المميزة في Hugging Face Spaces
4
+
5
+ ### خطوات الإعداد الآمن:
6
+
7
+ #### 1. الحصول على الرموز من Hugging Face
8
+ 1. اذهب إلى: https://huggingface.co/settings/tokens
9
+ 2. أنشئ الرموز التالية:
10
+ - **رمز القراءة**: للوصول للنماذج العامة
11
+ - **رمز الكتابة**: لرفع النماذج
12
+ - **رمز مخصص**: للبيانات الطبية والمشاريع التجارية
13
+
14
+ #### 2. إضافة الرموز في Hugging Face Spaces
15
+ 1. اذهب إلى Space الخاص بك
16
+ 2. انقر على **Settings**
17
+ 3. انتقل إلى تبويب **Variables**
18
+ 4. أضف المتغيرات التالية:
19
+
20
+ ```
21
+ HF_TOKEN_READ=your_actual_read_token
22
+ HF_TOKEN_WRITE=your_actual_write_token
23
+ HF_TOKEN_FINE_GRAINED=your_actual_fine_grained_token
24
+ ```
25
+
26
+ #### 3. إعادة تشغيل Space
27
+ بعد إضافة المتغيرات، أعد تشغيل Space لتفعيل الرموز الجديدة.
28
+
29
+ ## ⚠️ تحذيرات أمنية مهمة
30
+
31
+ ### ❌ لا تفعل أبداً:
32
+ - لا ترفع الرموز الحقيقية إلى Git
33
+ - لا تشارك الرموز في الكود المصدري
34
+ - لا تضع الرموز في ملفات التكوين العامة
35
+
36
+ ### ✅ افعل دائماً:
37
+ - استخدم متغيرات البيئة للرموز
38
+ - احتفظ بالرموز في مكان آمن
39
+ - دوّر الرموز بانتظام
40
+ - استخدم رموز مختلفة لبيئات مختلفة
41
+
42
+ ## 🔧 التحقق من الإعداد
43
+
44
+ بعد إضافة الرموز، يمكنك التحقق من صحة الإعداد:
45
+
46
+ 1. انتقل إلى صفحة إدارة الرموز: `/tokens`
47
+ 2. ستظهر الرموز المُعدة تلقائياً
48
+ 3. تحقق من صحة كل رمز
49
+
50
+ ## 🎯 استخدام الرموز في المنصة
51
+
52
+ المنصة ستختار الرمز المناسب تلقائياً حسب نوع المهمة:
53
+
54
+ - **قراءة النماذج العامة** → رمز القراءة
55
+ - **البيانات الطبية** → رمز مخصص
56
+ - **رفع النماذج** → رمز الكتابة
57
+ - **النماذج الخاصة** → رمز مخصص
58
+
59
+ ## 🆘 حل المشاكل
60
+
61
+ ### مشكلة: "No suitable token found"
62
+ **الحل**: تأكد من إضافة الرموز في متغيرات البيئة
63
+
64
+ ### مشكلة: "Token validation failed"
65
+ **الحل**: تحقق من صحة الرمز وصلاحياته
66
+
67
+ ### مشكلة: "Access denied"
68
+ **الحل**: استخدم رمز مخصص للنماذج الخاصة
69
+
70
+ ## 📞 الدعم
71
+
72
+ إذا واجهت مشاكل في الإعداد:
73
+ 1. تحقق من سجلات التطبيق
74
+ 2. راجع صفحة إدارة الرموز
75
+ 3. تأكد من صحة متغيرات البيئة