GitHub Actions
أنشئ الملف .github/workflows/malware-scan.yml في المستودع الذي تريد فحصه:
name: Malware scan
on:
push:
pull_request:
schedule:
- cron: '0 0 * * 0'
permissions:
contents: read
security-events: write
jobs:
scan:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Scan for malware
id: amwscan
uses: marcocesarato/PHP-Antimalware-Scanner@master
with:
path: .
mode: lite
report-format: sarif
ignore-paths: '*/cache/*,*/logs/*'
- name: Upload SARIF report
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ${{ steps.amwscan.outputs.report-path }}
يستخدم الفحص الافتراضي وضع Lite ويفشل التشغيل عندما يعثر AMWScan على مشكلة أمنية. ترفع الخطوة الأخيرة تقرير SARIF إلى Security > Code scanning حتى عند فشل خطوة الفحص.
إعداد الفحص
| الإدخال | القيمة الافتراضية | الغرض |
|---|---|---|
path | . | الملف أو المجلد المراد فحصه. |
mode | lite | اختر full أو lite أو signatures أو exploits أو functions. |
report-format | sarif | اكتب التقرير بصيغة html أو txt أو json أو sarif. |
report-path | amwscan-report | حدد مسار التقرير. |
php-version | 8.3 | اختر إصدار PHP. |
scan-archives | false | افحص محتويات أرشيفات ZIP. |
scan-all | false | افحص الملفات بغض النظر عن امتدادها. |
ignore-paths | فارغ | استبعد مسارات أو أنماطاً مفصولة بفواصل. |
disable-checksum | false | عطّل فحوصات سلامة المنصات المدعومة. |
disable-definitions-update | true | تجاوز تحديثات تعريفات Maltrail البعيدة. |
fail-on-findings | true | أعد الرمز 1 عند وجود نتائج. |
يوفر الإجراء المخرجين exit-code وreport-path. اضبط fail-on-findings: false لجمع النتائج من دون إفشال التشغيل. تستمر أخطاء الماسح أو المصدر في إعادة الرمز 2.
قد تحتوي التقارير على مسارات محلية ومقاطع من الشيفرة. احصر الوصول إلى العناصر المحفوظة ومدة الاحتفاظ بها على الأشخاص الذين يراجعون نتائج الأمان.