fix: incohérence UA count et note source pays

- analysis.py: suppression du LIMIT 10 dans la requête user-agents
  → limitée à 500 (cohérent avec la page /detections/ip/<ip> qui montre 278)
  → total_count calculé via requête séparée pour des pourcentages corrects

- CountryAnalysis.tsx: ajout d'un InfoTip ⓘ sur 'PAYS DE L'IP' expliquant
  que la source est le GeoIP du pipeline d'ingestion (ClickHouse) et peut
  différer des APIs de réputation externes pour les IPs anycast/CDN/cloud

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
SOC Analyst
2026-03-19 18:07:58 +01:00
parent 02d10b5363
commit 868dd68e34
2 changed files with 24 additions and 3 deletions

View File

@ -1,4 +1,5 @@
import { useEffect, useState } from 'react';
import { InfoTip } from '../ui/Tooltip';
interface CountryData {
code: string;
@ -84,6 +85,15 @@ export function CountryAnalysis({ ip, asn }: CountryAnalysisProps) {
<div className="bg-background-secondary rounded-lg p-6">
<div className="flex items-center justify-between mb-4">
<h3 className="text-lg font-medium text-text-primary">2. PAYS DE L'IP</h3>
<InfoTip content={
'Source : logs de détection internes (ClickHouse).\n' +
'Le pays est enregistré au moment de l\'ingestion des logs,\n' +
'via la base GeoIP du pipeline d\'enrichissement.\n\n' +
'Peut différer des sources de réputation externes\n' +
'(ip-api.com, ipinfo.io) pour les IPs anycast/CDN\n' +
'et les grands fournisseurs cloud (Microsoft, Google,\n' +
'Amazon) dont les plages IP sont routées vers plusieurs pays.'
} />
</div>
{/* Pays de l'IP */}