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
| Input | Predefinito | Scopo |
|---|---|---|
path | . | File o directory da analizzare. |
mode | lite | Seleziona full, lite, signatures, exploits o functions. |
report-format | sarif | Scrive html, txt, json o sarif. |
report-path | amwscan-report | Imposta il percorso del report. |
php-version | 8.3 | Seleziona la versione PHP. |
scan-archives | false | Analizza le voci degli archivi ZIP. |
scan-all | false | Analizza i file senza filtrarli per estensione. |
ignore-paths | Vuoto | Esclude percorsi o pattern separati da virgole. |
disable-checksum | false | Disabilita i controlli checksum delle piattaforme supportate. |
disable-definitions-update | true | Evita gli aggiornamenti remoti delle definizioni Maltrail. |
fail-on-findings | true | Restituisce 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.