
Plateforme de threat intelligence en PT-BR - CVEs, briefings, IOCs et actualités de sécurité
Plateforme de threat intelligence en portugais, construite de zéro comme projet personnel de Blue Team. Elle agrège des données issues de sources ouvertes mondiales et les transforme en briefings techniques, actualités classifiées, CVE enrichis et IOC structurés — le tout en PT-BR, mis à jour en continu.
Site : statecraftcyber.vercel.app
NewsCache pour servir les lectures suivantes sans nouvel appel au LLM/api/health pour la surveillance de la disponibilité et de l'intégrité de la base de données| Couche | Technologie |
|---|---|
| Frontend / Backend | Next.js 16.2.6 (App Router), TypeScript, Tailwind CSS v4 |
| Base de données | PostgreSQL (Neon) + Prisma 6 |
| IA | Groq API (LLaMA 3.3 70B) |
| Assainissement | isomorphic-dompurify + marked |
| Sources de menaces | NVD API, CISA KEV, OTX AlienVault, EPSS (FIRST.org) |
| Flux d'actualités | 19 sources RSS mondiales |
| Déploiement | Vercel (app) + cron-job.org (planificateur horaire externe, plan Hobby) |
Fontes externas (NVD, CISA KEV, OTX, RSS)
│
▼
cron-job.org → Vercel — executa a cada hora (Hobby plan)
vercel.json define o schedule para migração futura ao plano Pro
│
├── Coleta notícias (RSS feeds) → NewsCache (PostgreSQL)
│
└── Coleta ameaças (NVD, CISA, OTX)
│
▼
Groq LLaMA 3.3 70B
Gera briefing estruturado (título, resumo,
severidade, IOCs, CVEs, MITRE ATT&CK)
│
▼
Briefing → PostgreSQL (status: published)
│
├── IOCs estruturados → tabela Ioc
└── Expostos via API REST → Frontend (Next.js)
| Modèle | Description |
|---|---|
Briefing | Briefing complet généré par IA avec métadonnées de menace |
Ioc | Indicateurs de compromission normalisés avec index |
NewsCache | Actualités enrichies issues des flux RSS |
CronLog | Journal d'exécution des cron jobs |
git clone https://github.com/ptkthg/statecraftcyber
cd statecraftcyber
npm install
Copiez le fichier d'exemple et renseignez les variables :
cp .env.example .env
| Variable | Description |
|---|---|
DATABASE_URL | URL de connexion PostgreSQL avec ?sslmode=require |
GROQ_API_KEY | Clé de l'API Groq (groq.com) |
NVD_API_KEY | Clé de l'API NVD — optionnelle, sans clé la limite de débit est plus basse |
OTX_API_KEY | Clé AlienVault OTX — optionnelle |
CRON_SECRET | Jeton secret pour authentifier les appels cron (en-tête Authorization: Bearer) |
ADMIN_SECRET | Mot de passe d'accès au panneau /admin/status |
AUTO_PUBLISH | true pour publier automatiquement les briefings |
MAX_HOURLY_BRIEFINGS | Limite de briefings par heure (défaut : 3) |
# Créer les tables et appliquer les migrations
npx prisma migrate dev
# Visualiser les données dans le navigateur
npx prisma studio
npm run dev
Accédez à http://localhost:3000.
npm run build
npm start
# Appliquer les migrations en production (sans générer de fichiers de migration)
npx prisma migrate deploy
# Régénérer le Prisma Client après des modifications du schéma
npx prisma generate
# Réinitialiser la base (ATTENTION : supprime toutes les données)
npx prisma migrate reset
| Source | Type | Endpoint |
|---|---|---|
| NVD (NIST) | CVE | services.nvd.nist.gov/rest/json/cves/2.0 |
| CISA KEV | Vulnérabilités exploitées | www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json |
| EPSS (FIRST.org) | Score d'exploitation | api.first.org/data/v1/epss |
| AlienVault OTX | IOC et pulses | otx.alienvault.com/api/v1 |
| 19x flux RSS | Actualités | CISA, Krebs on Security, The Hacker News, CERT.br, SANS ISC, Bleeping Computer et autres |
Les données de Threat Intelligence doivent être validées auprès des sources primaires avant toute action critique en production.
Développé par Patrick Santos — Analyste en sécurité, Blue Team.