إنتقل إلى المحتوى الرئيسي
الإصدار: الأحدث

مرجع أوامر سطر الأوامر CLI

شغّل php scanner --help لرؤية الخيارات المدعومة في الإصدار المثبت لديك.

php scanner [path] [options]

path يقبل ملفا أو دليلا أو حرف بدل أو عنوان FTP أو FTPS واحدا. عندما يترك فارغا، يستخدم الماسح الدليل الحالي.

الكشف

الخيارالغرض
--lite, -lتقليل النتائج الإيجابية الخاطئة الشائعة مع الاحتفاظ باكتشاف واسع
--only-signatures, -sفحص التوقيعات الخبيثة فقط
--only-exploits, -eفحص أنماط الثغرات المستغلة فقط
--only-functions, -fفحص الدوال PHP الخطرة فقط
--exploits=<names>تضمين تعريفات ثغرات محددة، مفصولة بفواصل
--ignore-exploits=<names>استبعاد تعريفات ثغرات محددة، مفصولة بفواصل
--functions=<names>فحص وظائف PHP محددة، مفصولة بفواصل
--scan-all, --allفحص الملفات بغض النظر عن الامتداد
--scan-archivesفحص إدخالات ZIP ضمن حدود السلامة
--scan-wordpress-dbتشغيل فحوصات للقراءة فقط ضد قاعدة بيانات WordPress محلية
--max-filesize=<size>تخطّي الملفات الأكبر من الحجم المحدد

النطاق والتقدم

الخيارالغرض
--ignore-paths=<patterns>استبعاد مسارات أو أحرف بدل مفصولة بفواصل
--filter-paths=<patterns>تضمين المسارات أو أحرف البدل المطابقة فقط
--offset=<number>بدءا من موضع في قائمة الملفات المرشحة
--limit=<number>تحديد عدد الملفات المعينة
--checkpoint=<path>حفظ تقدم الفحص القابل للاستئناف في ملف JSON خاص
--resumeمتابعة نقطة توقف عندما لا تزال الملفات والإعدادات متطابقة
--disable-cache, --no-cacheتجاهل نتائج الفحص المخزنة مؤقتا
php scanner /var/www/example --lite --report \
--ignore-paths="*/cache/*,*/logs/*" \
--max-filesize=5MB

مراجعة النتائج بالذكاء الاصطناعي

تكون مراجعة الذكاء الاصطناعي معطلة افتراضيا. عند تفعيلها، يطلب AMWScan من المزوّد المحدد حكما استشاريا من نوع malware أو false_positive أو uncertain بعد اكتمال الكشف. يتضمن كل طلب القاعدة المطابقة ومقتطفا محدودا من الكود حول السطر المكتشف. ولا يغيّر حالة النتيجة أو يعدّل الملفات تلقائيا أبدا.

الخيارالغرضالافتراضي
--ai-provider=<provider>استخدام openai أو anthropic أو gemini أو claude-code-cli أو codex-cli أو copilot-cli أو opencode-clidisabled
--ai-model=<model>تجاوز نموذج المزوّد أو واجهة سطر الأوامر المثبتةالإعداد الافتراضي للمزوّد
--ai-context-lines=<number>تضمين من 0 إلى 20 سطرا أعلى موضع الكشف وأسفله5
--ai-max-findings=<number>حصر محاولات المراجعة لكل فحص بين 1 و10020
--ai-timeout=<seconds>تحديد مهلة كل طلب إلى المزوّد بين 5 و300 ثانية30
--ai-executable=<path>تجاوز الملف التنفيذي الذي يستخدمه مزوّد واجهة سطر أوامر مثبتأمر المزوّد

تُقرأ مفاتيح API من OPENAI_API_KEY أو ANTHROPIC_API_KEY أو GEMINI_API_KEY. ويتجاوز AMWSCAN_AI_API_KEY المتغير الخاص بالمزوّد. لا تُقبل المفاتيح كخيارات أوامر لأن وسائط الأوامر قد تظهر في سجل الصدفة وقوائم العمليات.

GEMINI_API_KEY=your-key php scanner /var/www/example \
--report-only --report-format=json --ai-provider=gemini

php scanner /var/www/example --report-only \
--ai-provider=claude-code-cli --ai-model=claude-sonnet-4-5

الإعدادات الافتراضية لواجهات API المباشرة هي gpt-5.6-luna وclaude-haiku-4-5 وgemini-3.8-flash. تستدعي عمليات التكامل مع واجهات سطر الأوامر المثبتة claude أو codex أو copilot أو opencode دون استخدام صدفة وفي دليل معزول. وهي ترسل عادة مقتطفات من المصدر إلى خدمات نماذج بعيدة؛ وكونها مثبتة لا يعني أن الاستدلال محلي. استخدم --ai-executable عندما يكون الأمر مثبتا باسم أو مسار آخر.

التقارير والمخرجات

الخيارالغرضالافتراضي
--report, -rتعطيل الإجراءات التفاعلية وكتابة تقريرمتوقف
--report-format=<format>تحديد html أو txt أو json أو sarifhtml
--path-report=<path>ضبط مسار ملف التقرير./scanner-report.html
--log=<path>كتابة سجل الفحصمتوقف
--path-logs=<path>ضبط مسار سجل الماسح./scanner.log
--silentإخفاء المخرجات الطرفية والمطالباتمتوقف في واجهة سطر الأوامر
--disable-report, --no-reportمنع إنشاء التقريرمتوقف في واجهة سطر الأوامر
--disable-colors, --no-colors, --no-colorإزالة ألوان ANSIمتوقف
--debugعرض جميع أخطاء PHP وتنبيهاتهامتوقف

تتضمن تقارير النص إجماليات الفحص وعدد عمليات التحقق وإجماليات الخطورة وبيانات الملفات المصابة وتفاصيل النتائج المطابقة. تناسب JSON و SARIF المعالجة الآلية.

إجراءات الملفات

يمكن للإجراءات الآلية تدمير البيانات

استخدم التنظيف أو الحذف الآلي فقط مع نسخ احتياطية حالية وخطة استعادة مختبرة. ابدأ بـ --report على كل مشروع جديد.

الخيارالغرض
--backup, -bنسخ احتياطي لكل ملف يغيّره الماسح
--auto-cleanإزالة الكود المطابق دون تأكيد
--auto-clean-lineإزالة السطر المطابق دون تأكيد
--auto-deleteحذف الملفات المكتشفة دون تأكيد
--auto-quarantineنقل الملفات المكتشفة إلى الحجر
--auto-skipترك كل نتيجة دون تغيير
--auto-whitelistإضافة كل نتيجة إلى القائمة البيضاء
--auto-prompt=<action>تطبيق استجابة واحدة لكل نتيجة
--whitelist-only-pathمطابقة إدخالات القائمة البيضاء حسب المسار دون مقارنة السطر

احفظ النسخ الاحتياطية والحجر والتقارير وبيانات القائمة البيضاء خارج الجذر الوثائقي العام:

الخيارالغرض
--path-backups=<path>ضبط دليل النسخ الاحتياطي
--path-quarantine=<path>ضبط دليل الحجر
--path-whitelist=<path>ضبط ملف JSON للقائمة البيضاء
--findings-store=<path>ضبط ملف JSON الأساسي لدورة حياة النتائج
--path-deobfuscate=<path>ضبط دليل الملفات المفككة

سلامة الملفات والتعريفات

الخيارالغرض
--disable-checksum, --no-checksum, --no-verifyتخطّي التحقق من مجموعات الأنظمة الأساسية والحزم
--path-definitions=<path>ضبط ذاكرة تعريفات Maltrail الخاصة
--disable-definitions-updateاستخدام آخر ذاكرة تخزين مؤقتة تم التحقق منها دون طلب تحديث
--defsطباعة تعريفات الثغرات والدوال
--defs-exploitsطباعة تعريفات الثغرات
--defs-functionsطباعة تعريفات الدوال الخطرة
--defs-functions-encodedطباعة تعريفات الدوال المشفرة

تبقى التوقيعات المدمجة متاحة دون اتصال. وقد تتطلب فحوصات سلامة المنصات وتحديثات تعريفات Maltrail اتصالات HTTPS خارجية في أول فحص.

خيارات المرافق

الخيارالغرض
--ftp-user=<username>ضبط اسم مستخدم FTP، أو استخدم AMWSCAN_FTP_USER
--update, -uتحديث ملف الماسح المستقل
--version, -vطباعة الإصدار المثبت
--help, -h, -?طباعة تعليمات الأمر

مصادر FTP

مرّر عنوانا واحدا من نوع ftp://host/path أو ftps://host/path كمسار فحص. يحتاج PHP إلى امتداد FTP، ويحتاج FTPS إلى ftp_ssl_connect.

لا تضع بيانات الاعتماد في عنوان URL. عيّن اسم المستخدم عبر --ftp-user أو AMWSCAN_FTP_USER. عيّن كلمة المرور عبر AMWSCAN_FTP_PASSWORD. يفضّل FTPS لأن FTP يرسل بيانات الاعتماد ومحتوى الملفات دون تشفير.

AMWSCAN_FTP_USER=scanner \
AMWSCAN_FTP_PASSWORD=secret \
php scanner ftps://files.example.com/public_html --report

تستخدم فحوصات FTP مرآة محلية مؤقتة، وتفرض وضع التقرير، ثم تزيل المرآة بعد الانتهاء. يسمح بفحص واحد بمصدر FTP واحد بحد أقصى 10000 ملف، و64 ميجابايت لكل ملف، و512 ميجابايت إجمالا. لا يمكن استخدام --scan-wordpress-db مع مصادر FTP.

التحقق من سلامة النظام الأساسي

يدعم التحقق من المجاميع الحسابية WordPress وبعض إضافات WordPress، وDrupal، وJoomla، وMagento Open Source، وحزم Composer العامة. يتخطّى الماسح فقط الملفات التي تطابق بايتات الإصدار الموثوق. يفحص الملفات المعدلة والمولدة وغير المعروفة.

قد يتطلب أول فحص لنظام أساسي اتصالات HTTPS خارجية. تبقى الملفات المعلومة في التخزين المؤقت المحلي. استخدم --disable-checksum عندما يجب أن لا يقوم الفحص بأي طلب للتحقق من السلامة.

التغطية والاستئناف

تفصل التقارير الملفات المكتشفة والصالحة للفحص والمفحوصة والمخزنة مؤقتا والمتحقق منها والمتخطاة. تشمل أسباب التخطي عوامل التصفية في المسار والامتدادات وحجم الملف والملفات غير القابلة للقراءة وحدود الأرشيف.

يحفظ --checkpoint=<private-path> التقدم بعد كل مرشح. يستأنف --resume فقط عندما تظل قائمة المرشحين وإعدادات الفحص متطابقة.

يتطلب فحص ZIP وجود ext-zip. يحدّ الماسح مسارات الإدخالات والارتباطات الرمزية وعدد الإدخالات وحجم الملف والحجم الموسّع ونسبة الضغط وعمق التداخل. تشير التقارير إلى المحتوى خارج هذه الحدود باعتباره تغطية غير مكتملة.

فحص قاعدة بيانات WordPress

يقوم --scan-wordpress-db بمرحلة اختيارية للقراءة فقط ضد تثبيتات WordPress المكتشفة محليا. يفحص المشغلات، ويعدّد مسؤولي الموقع الأساسي، ويعلّم المسؤولين المتعددين للمراجعة، ويبلغ عن المقالات اليتيمة. ولا يغيّر محتوى قاعدة البيانات.

يتطلب هذا الخيار ext-mysqli. يقرأ AMWScan إعدادات قاعدة البيانات الحرفية من wp-config.php دون تنفيذ الملف. تنتج الإعدادات الديناميكية أو غير الواضحة نتيجة تغطية غير مكتملة.

توجيهات الخروج والأتمتة

استخدم JSON عندما يعالج برنامج آخر النتائج التفصيلية. استخدم SARIF للأدوات التي تدعم هذا التنسيق القياسي. احتفظ بالتقارير كمنتجات بناء، واحمِ أي مسارات محلية أو مقتطفات من الكود قد تحتوي عليها، واختبر سلوك الخروج في مهام التكامل المستمر قبل جعلها بوابة إصدار.