
نظام RAG شخصي للمعرفة في الأمن الهجومي
نظام RAG شخصي يعمل دون اتصال لمعرفة الأمن الهجومي. قم بتحميل تقاريرك، حلول المختبرات، تقارير مكافآت الثغرات، والمدونات الأمنية، ثم استفسر عنها باللغة الطبيعية أثناء المهام. لا سحابة، لا SaaS، معرفتك تبقى ملكك.
ZETSU يحول معرفتك المتراكمة إلى مساعد قابل للاستفسار. بدلاً من البحث في ملفات markdown أو تذكر أي تقرير كان يحتوي على أمر certipy، تسأل طبيعياً:
how do i escalate with SeImpersonatePrivilege
what did i do after getting ADFS access
sliver socks5 pivot setup
explain ESC8 vs ESC4
يستعيد من ملاحظاتك الفعلية أولاً، ثم يُنشئ إجابة مستندة إلى ما وثّقته، وليس معرفة إنترنت عامة.


~/.zetsu/history/YYYY-MM-DD.json، يمكن تصفحه بـ /history.git clone https://github.com/chaelsoo/zetsu
cd zetsu
pip install -r requirements.txt
قم بإعداد مفتاح API الخاص بك:
cp .env.example .env
# عدل .env وأضف مفتاحك
1. أضف تقاريرك
قم بإسقاط ملفات .md في docs/. تصديرات Notion، ملاحظات Obsidian، تصديرات المدونات، أي ملف markdown يصلح.
2. تكوين المصادر في config.toml
[llm]
backend = "openai"
openai_model = "deepseek-chat"
base_url = "https://api.deepseek.com/v1"
[[sources]]
type = "markdown_dir"
path = "./docs"
name = "my_writeups"
extract = "farr"
enabled = true
3. التغذية
python zetsu.py ingest
4. استخدامه
python zetsu.py tui # واجهة طرفية
python zetsu.py web # متصفح على localhost:8000
python zetsu.py ask "how do i abuse SeImpersonatePrivilege"
python zetsu.py ingest # تغذية المصادر المفعلة
python zetsu.py ingest --force # مسح وإعادة بناء كل شيء
python zetsu.py ingest --dry-run # تقدير دون استدعاء LLM
python zetsu.py ingest --all-sources # تفعيل جميع المصادر بغض النظر عن enabled
python zetsu.py tui # واجهة طرفية
python zetsu.py web # واجهة ويب
python zetsu.py ask "query" # استعلام لمرة واحدة
python zetsu.py ask "query" --style concept
python zetsu.py stats # إحصائيات مخزن المتجهات
farr: LLM يستخرج خطوات هجوم منفصلة كـ JSON منظم (اكتشاف، إجراء، سبب، نتيجة). الأفضل لتقارير ذات سلاسل هجوم واضحة.farr+narrative: نفس farr، بالإضافة إلى ملخص نثري يلتقط منطق المؤلف. الأفضل للمدونات التي تهم فيها عملية التفكير.headers: لا LLM، فقط يقسم على العناوين ويحتفظ بالنص الأصلي. الأفضل لمراجع الأوامر وتوثيق الأدوات.قم بالتكوين في config.toml. خلفيات منفصلة للتغذية (استخراج جماعي) والاستعلامات (توليد):
[llm] # وقت الاستعلام
backend = "openai"
openai_model = "deepseek-chat"
base_url = "https://api.deepseek.com/v1"
[ingest] # وقت التغذية
backend = "openai"
openai_model = "deepseek-chat"
base_url = "https://api.deepseek.com/v1"
workers = 8 # ملفات متوازية أثناء استخراج FARR
الخلفيات المدعومة: anthropic، openai (أي واجهة برمجة تطبيقات متوافقة مع OpenAI)، ollama.
[!IMPORTANT] يتم تشغيل ChromaDB محليًا بشكل افتراضي، مما يحمل فهرس المتجهات الكامل في الذاكرة. للمجموعات الكبيرة (10,000+ قطعة) أو الأجهزة ذات الذاكرة المحدودة، يُوصى بشدة بتشغيل ChromaDB كخادم بعيد بدلاً من ذلك. راجع وثائق خادم ChromaDB للإعداد. دعم الوضع البعيد في ZETSU مخطط له.
تم التقييم عبر 910 سؤالاً تغطي 12 فئة من الأمن الهجومي (ADCS، Kerberos، تعداد AD، MSSQL، Sliver C2، تصعيد الامتيازات، هجمات الويب، بيانات الاعتماد، الحركة الجانبية، السحابة/Entra ID، OPSEC، الأدوات).
| المقياس | النتيجة |
|---|---|
| الأسئلة التي تمت الإجابة عنها | 910 / 910 (100%) |
| الإجابات التي تحتوي على كود/أوامر | 842 / 910 (93%) |
أفضل المصادر المساهمة في الإجابات: تقارير HTB الشخصية، مدونة dirkjanm، أبحاث shenaniganslabs، HackTricks ADCS، ويكيبيديا Sliver، ورقة غش netexec.
بكلمات بسيطة، تحتاج إلى التأكد من إضافة موارد جيدة ومنظمة تريد أن يقوم RAG بابتلاعها، هذا المشروع يركز 100% على استخدام قاعدة معرفة، وليس على الثقة في ذاكرة LLM أو المعرفة المدربة.
مجموعة بيانات التقييم الكاملة والنتائج في eval/.
سأقوم بتوثيق الاستخدام ومدى فعاليته في مدونة قريباً جداً، ترقبوا.
| المفتاح | الإجراء |
|---|
Enter | إرسال الاستعلام |
Ctrl+M | تبديل وضع المشغل/المفهوم |
Ctrl+Y | نسخ آخر رد للحافظة |
Ctrl+L | مسح الجلسة |
Ctrl+C | خروج |
/help | عرض الأوامر |
/stats | إحصائيات مخزن المتجهات والتاريخ |
/history | استعلامات اليوم السابقة |
/clear | مسح الجلسة |
| النوع | الاستخدام | وضع الاستخراج |
|---|
markdown_dir | تقاريرك، ملاحظاتك | farr |
markdown_file | ملف markdown واحد | farr |
url | ويكيات الأدوات، صفحات مرجعية | headers |
atom | مدونات أمنية مع خلاصات | farr+narrative |
| فجوات السياق (اعترف النموذج بنقص معلومات) | 66 / 910 (7.3%) |
| متوسط وقت الاسترجاع | 68ms |
| متوسط وقت الاستجابة الإجمالي | 3.8s |