Agents Endpoint
Agent Rust v2 — Network Detection & Response (NDR), découverte de PII, inventaire — Linux et Windows
Agents Endpoint
L'agent Scanyze v2 est un binaire Rust autonome installé sur vos endpoints (serveurs, postes de travail, machines de développement) qui rapporte en continu :
- NDR (Network Detection & Response) : détection de communications anormales, scans de ports internes, command-and-control
- Découverte de PII : scan local des fichiers à la recherche de données personnelles non chiffrées (numéros de carte, NIR, NAS, courriels, etc.)
- Inventaire : OS, packages installés, services actifs, ports ouverts, processus
Disponible à partir du plan Starter.
Plateformes supportées
| OS | Architecture | Statut |
|---|---|---|
| Linux (kernel 4.x+) | x86_64, aarch64 | Stable |
| Windows 10 / 11 / Server 2019+ | x86_64 | Stable |
| macOS | — | Roadmap Q3 2026 |
Installation
Linux (Ubuntu, Debian, RHEL, Alma, Rocky)
- Naviguez vers
/agentsdans Scanyze. - Cliquez sur Nouvel agent → choisissez Linux.
- Scanyze génère un enrollment token unique (valable 24h).
- Sur la machine cible, exécutez :
curl -fsSL https://api.scanyze.com/v1/agents/install.sh | sudo bash -s -- \
--token <ENROLLMENT_TOKEN> \
--tenant <TENANT_ID>Le script :
- Télécharge le binaire
scanyze-agent(signé avec la clé GPG SecuAAS) - Vérifie la signature
- Installe dans
/usr/local/bin/scanyze-agent - Crée un service systemd
scanyze-agent.service - Démarre le service avec UID dédié
scanyze-agent(UID 991)
L'agent apparaît dans /agents au statut online quelques secondes après l'enregistrement.
Windows
- Téléchargez
scanyze-agent-installer.msidepuis/agents. - Exécutez l'installeur en administrateur.
- Saisissez l'enrollment token dans la fenêtre.
- L'installeur enregistre un service Windows
Scanyze Agentqui démarre automatiquement au boot.
Docker (pour les environnements containerisés)
docker run -d --name scanyze-agent \
--restart=always \
--network=host \
-e SCANYZE_TOKEN=<ENROLLMENT_TOKEN> \
-e SCANYZE_TENANT=<TENANT_ID> \
-v /:/host:ro \
harbor.secuaas.dev/secuscan/scanyze-agent:v2-latestModules de l'agent
NDR (Network Detection & Response)
L'agent capture le trafic réseau via :
- Linux : eBPF (kernel 4.18+) ou pcap fallback
- Windows : Event Tracing for Windows (ETW) + WinPcap
Il analyse en local :
- Connexions sortantes vers des IP listées dans des feeds de threat intelligence (AlienVault OTX, Abuse.ch, Spamhaus)
- Scans de ports internes (machine en mode reconnaissance)
- Protocoles suspects (Tor, IRC, custom over 443 avec patterns C2)
- DNS tunneling (requêtes DNS de longueur anormale ou patrons base64)
- Beaconing (requêtes périodiques vers un même hôte externe avec faible jitter)
Les alertes sont remontées au backend via WebSocket sécurisée TLS (port 443) sur wss://api.scanyze.com/v1/agents/events.
L'agent ne capture jamais le contenu des paquets — uniquement les métadonnées (5-tuple + timing + tailles + flags).
PII Discovery
Mode pii-scan, déclenchable manuellement ou planifié :
scanyze-agent pii-scan --paths=/home,/var/data --extensions=csv,xlsx,txt,sql --recursiveDétecte :
- Numéros de carte de crédit (Luhn algorithm + BIN ranges)
- NAS canadien (algo Luhn modifié + ranges valides)
- NIR français (formule de contrôle 97)
- Adresses courriel (RFC 5321 simplifié)
- Numéros de téléphone (E.164 + formats canadiens locaux)
- Adresses IP (v4 + v6)
- Coordonnées bancaires (IBAN, RIB)
- Tokens API (patterns custom : OpenAI, AWS, Stripe, GitHub, etc.)
Les résultats sont remontés sous forme agrégée :
- Chemin du fichier
- Type de PII
- Nombre d'occurrences (jamais les valeurs elles-mêmes)
- Hash du fichier (pour dédup entre machines)
Compliance : aucune donnée personnelle n'est jamais transmise au backend, seulement le nombre d'occurrences détectées.
Inventaire
À l'enrollment et toutes les 24h :
- OS et version, kernel, build
- Hostname, FQDN, IP locales
- Packages installés (apt, dnf, pacman, yum, Windows MSI)
- Services systemd ou Windows actifs
- Ports en écoute (
ss -tulpn/netstat) - Top 20 processus consommateurs
- Disques et utilisation
- Utilisateurs locaux + dernières connexions
Communication
L'agent communique uniquement en sortant vers api.scanyze.com:443 :
- Heartbeat toutes les 60s (HTTPS POST)
- Events push WebSocket persistante
- Commands : le backend envoie périodiquement des commandes optionnelles (lancer un PII scan, réinventaire, mettre à jour)
L'agent ne nécessite aucun port entrant ouvert et fonctionne derrière un proxy HTTPS si vous configurez HTTPS_PROXY.
Mise à jour
L'agent se met à jour automatiquement :
- Vérification d'une nouvelle version chaque jour
- Téléchargement et vérification de signature GPG
- Bascule en mode dual-binary (l'ancien reste en standby pendant 24h pour rollback automatique en cas de crash)
Vous pouvez désactiver l'auto-update :
sudo scanyze-agent config set auto_update=falseDésinstallation
Linux
sudo systemctl stop scanyze-agent
sudo /usr/local/bin/scanyze-agent uninstallWindows
Panneau de configuration → Programmes → Scanyze Agent → Désinstaller.
L'enrollment token est révoqué côté backend ; l'agent ne peut plus se reconnecter.
Mode hors-ligne
Si la machine perd la connectivité :
- L'agent bufferise les événements dans une SQLite locale (
/var/lib/scanyze-agent/events.db) - Capacité : 100 MB par défaut (~30 jours d'événements)
- À la reconnexion, les événements sont rejoués au backend dans l'ordre
Quota par plan
| Plan | Agents max | NDR | PII | Inventaire |
|---|---|---|---|---|
| Essentiel | 3 | Non | Oui | Oui |
| Starter | 10 | Oui | Oui | Oui |
| Pro | 50 | Oui | Oui | Oui |
| Business | 200 | Oui | Oui | Oui |
| Enterprise | -1 | Oui | Oui | Oui |
Les agents au-delà du quota du plan ne s'enregistrent pas (l'enrollment retourne 403 quota_exceeded).
Légacy : agent v1
Une ancienne version de l'agent (Go, sans NDR ni PII) est encore supportée pour les machines existantes. Aucune nouvelle installation n'est possible avec v1. Migration recommandée vers v2 — désinstaller v1 puis installer v2 (les deux ne peuvent pas coexister sur la même machine).
Sources de cette page
- Code agent :
SecuScan/secuscan-agent-v2/(Rust) - Backend :
secuscan-api/internal/services/agent/,secuscan-api/internal/api/handlers/agent_events.go,agents.go
À jour pour Scanyze v0.130.x.