Spaces:
Sleeping
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
يدير العملية الكاملة للتوليد والتقييم والتحسين:
- البحث في الذاكرة عن حلول مشابهة سابقة
- توليد كود جديد (Qwen)
- فحص ديناميكي (Sandbox)
- تقييم شامل (DeepSeek)
- حفظ النتائج والتكرار حتى الوصول للدرجة المستهدفة
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 نقطة لكل معيار):
- التخفي (Stealth): إخفاء الأثر، تجنب الكشف
- الاستقرار (Stability): معالجة الأخطاء، إدارة الموارد
- الكفاءة (Efficiency): الأداء، سرعة التنفيذ
- الموثوقية (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 في المستودع.