Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

فحص الملفات والأدلة ​

أمر sd scan هو الطريقة الأساسية للتحقق من الملفات والأدلة بحثاً عن البرامج الضارة. يمرر كل ملف من خلال خط أنابيب الكشف متعدد الطبقات -- مطابقة الهاش وقواعد YARA والتحليل الاكتشافي -- ويبلغ عن حكم لكل ملف.

الاستخدام الأساسي ​

فحص ملف واحد:

bash
sd scan /path/to/file

فحص دليل (غير متكرر بشكل افتراضي):

bash
sd scan /home/user/downloads

فحص دليل وجميع الأدلة الفرعية:

bash
sd scan /home --recursive

خيارات الأمر ​

الخيارالمختصرالافتراضيالوصف
--recursive-rإيقافالتكرار في الأدلة الفرعية
--json-jإيقافمخرجات النتائج بتنسيق JSON
--threads-tأنوية المعالجعدد خيوط الفحص المتوازية
--auto-quarantine-qإيقافعزل التهديدات المكتشفة تلقائياً
--remediateإيقافمحاولة المعالجة التلقائية (حذف/عزل استناداً إلى السياسة)
--exclude-eلا شيءنمط glob لاستبعاد الملفات أو الأدلة
--reportلا شيءكتابة تقرير الفحص إلى مسار ملف
--max-size-mb100تخطي الملفات الأكبر من هذا الحجم بالميغابايت
--no-yaraإيقافتخطي فحص قواعد YARA
--no-heuristicsإيقافتخطي التحليل الاكتشافي
--min-severitysuspiciousالحد الأدنى للخطورة للإبلاغ (suspicious أو malicious)

تدفق الكشف ​

عندما يعالج sd scan ملفاً، يمر عبر خط أنابيب الكشف بالترتيب:

ملف → كشف الرقم السحري → تحديد نوع الملف
  │
  ├─ الطبقة 1: بحث هاش SHA-256 (LMDB)
  │   تطابق → MALICIOUS (فوري، ~1μs لكل ملف)
  │
  ├─ الطبقة 2: فحص قواعد YARA-X (أكثر من 38,800 قاعدة)
  │   تطابق → MALICIOUS مع اسم القاعدة
  │
  ├─ الطبقة 3: التحليل الاكتشافي (مدرك لنوع الملف)
  │   نتيجة ≥ 60 → MALICIOUS
  │   نتيجة 30-59 → SUSPICIOUS
  │   نتيجة < 30 → CLEAN
  │
  └─ تجميع النتائج → أعلى خطورة تفوز

يعمل خط الأنابيب بدائرة قصر: إذا وُجد تطابق هاش، يُتجاوز تحليل YARA والاستدلاليات لذلك الملف. هذا يجعل فحص الأدلة الكبيرة سريعاً -- معظم الملفات النظيفة تُحَل في طبقة الهاش في ميكروثوانٍ.

تنسيقات المخرجات ​

قابل للقراءة البشرية (الافتراضي) ​

bash
sd scan /home/user/downloads --recursive
PRX-SD Scan Report
==================
Scanned: 3,421 files (1.2 GB)
Skipped: 14 files (exceeded max size)
Threats: 3 (2 malicious, 1 suspicious)

  [MALICIOUS] /home/user/downloads/invoice.exe
    Layer:   Hash match (SHA-256)
    Source:  MalwareBazaar
    Family:  Emotet
    SHA-256: e3b0c44298fc1c149afbf4c8996fb924...

  [MALICIOUS] /home/user/downloads/patch.scr
    Layer:   YARA rule
    Rule:    win_ransomware_lockbit3
    Source:  ReversingLabs

  [SUSPICIOUS] /home/user/downloads/updater.bin
    Layer:   Heuristic analysis
    Score:   42/100
    Findings:
      - High section entropy: 7.91 (packed)
      - Suspicious API imports: VirtualAllocEx, WriteProcessMemory
      - Non-standard PE timestamp

Duration: 5.8s (589 files/s)

مخرجات JSON ​

bash
sd scan /path --recursive --json
json
{
  "scan_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "timestamp": "2026-03-21T14:30:00Z",
  "files_scanned": 3421,
  "files_skipped": 14,
  "total_bytes": 1288490188,
  "threats": [
    {
      "path": "/home/user/downloads/invoice.exe",
      "verdict": "malicious",
      "layer": "hash",
      "source": "MalwareBazaar",
      "family": "Emotet",
      "sha256": "e3b0c44298fc1c149afbf4c8996fb924...",
      "md5": "d41d8cd98f00b204e9800998ecf8427e"
    }
  ],
  "duration_ms": 5800,
  "throughput_files_per_sec": 589
}

ملف التقرير ​

كتابة النتائج إلى ملف للأرشفة:

bash
sd scan /srv/web --recursive --report /var/log/prx-sd/scan-report.json

أنماط الاستثناء ​

استخدم --exclude لتخطي الملفات أو الأدلة المطابقة لأنماط glob. يمكن تحديد أنماط متعددة:

bash
sd scan /home --recursive \
  --exclude "*.log" \
  --exclude "node_modules/**" \
  --exclude ".git/**" \
  --exclude "/home/user/VMs/**"

الأداء

استبعاد الأدلة الكبيرة مثل node_modules و.git وصور الأجهزة الافتراضية يحسن سرعة الفحص بشكل كبير.

العزل التلقائي ​

يُنقل علم --auto-quarantine التهديدات المكتشفة إلى قبو العزل أثناء الفحص:

bash
sd scan /tmp --recursive --auto-quarantine
[MALICIOUS] /tmp/dropper.exe → Quarantined (QR-20260321-007)

الملفات المعزولة مشفرة بـ AES-256 ومخزنة في ~/.local/share/prx-sd/quarantine/. لا يمكن تنفيذها عن طريق الخطأ. انظر توثيق العزل للتفاصيل.

سيناريوهات مثال ​

فحص خط CI/CD ​

فحص مخرجات البناء قبل النشر:

bash
sd scan ./dist --recursive --json --min-severity suspicious

استخدم رمز الخروج للأتمتة: 0 = نظيف، 1 = تهديدات موجودة، 2 = خطأ في الفحص.

فحص خادم الويب اليومي ​

جدولة فحص ليلي لأدلة الويب المُتاحة:

bash
sd scan /var/www /srv/uploads --recursive \
  --auto-quarantine \
  --report /var/log/prx-sd/daily-$(date +%Y%m%d).json \
  --exclude "*.log"

التحقيق الجنائي ​

فحص صورة قرص مثبتة للقراءة فقط:

bash
sudo mount -o ro /dev/sdb1 /mnt/evidence
sd scan /mnt/evidence --recursive --json --threads 1 --max-size-mb 500

الفحوصات الكبيرة

عند فحص ملايين الملفات، استخدم --threads للتحكم في استخدام الموارد و--max-size-mb لتخطي الملفات الكبيرة جداً التي قد تُبطئ الفحص.

فحص سريع للدليل الرئيسي ​

فحص سريع لمواقع التهديدات الشائعة:

bash
sd scan ~/Downloads ~/Desktop /tmp --recursive

ضبط الأداء ​

الملفاتالوقت التقريبيملاحظات
1,000< 1 ثانيةطبقة الهاش تحل معظم الملفات
10,0002-5 ثوانٍقواعد YARA تضيف ~0.3 مللي ثانية لكل ملف
100,00020-60 ثانيةيعتمد على أحجام الملفات وأنواعها
1,000,000+5-15 دقيقةاستخدم --threads و--exclude

عوامل تؤثر على سرعة الفحص:

  • إدخال/إخراج القرص -- SSD أسرع 5-10x من HDD للقراءات العشوائية
  • توزيع حجم الملفات -- الملفات الصغيرة الكثيرة أسرع من الملفات الكبيرة القليلة
  • طبقات الكشف -- الفحوصات المستندة إلى الهاش فقط (--no-yara --no-heuristics) هي الأسرع
  • عدد الخيوط -- المزيد من الخيوط تساعد على الأنظمة متعددة الأنوية مع تخزين سريع

الخطوات التالية ​

Released under the Apache-2.0 License.