
Piattaforma di threat intelligence in PT-BR - CVE, briefing, IOC e notizie di sicurezza
Piattaforma di threat intelligence in portoghese costruita da zero come progetto personale di Blue Team. Aggrega dati da fonti aperte globali e li trasforma in briefing tecnici, notizie classificate, CVE arricchiti e IOC strutturati — tutto in PT-BR, aggiornato continuamente.
Sito: statecraftcyber.vercel.app
NewsCache per servire letture successive senza una nuova chiamata all'LLM/api/health per il monitoraggio della disponibilità e dell'integrità del database| Livello | Tecnologia |
|---|---|
| Frontend / Backend | Next.js 16.2.6 (App Router), TypeScript, Tailwind CSS v4 |
| Database | PostgreSQL (Neon) + Prisma 6 |
| IA | Groq API (LLaMA 3.3 70B) |
| Sanitizzazione | isomorphic-dompurify + marked |
| Fonti di minaccia | NVD API, CISA KEV, OTX AlienVault, EPSS (FIRST.org) |
| Feed di notizie | 19 fonti RSS globali |
| Deploy | Vercel (app) + cron-job.org (scheduler orario esterno, piano Hobby) |
Fonti esterne (NVD, CISA KEV, OTX, RSS)
│
▼
cron-job.org → Vercel — esegue ogni ora (piano Hobby)
vercel.json definisce lo schedule per la migrazione futura al piano Pro
│
├── Raccoglie notizie (feed RSS) → NewsCache (PostgreSQL)
│
└── Raccoglie minacce (NVD, CISA, OTX)
│
▼
Groq LLaMA 3.3 70B
Genera briefing strutturato (titolo, riepilogo,
severità, IOC, CVE, MITRE ATT&CK)
│
▼
Briefing → PostgreSQL (status: published)
│
├── IOC strutturati → tabella Ioc
└── Esposti tramite API REST → Frontend (Next.js)
| Modello | Descrizione |
|---|---|
Briefing | Briefing completo generato dall'IA con metadati di minaccia |
Ioc | Indicatori di compromissione normalizzati con indici |
NewsCache | Notizie arricchite dai feed RSS |
CronLog | Log di esecuzione dei cron job |
git clone https://github.com/ptkthg/statecraftcyber
cd statecraftcyber
npm install
Copia il file di esempio e compila le variabili:
cp .env.example .env
| Variabile | Descrizione |
|---|---|
DATABASE_URL | URL di connessione PostgreSQL con ?sslmode=require |
GROQ_API_KEY | Chiave API Groq (groq.com) |
NVD_API_KEY | Chiave API NVD — opzionale, senza chiave il rate limit è più basso |
OTX_API_KEY | Chiave AlienVault OTX — opzionale |
CRON_SECRET | Token segreto per autenticare le chiamate cron (header Authorization: Bearer) |
ADMIN_SECRET | Password di accesso al pannello /admin/status |
AUTO_PUBLISH | true per pubblicare i briefing automaticamente |
MAX_HOURLY_BRIEFINGS | Limite di briefing all'ora (predefinito: 3) |
# Creare tabelle e applicare migrazioni
npx prisma migrate dev
# Visualizzare dati nel browser
npx prisma studio
npm run dev
Accedi a http://localhost:3000.
npm run build
npm start
# Applicare migrazioni in produzione (senza generare file di migrazione)
npx prisma migrate deploy
# Rigenerare il Prisma Client dopo modifiche allo schema
npx prisma generate
# Resettare il database (ATTENZIONE: cancella tutti i dati)
npx prisma migrate reset
| Fonte | Tipo | Endpoint |
|---|---|---|
| NVD (NIST) | CVE | services.nvd.nist.gov/rest/json/cves/2.0 |
| CISA KEV | Vulnerabilità sfruttate | www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json |
| EPSS (FIRST.org) | Punteggio di sfruttamento | api.first.org/data/v1/epss |
| AlienVault OTX | IOC e impulsi | otx.alienvault.com/api/v1 |
| 19x feed RSS | Notizie | CISA, Krebs on Security, The Hacker News, CERT.br, SANS ISC, Bleeping Computer e altri |
I dati di Threat Intelligence devono essere validati su fonti primarie prima di qualsiasi azione critica in produzione.
Sviluppato da Patrick Santos — Analista di Sicurezza, Blue Team.