Passa al contenuto principale
Versione: v0.21

GitHub Actions

Crea .github/workflows/malware-scan.yml nel repository da analizzare:

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 }}

La scansione predefinita usa la modalità Lite e interrompe il job quando AMWScan rileva un problema di sicurezza. L'ultimo passaggio carica il report SARIF in Security > Code scanning anche se la scansione non riesce.

Configurare la scansione

InputPredefinitoScopo
path.File o directory da analizzare.
modeliteSeleziona full, lite, signatures, exploits o functions.
report-formatsarifScrive html, txt, json o sarif.
report-pathamwscan-reportImposta il percorso del report.
php-version8.3Seleziona la versione PHP.
scan-archivesfalseAnalizza le voci degli archivi ZIP.
scan-allfalseAnalizza i file senza filtrarli per estensione.
ignore-pathsVuotoEsclude percorsi o pattern separati da virgole.
disable-checksumfalseDisabilita i controlli checksum delle piattaforme supportate.
disable-definitions-updatetrueEvita gli aggiornamenti remoti delle definizioni Maltrail.
fail-on-findingstrueRestituisce il codice 1 in presenza di rilevamenti.

L'azione espone gli output exit-code e report-path. Imposta fail-on-findings: false per raccogliere i risultati senza interrompere il job. Gli errori dello scanner o della sorgente restituiscono comunque il codice 2.

I report possono contenere percorsi locali e frammenti di codice. Limita accesso e conservazione degli artefatti alle persone che esaminano i rilevamenti di sicurezza.