Aller au contenu principal
Version: Dernière version

GitHub Actions

Créez .github/workflows/malware-scan.yml dans le dépôt à analyser :

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

L'analyse par défaut utilise le mode Lite et fait échouer le job lorsque AMWScan trouve un problème de sécurité. La dernière étape charge le rapport SARIF dans Security > Code scanning, même après l'échec de l'analyse.

Configurer l'analyse

EntréeValeur par défautRôle
path.Fichier ou répertoire à analyser.
modeliteChoisit full, lite, signatures, exploits ou functions.
report-formatsarifÉcrit html, txt, json ou sarif.
report-pathamwscan-reportDéfinit le chemin du rapport.
php-version8.3Choisit la version de PHP.
scan-archivesfalseAnalyse les entrées des archives ZIP.
scan-allfalseAnalyse les fichiers quelle que soit leur extension.
ignore-pathsVideExclut des chemins ou motifs séparés par des virgules.
disable-checksumfalseDésactive les contrôles d'intégrité des plateformes prises en charge.
disable-definitions-updatetrueIgnore les mises à jour distantes des définitions Maltrail.
fail-on-findingstrueRenvoie le code 1 en présence de résultats.

L'action expose les sorties exit-code et report-path. Utilisez fail-on-findings: false pour collecter les résultats sans faire échouer le job. Les erreurs du scanner ou de la source renvoient toujours le code 2.

Les rapports peuvent contenir des chemins locaux et des extraits de code. Limitez l'accès aux artefacts et leur conservation aux personnes chargées d'examiner les résultats de sécurité.