HackingFactory-v2 / DEVELOPMENT_GUIDE.md
FECUOY's picture
Initial commit: HackingFactory v2 Enhanced with Self-Refining AI features
4c41b3d

HackingFactory v2 - Development Guide

نظرة عامة

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


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

1. بيئة الفحص المعزولة (Sandbox)

الملف: server/sandbox.ts

يوفر بيئة معزولة آمنة لتشغيل الأكواد المولدة واختبارها ديناميكياً:

  • تشغيل الأكواد بحد زمني (5 ثوان)
  • قياس الأداء ووقت التنفيذ
  • التقاط المخرجات والأخطاء
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. حفظ النتائج والتكرار حتى الوصول للدرجة المستهدفة
await runSelfRefiningLoop(projectId, prompt, targetScore, maxIterations);

3. قاعدة البيانات المتجهة (Vector Memory)

الملف: server/memory.ts

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

  • البحث الدلالي عن حلول مشابهة
  • تقليل وقت التوليد للمشاكل المتكررة
  • تحسين جودة الحلول الجديدة
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: مستويات متعددة من التشفير
const obfuscated = ObfuscationEngine.fullObfuscate(code, "high");

6. نظام الإشعارات (Notifications)

الملف: server/notifications.ts

إخطار المستخدمين بتقدم المشاريع:

  • إكمال التكرارات
  • إكمال المشاريع
  • الأخطاء والتحذيرات
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. إنشاء مشروع جديد

const project = await trpc.projects.create.mutate({
  name: "My Project",
  mode: "loop",
  contentType: "code",
  originalPrompt: "Generate a reverse shell...",
});

2. تشغيل المصنع

await trpc.projects.runFactory.mutate({
  projectId: project.projectId,
  prompt: project.originalPrompt,
  targetScore: 90,
});

3. مراقبة التقدم

const iterations = await trpc.projects.getIterations.query({
  projectId: project.projectId,
});

4. تطبيق التشفير (Ghost Mode)

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 - تقييم كود

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

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

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

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

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

الأداء

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

الأمان

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

التوسع المستقبلي

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

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

مثال 1: توليد وتقييم كود بسيط

const result = await trpc.chat.generateCode.mutate({
  projectId: 1,
  prompt: "Write a Python script that prints hello world",
});

مثال 2: تشغيل حلقة التكرار الكاملة

await trpc.projects.runFactory.mutate({
  projectId: 1,
  prompt: "Generate a secure password generator",
  targetScore: 95,
});

مثال 3: تطبيق التشفير على الكود

const ghostCode = await trpc.projects.obfuscateCode.mutate({
  code: "print('Hello')",
  level: "high",
});

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

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