Saltar al contenido principal
Versión: Más reciente

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.