Saltar al contenido principal
Versión: v0.21

GitHub Actions

Cree .github/workflows/malware-scan.yml en el repositorio que desea analizar:

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

El análisis predeterminado usa el modo Lite y hace que el trabajo falle cuando AMWScan encuentra un problema de seguridad. El último paso carga el informe SARIF en Security > Code scanning aunque falle el análisis.

Configurar el análisis

EntradaValor predeterminadoFinalidad
path.Archivo o directorio que se analizará.
modeliteSelecciona full, lite, signatures, exploits o functions.
report-formatsarifEscribe html, txt, json o sarif.
report-pathamwscan-reportDefine la ruta del informe.
php-version8.3Selecciona la versión de PHP.
scan-archivesfalseAnaliza las entradas de archivos ZIP.
scan-allfalseAnaliza archivos sin filtrar por extensión.
ignore-pathsVacíoExcluye rutas o patrones separados por comas.
disable-checksumfalseDesactiva las comprobaciones de integridad de plataformas compatibles.
disable-definitions-updatetrueOmite las actualizaciones remotas de definiciones de Maltrail.
fail-on-findingstrueDevuelve el código 1 cuando hay hallazgos.

La acción expone las salidas exit-code y report-path. Use fail-on-findings: false para recopilar resultados sin hacer que falle el trabajo. Los errores del escáner o del origen siguen devolviendo el código 2.

Los informes pueden contener rutas locales y fragmentos de código. Limite el acceso y la retención de los artefactos a las personas que revisan los hallazgos de seguridad.