
أداة تحليل سلوكي في وقت التشغيل تعزل الحزم المشبوهة في حاويات Docker، وتتتبع استدعاءات النظام باستخدام strace، وترسم خرائط تسلسلات العمليات إلى رسوم بيانية موجهة، وتكتشف هجمات سلسلة التوريد باستخدام تواقيع YARA، واكتشاف الشذوذ بالتعلم الآلي، وتحليل الأنماط الزمنية.

TraceTree Demo
TraceTree (cascade-analyzer) هو كائن أمني مستقل مصمم للعصر الوكيل. يتجاوز المسح البسيط إلى نظام كشف قوي ومتين وقابل للتوسع. مثل تميمة العنكبوت، ينسج TraceTree شبكة حماية شاملة حول سير عمل التطوير الخاص بك باستخدام أرجلها الثمانية المتخصصة.
يمكن استخدام TraceTree كبوابة مراجعة قبل أن يثق الوكلاء أو البشر في تثبيت حزمة. راجع تصدير إيصال السلوك للحصول على نموذج إيصال صغير متوافق مع JSON/SARIF يلخص تجزئة الهدف، وسياسة الصندوق الرمل، والسلوك الملاحظ، وتجزئات القطع الأثرية، والحكم، والإعدادات الافتراضية للخصوصية دون كشف سجلات استدعاء النظام الخام.
TraceTree/ ├── api/ # API stubs ├── codebase-analysis-docs/ # Architecture documents and knowledge guides ├── data/ # Behavioral signatures, rules, and training datasets ├── docs/ # Documentation assets ├── examples/ # Demo scripts and usage examples ├── frontend/ # Next.js/React web dashboard ├── graph/ # NetworkX directed graph builder ├── hooks/ # Git/Shell hooks for background monitoring ├── logs/ # Execution trace logs and strace outputs ├── macapp/ # Native macOS menu bar app ├── mascot/ # Console ASCII spider mascot ├── mcp/ # MCP server security testing module ├── ml/ # Machine learning classification and anomaly detection ├── monitor/ # Core syscall parser, YARA matching, and timelines ├── orchestrator/ # TypeScript multi-agent coordination server ├── repocheckai/ # Repository analysis engine (TypeScript/Node) ├── samples/ # Malware and benign files for sandbox tests ├── sandbox/ # Docker container manager and strace sandbox ├── test_targets/ # Mock packages/servers for detection testing ├── tests/ # Unit, integration, and system tests ├── watcher/ # File system change listener daemon └── worker/ # Background task execution worker
## أرجل عنكبوت TraceTree الثمانية
1. **الرجل 1: عزل الصندوق الرملي (المصيدة)** — ينفذ الأهداف في حاويات Docker معزولة (أو وضع `direct` عالي الأداء) حيث تكون التهديدات محصورة ماديًا.
2. **الرجل 2: تحليل استدعاءات النظام (الجهاز العصبي)** — محرك عالي الدقة يراقب كل "اهتزازة" (استدعاء نظام) تصدرها عملية للنظام التشغيل.
3. **الرجل 3: الرسم البياني السلوكي (الشبكة)** — يرسم خريطة "التسلسل" لكيفية تفاعل العمليات والملفات وعُقد الشبكة باستخدام الرسوم البيانية الموجهة من NetworkX.
4. **الرجل 4: كشف الشذوذ بالتعلم الآلي (الحدس)** — نموذج غابة عشوائية (Random Forest) مُدرَّب خصيصًا (مُدرَّب على مجموعة بيانات صغيرة وممثلة من الحزم النظيفة/الخبيثة، بالإضافة إلى خلاصات MalwareBazaar الحية الاختيارية) يتنبأ بالنوايا الخبيثة بثقة عالية.
5. **الرجل 5: مطابقة توقيعات YARA (الذاكرة)** — مكتبة مدمجة من الحمض النووي للبرامج الضارة المعروفة وأنماط الاستغلال (الصدف العكسية، عمال تعدين العملات الرقمية، إلخ).
6. **الرجل 6: بروتوكول أمان MCP (درع الوكيل)** — حماية متخصصة لخوادم بروتوكول سياق النموذج (Model Context Protocol)، للدفاع عن الأدوات التي يستخدمها وكلاء الذكاء الاصطناعي.
7. **الرجل 7: الذكاء الاصطناعي الحارس الأمني (الشبكة الاستباقية)** — "ماسح ذكي" قبل الالتزام (pre-commit) يستخدم نماذج LLM محلية (Qwen-Coder) لاصطياد التسريبات والحقن قبل وصولها إلى سجل التغييرات.
8. **الرجل 8: التحليل الزمني و N-gram (مسح DNA)** — يحدد التهديدات من خلال *إيقاع* و*تسلسل* أفعالها عبر الزمن.
## كيف يعمل```
target ──► Docker sandbox (network dropped) ──► strace -t -f
│
▼
strace log
│
┌────────────────┼────────────────┐
▼ ▼ ▼
strace parser signature temporal
(parser.py) matcher (sigs) analyzer
│ │ │
└───────┬────────┴────────────────┘
▼
NetworkX graph
(builder.py)
│
▼
ML anomaly detection
(RandomForest / IsolationForest)
│
▼
verdict
ip link set eth0 down) قبل بدء التثبيت/التنفيذ، لذا يتم تسجيل أي محاولات اتصال خارجية ولكن يتم حظرها.strace -t -f -e trace=all. يضيف -t طوابع زمنية للتحليل الزمني، و-f يتابع العمليات الفرعية.monitor/parser.py) — محلل يعتمد على التعبيرات النمطية (Regex) يتعامل مع مخرجات strace متعددة الأسطر وتنسيقات [pid] و bare-pid. يستخرج إنشاء العملية، الوصول إلى الملفات، اتصالات الشبكة، وعمليات الذاكرة. يُخصص لكل استدعاء نظام وزن خطورة (0–9) بناءً على صلته بالأمان.monitor/signatures.py) — يطابق تدفق الأحداث المحلل مقابل 8 أنماط توقيع سلوكي معرفة في data/signatures.json. كل مطابقة تنتج أدلة تسرد الأحداث المحددة التي أدت إلى ذلك.monitor/timeline.py) — يكتشف 5 أنماط سلوكية مبنية على الوقت من تدفق الأحداث المطعم بالطوابع الزمنية (مثل: قراءة بيانات الاعتماد متبوعة باتصال خارجي خلال 5 ثوانٍ).graph/builder.py) — يبني رسمًا بيانيًا موجهًا باستخدام NetworkX مع عُقد للعمليات والملفات والشبكة. يضيف حوافًا زمنية بين أحداث متتالية لنفس PID ضمن نافذة 5 ثوانٍ.ml/detector.py) — يستخرج متجهًا من 10 ميزات من الرسم البياني والبيانات المحللة. يستخدم مصنف RandomForestClassifier إذا كان النموذج المدرب متاحًا، وإلا يتحول إلى IsolationForest مدرب على 10 خطوط أساسية لحزم نظيفة مبرمجة بشكل ثابت. تعزز درجات الخطورة وأعداد الأنماط الزمنية الثقة النهائية.معرفة في data/signatures.json. لكل منها خطورة (1–10)، استدعاءات النظام المطلوبة، أنماط الملفات، شروط الشبكة، وتسلسل مرتب للمطابقة.
| التوقيع | الخطورة | ما يلتقطه |
|---|---|---|
reverse_shell | 10 | اتصال خارجي → dup2 → execve /bin/sh |
container_escape | 10 | openat لـ /proc/1/, /sys/fs/cgroup, /var/run/docker.sock |
credential_theft | 9 | openat لـ /etc/shadow, .ssh/, .aws/ → اتصال خارجي |
typosquat_exfil | 9 | قراءة سر (.env, .npmrc) → اتصال بـ pastebin/file.io/transfer.sh |
process_injection | 9 | mprotect PROT_EXEC → execve لثنائي غير قياسي |
crypto_miner | 8 | clone → clone → اتصال بمنفذ تعدين (3333, 4444, 14444, 45700) |
dns_tunneling | 7 | getaddrinfo + sendto + socket على المنفذ 53/5353 |
persistence_cron | 7 | openat لمسار crontab → كتابة |