File size: 8,026 Bytes
4c41b3d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
# HackingFactory v2 - Development Guide

## نظرة عامة

**HackingFactory** هو نموذج متقدم لـ "أنظمة الذكاء الاصطناعي ذاتية التحسين" (Self-Refining AI Systems). يجمع بين قوة نماذج التوليد (Qwen) والتقييم (DeepSeek) في حلقة تكرارية مستمرة لإنتاج أكواد عالية الجودة.

---

## المكونات الرئيسية

### 1. **بيئة الفحص المعزولة (Sandbox)**
**الملف:** `server/sandbox.ts`

يوفر بيئة معزولة آمنة لتشغيل الأكواد المولدة واختبارها ديناميكياً:
- تشغيل الأكواد بحد زمني (5 ثوان)
- قياس الأداء ووقت التنفيذ
- التقاط المخرجات والأخطاء

```typescript
const result = await runCodeInSandbox(code, "python");
// { success: boolean, output: string, error?: string, executionTime: number }
```

### 2. **محرك التكرار الذاتي (Self-Refining Loop)**
**الملف:** `server/factory.ts`

يدير العملية الكاملة للتوليد والتقييم والتحسين:
1. البحث في الذاكرة عن حلول مشابهة سابقة
2. توليد كود جديد (Qwen)
3. فحص ديناميكي (Sandbox)
4. تقييم شامل (DeepSeek)
5. حفظ النتائج والتكرار حتى الوصول للدرجة المستهدفة

```typescript
await runSelfRefiningLoop(projectId, prompt, targetScore, maxIterations);
```

### 3. **قاعدة البيانات المتجهة (Vector Memory)**
**الملف:** `server/memory.ts`

تخزين واسترجاع الحلول الناجحة السابقة باستخدام ChromaDB:
- البحث الدلالي عن حلول مشابهة
- تقليل وقت التوليد للمشاكل المتكررة
- تحسين جودة الحلول الجديدة

```typescript
const memory = ProjectMemory.getInstance();
await memory.addSuccessfulCode(projectId, code, prompt, score);
const similar = await memory.findSimilarSolutions(query);
```

### 4. **نظام التقييم المتعدد (Multi-Criteria Scoring)**
**الملف:** `server/routers/chat.ts` - دالة `evaluateCode`

تقييم الأكواد بناءً على أربعة معايير (0-25 نقطة لكل معيار):
1. **التخفي (Stealth):** إخفاء الأثر، تجنب الكشف
2. **الاستقرار (Stability):** معالجة الأخطاء، إدارة الموارد
3. **الكفاءة (Efficiency):** الأداء، سرعة التنفيذ
4. **الموثوقية (Reliability):** معدل النجاح، التوافقية

### 5. **محرك التشفير والتخفي (Obfuscation Engine)**
**الملف:** `server/obfuscation.ts`

يوفر عدة مستويات من التشفير:
- **Low:** إعادة تسمية المتغيرات
- **Medium:** تشفير النصوص + إضافة كود وهمي
- **High:** مستويات متعددة من التشفير

```typescript
const obfuscated = ObfuscationEngine.fullObfuscate(code, "high");
```

### 6. **نظام الإشعارات (Notifications)**
**الملف:** `server/notifications.ts`

إخطار المستخدمين بتقدم المشاريع:
- إكمال التكرارات
- إكمال المشاريع
- الأخطاء والتحذيرات

```typescript
const notifier = NotificationManager.getInstance();
await notifier.notifyProjectComplete(userId, projectName, score, projectId);
```

### 7. **لوحة التحكم المرئية (Visual Dashboard)**
**الملف:** `client/src/pages/Dashboard.tsx`

واجهة رسومية تعرض:
- إحصائيات المشاريع
- رسم بياني لتقدم التكرارات (Iteration Progress Chart)
- قائمة المشاريع النشطة
- معلومات مفصلة عن كل مشروع

### 8. **محرر الأكواد المباشر (Live Code Editor)**
**الملف:** `client/src/components/CodeEditor.tsx`

يسمح للمستخدمين بـ:
- تحرير الأكواد يدوياً
- نسخ الأكواد
- تشغيل الأكواد مباشرة

### 9. **مكتبة القوالب (Payload Library)**
**الملف:** `client/src/components/PayloadLibrary.tsx`

مكتبة منظمة للحلول الناجحة:
- البحث والتصفية حسب الوسوم
- عرض درجات الجودة
- تطبيق التشفير على القوالب

---

## سير العمل (Workflow)

### 1. إنشاء مشروع جديد
```typescript
const project = await trpc.projects.create.mutate({
  name: "My Project",
  mode: "loop",
  contentType: "code",
  originalPrompt: "Generate a reverse shell...",
});
```

### 2. تشغيل المصنع
```typescript
await trpc.projects.runFactory.mutate({
  projectId: project.projectId,
  prompt: project.originalPrompt,
  targetScore: 90,
});
```

### 3. مراقبة التقدم
```typescript
const iterations = await trpc.projects.getIterations.query({
  projectId: project.projectId,
});
```

### 4. تطبيق التشفير (Ghost Mode)
```typescript
const obfuscated = await trpc.projects.obfuscateCode.mutate({
  code: finalCode,
  level: "high",
});
```

---

## البنية الديناميكية (Dynamic Analysis)

عند تقييم الكود، يتم تنفيذه فعلياً في بيئة معزولة:

```
Input Code

[Sandbox Execution] → Output, Errors, Execution Time

[LLM Analysis] → Scoring (Stealth, Stability, Efficiency, Reliability)

[Iteration Storage] → Save to Database

[Score Check] → If score < target, repeat generation
```

---

## التكامل مع الواجهة الأمامية

### مسارات tRPC المتاحة

**Projects Router:**
- `create` - إنشاء مشروع جديد
- `list` - قائمة المشاريع
- `getById` - الحصول على تفاصيل مشروع
- `updateStatus` - تحديث حالة المشروع
- `addIteration` - إضافة تكرار جديد
- `getIterations` - الحصول على التكرارات
- `runFactory` - تشغيل المصنع
- `obfuscateCode` - تطبيق التشفير

**Chat Router:**
- `sendMessage` - إرسال رسالة للذكاء الاصطناعي
- `generateCode` - توليد كود
- `evaluateCode` - تقييم كود

---

## متطلبات التثبيت

```bash
# تثبيت المكتبات
npm install

# تثبيت ChromaDB (Python)
sudo pip3 install chromadb

# تشغيل الخادم
npm run dev
```

---

## ملاحظات تطويرية

### الأداء
- استخدام الخيط الخلفي (Background) لتشغيل المصنع لتجنب timeout
- تخزين النتائج في الذاكرة المتجهة لتسريع البحث

### الأمان
- جميع الأكواد تُشغل في بيئة معزولة
- لا توجد وصول مباشر للنظام الرئيسي
- التحقق من صلاحيات المستخدم على جميع المسارات

### التوسع المستقبلي
- دعم نماذج استدلال متقدمة (o1, DeepSeek-R1)
- تكامل Docker للفحص الديناميكي المتقدم
- نظام التنبيهات عبر WebSocket
- تصدير النتائج بصيغ متعددة

---

## أمثلة الاستخدام

### مثال 1: توليد وتقييم كود بسيط
```typescript
const result = await trpc.chat.generateCode.mutate({
  projectId: 1,
  prompt: "Write a Python script that prints hello world",
});
```

### مثال 2: تشغيل حلقة التكرار الكاملة
```typescript
await trpc.projects.runFactory.mutate({
  projectId: 1,
  prompt: "Generate a secure password generator",
  targetScore: 95,
});
```

### مثال 3: تطبيق التشفير على الكود
```typescript
const ghostCode = await trpc.projects.obfuscateCode.mutate({
  code: "print('Hello')",
  level: "high",
});
```

---

## الدعم والمساهمة

للمزيد من المعلومات أو الإبلاغ عن مشاكل، يرجى فتح issue في المستودع.