- CampaignsView: update ClusterData interface to match real API response
(severity/unique_ips/score instead of threat_level/total_ips/confidence_range)
Fix fetch to use data.items, rewrite ClusterCard and BehavioralTab
Remove unused getClassificationColor and THREAT_ORDER constants
- analysis.py: fix IPv4Address object has no attribute 'split' on line 322
Add str() conversion before calling .split('.')
- entities.py: fix Date vs DateTime comparison — log_date is a Date column,
comparing against now()-INTERVAL HOUR caused yesterday's entries to be excluded
Use toDate(now() - INTERVAL X HOUR) for correct Date-level comparison
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Utilisation de 2 requêtes séparées + fusion en Python
- 1ère requête: ml_detected_anomalies pour les détections récentes
- 2ème requête: view_dashboard_entities avec IN clause pour les user-agents
- La clause IN permet d'utiliser l'index ClickHouse (splitByChar ne l'utilise pas)
- PREWHERE optimise les performances de requête
Problème résolu:
- unique_ua était toujours à 0 car la jointure LEFT JOIN ne fonctionnait pas
- La solution avec IN clause fonctionne car elle utilise l'index sur entity_value
Testé avec 141.98.11.0/24:
- 5 IPs, 8 détections, 65 user-agents uniques
- 141.98.11.209: 68 user-agents différents
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Nouveau endpoint API GET /api/entities/subnet/:subnet
- Utilise view_dashboard_entities (données agrégées)
- Retourne stats globales + liste détaillée des IPs
- Filtre par les 3 premiers octets du subnet
- Nouveau composant frontend SubnetInvestigation.tsx
- Affiche toutes les IPs d'un subnet /24
- Tableau avec: IP, détections, JA4, UA, pays, ASN, menace, score
- Boutons 'Investiguer' et 'Détails' par IP
- URL simplifiée: /entities/subnet/x.x.x.x_24 (_ au lieu de /)
- Évite les problèmes d'encodage URL
- Conversion automatique _ → / côté frontend
- Correction route ordering dans App.tsx
- /entities/subnet/:subnet avant /entities/:type/:value
- Routes backend réordonnées
- /api/entities/subnet/:subnet avant les routes génériques
Testé avec 141.98.11.0/24 → 6 IPs trouvées, 1677 détections
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>