Combler l'écart entre des IOC gérés en tableur et une plateforme CTI lourde, avec un pipeline local clair: import, normalisation, déduplication, scoring et export.
Case study
Problème
Les IOC arrivent de sources hétérogènes et deviennent difficiles à exploiter sans normalisation.
Contraintes
Rester local-first, simple à lancer, et compatible avec un usage SOC junior ou homelab.
Choix techniques
FastAPI pour API/UI unifiées, SQLite pour stockage léger, pipeline strict import-normalisation-export.
Résultat
Flux CTI cohérent: collecte IOC, déduplication, scoring local et exports opérationnels.
Fonctionnalités
- Import TXT/CSV/JSON avec rapport de traitement
- Normalisation IOC: IP, domaine, URL, hash
- Déduplication, suivi d'observations, tags et watchlist
- Scoring local (confidence, severity, priority)
- Exports en JSON, CSV et TXT
Interface et API
- UI web:
/,/iocs,/imports,/exports - API versionnée sous
/api/v1/* - Code qualité: Ruff, Mypy, Pytest
- Tag stable annoncé:
v0.1.0
Limites et prochaines étapes
- Connecteurs externes CTI à ajouter (MISP, feeds enrichis)
- Moteur de scoring plus contextuel (source, récence, réputation)
- Exports spécialisés pour intégration SIEM/EDR à renforcer
Démarrage rapide
git clone https://github.com/SonFire03/Threat_Intel_Aggregator.git cd Threat_Intel_Aggregator python3 -m venv .venv . .venv/bin/activate pip install -e '.[dev]' uvicorn app.main:app --reload