Scanner Sophos Endpoint sous Windows en CLI
Pour un soupçon isolé, le Scan depuis l’interface locale suffit souvent. Dans un RMM Runbook, lors d’une Incident Response ou pour un chemin défini, la Windows CLI est plus précise. Elle est installée avec Sophos Endpoint et signale aussi les Detections à Sophos Central.
Planifier et dépanner les analyses Sophos Endpoint traite la planification, les analyses planifiées, l’analyse de la durée et l’état de File Scanner. Cet article se concentre sur la CLI Windows et une automatisation fiable.
Chemin et aide
L’outil se trouve par défaut sous :
C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe
Une PowerShell administrative affiche les options disponibles :
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" help scan
L’aide de la version installée localement fait foi. L’outil appartient à l’Agent Windows ; ce chemin ne s’applique pas à macOS.
Exécuter un System Scan
Un Full System Scan s’exécute avec les droits du Local System Process :
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --system --full --noui
Un Quick System Scan se concentre sur les fichiers fréquemment utilisés, les processus actifs et récemment exécutés, les Autostarts, MBR et la mémoire :
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --system --quick --noui
Avec --system, aucun Target supplémentaire n’est indiqué. Les fichiers auxquels Local System n’a pas accès, par exemple les contenus EFS liés à l’utilisateur, peuvent ne pas être scannés.
Scanner un fichier, dossier ou lecteur
Un Scan ciblé s’exécute avec les droits de l’utilisateur appelant :
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui "C:\Users\Public\Downloads"
Un lecteur complet exige le Backslash final :
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui "D:\"
D: sans Backslash désigne normalement uniquement le répertoire actuel de ce lecteur. Les chemins UNC sont pris en charge si le compte appelant dispose des droits.
Les Wildcards sont possibles dans les noms de dossier et de fichier, mais pas dans les noms de lecteur. Une expansion dans le dernier élément du chemin est plus fiable qu’un Wildcard dans un dossier parent.
Archives et sortie détaillée
--expand_archives ouvre les archives prises en charge et scanne leur contenu. Cela augmente la durée et les I/O et s’utilise donc de manière ciblée.
--noui masque l’interface et attend la fin du Scan. --verbose n’est valide qu’avec cette option :
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui --verbose --expand_archives "C:\IR\Evidence"
Une sortie Verbose volumineuse n’est pas écrite sans contrôle dans les RMM Logs. Les chemins peuvent contenir des noms d’utilisateur et des informations de projet sensibles.
Traiter correctement les Exit Codes
| Code | Signification |
|---|---|
0 | Scan réussi, aucun malware trouvé |
1 | erreur de traitement de la commande |
2 | erreur inattendue au démarrage de l’outil |
3 | au moins une menace détectée |
4 | erreur de Scan pour au moins un fichier |
5 | au moins un fichier chiffré |
6 | au moins un format non pris en charge |
7 | au moins un fichier inaccessible |
Lorsque plusieurs états se produisent, l’outil renvoie le Code le plus grave. Une valeur différente de zéro ne signifie donc pas automatiquement un malware. Inversement, le Code 0 ne prouve pas que tous les fichiers imaginables étaient accessibles ni toutes les Cloud Queries possibles.
JSON pour l’automatisation
--json écrit un résultat structuré sur stdout à la fin. Sauf pour les erreurs fatales avec Code 1 ou 2, un Script peut analyser directement le résumé et les fichiers concernés :
$cli = "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe"
$json = & $cli scan --noui --json "C:\Users\Public\Downloads"
$exitCode = $LASTEXITCODE
if ($json) {
$result = $json | ConvertFrom-Json
$result.summary
}
exit $exitCode
Pour un User Scan, la sortie contient notamment Targets, Detections, Scan Errors, fichiers non pris en charge, inaccessibles, chiffrés et endommagés. Un System Scan fournit un résumé plus compact.
Live Protection et exceptions
Les Scans utilisent Live Protection pour obtenir les informations SophosLabs actuelles. Sans réseau ou si Live Protection est désactivé, l’évaluation est moins complète.
Un User Scan ciblé respecte les exceptions globales et de Policy. Un fichier exclu n’est pas soudainement contrôlé intégralement par un appel CLI manuel. Avant une Incident Investigation, il faut vérifier les exceptions réellement appliquées.
RMM Runbook sûr
Un Runbook de production doit :
- Vérifier l’existence et la version de la CLI.
- Limiter Scope et durée maximale.
- Enregistrer séparément
stdout,stderret Exit Code. - Traiter le Code
3comme Detection et différencier les autres Codes. - Corréler le résultat avec Central Events et Health.
- Ne créer aucune exception ou suppression automatique sur le seul Exit Code.
En cas de Detection, suivre le Threat Cleanup Runbook. Pour les problèmes Agent plus profonds, voir Endpoint Self Help et SDU.