GitHub Actions
Erstellen Sie .github/workflows/malware-scan.yml im zu prüfenden Repository:
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 }}
Der Standardscan verwendet den Lite-Modus und lässt den Job fehlschlagen, sobald AMWScan einen Sicherheitsfund meldet. Der letzte Schritt lädt den SARIF-Bericht auch nach einem fehlgeschlagenen Scan unter Security > Code scanning hoch.
Scan konfigurieren
| Eingabe | Standard | Zweck |
|---|---|---|
path | . | Zu prüfende Datei oder Verzeichnis. |
mode | lite | Wählt full, lite, signatures, exploits oder functions. |
report-format | sarif | Schreibt html, txt, json oder sarif. |
report-path | amwscan-report | Legt den Berichtspfad fest. |
php-version | 8.3 | Wählt die PHP-Version. |
scan-archives | false | Prüft Einträge in ZIP-Archiven. |
scan-all | false | Prüft Dateien unabhängig von ihrer Erweiterung. |
ignore-paths | Leer | Schließt kommagetrennte Pfade oder Muster aus. |
disable-checksum | false | Deaktiviert Prüfsummen unterstützter Plattformen. |
disable-definitions-update | true | Überspringt entfernte Maltrail-Definitionsupdates. |
fail-on-findings | true | Gibt bei Funden den Code 1 zurück. |
Die Aktion stellt exit-code und report-path bereit. Mit fail-on-findings: false sammeln Sie Ergebnisse, ohne den Job fehlschlagen zu lassen. Scanner- und Quellfehler geben weiterhin Code 2 zurück.
Berichte können lokale Pfade und Codeausschnitte enthalten. Beschränken Sie Zugriff und Aufbewahrung der Artefakte auf die Personen, die Sicherheitsfunde prüfen.