Saltar al contenido principal
Versión: v0.21

Referencia de comandos CLI

Ejecute php scanner --help para ver todas las opciones disponibles.

php scanner [path] [options]

Detección

OpciónPropósito
--lite, -lReduce falsos positivos comunes
--only-signatures, -sEscanea solo por firmas de malware
--only-exploits, -eEscanea solo por patrones de exploit
--only-functions, -fEscanea solo por funciones PHP peligrosas
--scan-all, --allInspecciona todos los archivos sin importar la extensión
--scan-archivesInspecciona archivos ZIP dentro de límites seguros
--scan-wordpress-dbComprueba la base de datos local de WordPress en solo lectura

Revisión de hallazgos con IA

La revisión con IA está desactivada de forma predeterminada. Cuando se activa, AMWScan solicita al proveedor seleccionado un veredicto consultivo malware, false_positive o uncertain después de que termine la detección. Cada solicitud contiene la regla coincidente y un fragmento de código limitado en torno a la línea detectada. Nunca cambia el estado del hallazgo ni modifica archivos automáticamente.

OpciónPropósitoPredeterminado
--ai-provider=<provider>Usa openai, anthropic, gemini, claude-code-cli, codex-cli, copilot-cli u opencode-clidisabled
--ai-model=<model>Sustituye el modelo del proveedor o de la CLI instaladaPredeterminado del proveedor
--ai-context-lines=<number>Incluye de 0 a 20 líneas por encima y por debajo de la detección5
--ai-max-findings=<number>Limita los intentos de revisión por análisis a entre 1 y 10020
--ai-timeout=<seconds>Limita cada solicitud al proveedor a entre 5 y 300 segundos30
--ai-executable=<path>Sustituye el ejecutable utilizado por un proveedor de CLI instaladaComando del proveedor

Las claves de API se leen de OPENAI_API_KEY, ANTHROPIC_API_KEY o GEMINI_API_KEY. AMWSCAN_AI_API_KEY sustituye la variable específica del proveedor. Las claves no se aceptan como opciones de comando porque los argumentos pueden aparecer en el historial del shell y en las listas de procesos.

GEMINI_API_KEY=your-key php scanner /var/www/example \
--report-only --report-format=json --ai-provider=gemini

php scanner /var/www/example --report-only \
--ai-provider=claude-code-cli --ai-model=claude-sonnet-4-5

Los valores predeterminados de las API directas son gpt-5.6-luna, claude-haiku-4-5 y gemini-3.8-flash. Las integraciones de CLI instaladas invocan claude, codex, copilot u opencode sin un shell y en un directorio aislado. Normalmente envían fragmentos de código fuente a servicios de modelos remotos; que estén instaladas no significa que la inferencia sea local. Usa --ai-executable cuando el comando esté instalado con otro nombre o en otra ruta.

Informes y salida

OpciónPropósitoPredeterminado
--report, -rDesactiva acciones interactivas y escribe un informeDesactivado
--report-format=<formato>Selecciona html, txt, json o sarifhtml
--path-report=<ruta>Establece la ruta del informe./scanner-report.html
--silentOculta salidas y avisos en terminalDesactivado

Acciones de archivos

OpciónPropósito
--backup, -bRealiza copia de seguridad de cada archivo modificado
--auto-cleanElimina código malicioso sin confirmación
--auto-deleteElimina archivos detectados sin confirmación
--auto-quarantineMueve archivos detectados a cuarentena
--auto-whitelistAgrega coincidencias a la lista blanca

Fuentes FTP

Usa una URL ftp://host/ruta o ftps://host/ruta como ruta de análisis. PHP necesita la extensión FTP y FTPS también requiere ftp_ssl_connect.

No incluyas credenciales en la URL. Define el nombre de usuario con --ftp-user o AMWSCAN_FTP_USER, y la contraseña con AMWSCAN_FTP_PASSWORD. Siempre que sea posible, usa FTPS, ya que FTP transmite las credenciales y el contenido de los archivos sin cifrar.

AMWSCAN_FTP_USER=scanner \
AMWSCAN_FTP_PASSWORD=secret \
php scanner ftps://files.example.com/public_html --report-only

Los análisis FTP usan una copia local temporal de solo lectura, fuerzan el modo de informe y eliminan la copia al terminar. Cada análisis admite una fuente FTP con límites de 10.000 archivos, 64 MiB por archivo y 512 MiB en total. Las fuentes FTP no se pueden usar con --scan-wordpress-db.