
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 | 20 fonti RSS internazionali e brasiliane |
| 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 (Hobby plan)
vercel.json definisce lo schedule per la futura migrazione al piano Pro
│
├── Raccolta notizie (RSS feeds) → NewsCache (PostgreSQL)
│
└── Raccolta minacce (NVD, CISA, OTX)
│
▼
Groq LLaMA 3.3 70B
Genera briefing strutturato (titolo, riassunto,
severità, IOC, CVE, MITRE ATT&CK)
│
▼
Briefing → PostgreSQL (status: published)
│
├── IOC strutturati → tabella Ioc
└── Esposti via 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 per ora (predefinito: 3) |
# Creare tabelle e applicare le migrazioni
npx prisma migrate dev
# Visualizzare i dati nel browser
npx prisma studio
npm run dev
Accedi a http://localhost:3000.
npm run build
npm start
# Applicare le 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) | Score di sfruttamento | api.first.org/data/v1/epss |
| AlienVault OTX | IOC e pulse | otx.alienvault.com/api/v1 |
| 20x RSS feeds | Notizie | CISA, Google Threat Intelligence, Cisco Talos, CERT.br, Elastic Security Labs 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.