Scan des dépendances

Le SDK peut transmettre les packages Composer installés dans votre application afin que le serveur Quiet Guard les confronte aux avis de sécurité connus et vous alerte lorsqu'une vulnérabilité touche une version que vous utilisez.

La commande

bash
php artisan monitor:dependencies

Cette commande lit votre composer.lock, construit un instantané de chaque package installé et le poste sur l'endpoint /api/v1/dependencies du serveur. Le serveur stocke l'instantané et met en file un scan contre les avis de sécurité de Packagist.

Lorsque MONITOR_ENABLED=false, la commande affiche un avertissement et n'envoie rien.

Options

OptionDescription
--path=Chemin vers un composer.lock précis. Par défaut, le chemin de base de l'application (base_path('composer.lock')).
bash
php artisan monitor:dependencies --path=/var/www/releases/current/composer.lock

Ce qui est envoyé

La commande analyse à la fois packages et packages-dev du composer.lock. Pour chaque entrée, elle envoie :

  • name: le nom du package (ex. laravel/framework) ;
  • version: la version verrouillée, sans le v initial éventuel (ex. 12.3.1) ;
  • is_dev: si elle provient de packages-dev.

Seul le fichier de lock est lu. Aucun code source, aucun .env et aucune contrainte de composer.json ne sont envoyés, uniquement les paires nom/version résolues, déjà publiques sur Packagist.

Planification

Lancez la commande à chaque déploiement pour que l'instantané corresponde toujours à ce qui tourne en production, et éventuellement quotidiennement pour confronter les avis nouvellement publiés à votre lockfile actuel.

Ajoutez-la au planificateur de votre application dans routes/console.php :

php
use Illuminate\Support\Facades\Schedule;

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

Ou dans votre script de déploiement, juste après composer install :

bash
php artisan monitor:dependencies

Codes de sortie

  • Succès lorsque les dépendances sont transmises, lorsque le SDK est désactivé, ou lorsqu'aucun package n'est trouvé.
  • Échec lorsque composer.lock est introuvable au chemin indiqué, ou lorsque l'envoi échoue (vérifiez MONITOR_URL / MONITOR_KEY).

Où apparaissent les résultats

Les findings apparaissent dans l'onglet Vulnérabilités de votre projet sur le dashboard Quiet Guard, et les nouvelles vulnérabilités déclenchent des alertes via vos canaux de notification configurés. Consultez la documentation du serveur pour gérer et ignorer les findings.

Vous lisez la documentation Laravel SDK v1.0.