Escaneo de dependencias

El SDK puede transmitir los paquetes de Composer instalados en su aplicación para que el servidor Quiet Guard los contraste con los avisos de seguridad conocidos y le alerte cuando una vulnerabilidad afecte a una versión que usted utiliza.

El comando

bash
php artisan monitor:dependencies

Este comando lee su composer.lock, construye una instantánea de cada paquete instalado y la envía mediante POST al endpoint /api/v1/dependencies del servidor. El servidor almacena la instantánea y pone en cola un escaneo contra los avisos de seguridad de Packagist.

Cuando MONITOR_ENABLED=false, el comando muestra una advertencia y no envía nada.

Opciones

OpciónDescripción
--path=Ruta a un composer.lock concreto. Por defecto, la ruta base de la aplicación (base_path('composer.lock')).
bash
php artisan monitor:dependencies --path=/var/www/releases/current/composer.lock

Qué se envía

El comando analiza tanto packages como packages-dev del composer.lock. Para cada entrada envía:

  • name: el nombre del paquete (p. ej. laravel/framework);
  • version: la versión bloqueada, sin la v inicial si la hay (p. ej. 12.3.1);
  • is_dev: si proviene de packages-dev.

Solo se lee el archivo de lock. No se envía código fuente, ni .env, ni restricciones de composer.json: únicamente los pares nombre/versión resueltos, ya públicos en Packagist.

Planificación

Ejecute el comando en cada despliegue para que la instantánea corresponda siempre a lo que se ejecuta en producción, y opcionalmente a diario para contrastar los avisos recién publicados con su lockfile actual.

Añádalo al planificador de su aplicación en routes/console.php:

php
use Illuminate\Support\Facades\Schedule;

Schedule::command('monitor:dependencies')->dailyAt('06:00');

O en su script de despliegue, justo después de composer install:

bash
php artisan monitor:dependencies

Códigos de salida

  • Éxito cuando las dependencias se transmiten, cuando el SDK está desactivado, o cuando no se encuentra ningún paquete.
  • Fallo cuando composer.lock no se encuentra en la ruta indicada, o cuando el envío falla (verifique MONITOR_URL / MONITOR_KEY).

Dónde aparecen los resultados

Los findings aparecen en la pestaña Vulnerabilidades de su proyecto en el dashboard de Quiet Guard, y las nuevas vulnerabilidades disparan alertas a través de sus canales de notificación configurados. Consulte la documentación del servidor para gestionar e ignorar los findings.

Está leyendo la documentación Laravel SDK v1.0.