
Plataforma de inteligencia de amenazas en PT-BR - CVEs, briefings, IOCs y noticias de seguridad
Plataforma de inteligencia de amenazas en portugués construida desde cero como proyecto personal de Blue Team. Agrega datos de fuentes abiertas globales y los transforma en briefings técnicos, noticias clasificadas, CVEs enriquecidos e IOCs estructurados — todo en PT-BR, actualizado continuamente.
Sitio: statecraftcyber.vercel.app
NewsCache para servir lecturas posteriores sin una nueva llamada al LLM/api/health para monitoreo de disponibilidad e integridad de la base de datos| Capa | Tecnología |
|---|---|
| Frontend / Backend | Next.js 16.2.6 (App Router), TypeScript, Tailwind CSS v4 |
| Base de datos | PostgreSQL (Neon) + Prisma 6 |
| IA | Groq API (LLaMA 3.3 70B) |
| Sanitización | isomorphic-dompurify + marked |
| Fuentes de amenaza | NVD API, CISA KEV, OTX AlienVault, EPSS (FIRST.org) |
| Feeds de noticias | 19 fuentes RSS globales |
| Despliegue | Vercel (app) + cron-job.org (programador horario externo, plan Hobby) |
Fuentes externas (NVD, CISA KEV, OTX, RSS)
│
▼
cron-job.org → Vercel — ejecuta cada hora (Hobby plan)
vercel.json define el schedule para migración futura al plan Pro
│
├── Recolecta noticias (RSS feeds) → NewsCache (PostgreSQL)
│
└── Recolecta amenazas (NVD, CISA, OTX)
│
▼
Groq LLaMA 3.3 70B
Genera briefing estructurado (título, resumen,
severidad, IOCs, CVEs, MITRE ATT&CK)
│
▼
Briefing → PostgreSQL (status: published)
│
├── IOCs estructurados → tabla Ioc
└── Expuestos vía API REST → Frontend (Next.js)
| Modelo | Descripción |
|---|---|
Briefing | Briefing completo generado por IA con metadatos de amenaza |
Ioc | Indicadores de compromiso normalizados con índices |
NewsCache | Noticias enriquecidas de los feeds RSS |
CronLog | Log de ejecución de los cron jobs |
git clone https://github.com/ptkthg/statecraftcyber
cd statecraftcyber
npm install
Copia el archivo de ejemplo y rellena las variables:
cp .env.example .env
| Variable | Descripción |
|---|---|
DATABASE_URL | URL de conexión PostgreSQL con ?sslmode=require |
GROQ_API_KEY | Clave de la API Groq (groq.com) |
NVD_API_KEY | Clave de la API NVD — opcional, sin clave el límite de tasa es más bajo |
OTX_API_KEY | Clave AlienVault OTX — opcional |
CRON_SECRET | Token secreto para autenticar llamadas de cron (header Authorization: Bearer) |
ADMIN_SECRET | Contraseña de acceso al panel /admin/status |
AUTO_PUBLISH | true para publicar briefings automáticamente |
MAX_HOURLY_BRIEFINGS | Límite de briefings por hora (predeterminado: 3) |
# Crear tablas y aplicar migraciones
npx prisma migrate dev
# Visualizar datos en el navegador
npx prisma studio
npm run dev
Accede a http://localhost:3000.
npm run build
npm start
# Aplicar migraciones en producción (sin generar archivos de migración)
npx prisma migrate deploy
# Regenerar el Prisma Client después de cambios en el schema
npx prisma generate
# Resetear base de datos (CUIDADO: borra todos los datos)
npx prisma migrate reset
| Fuente | Tipo | Endpoint |
|---|---|---|
| NVD (NIST) | CVEs | services.nvd.nist.gov/rest/json/cves/2.0 |
| CISA KEV | Vulnerabilidades explotadas | www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json |
| EPSS (FIRST.org) | Score de explotación | api.first.org/data/v1/epss |
| AlienVault OTX | IOCs y pulsos | otx.alienvault.com/api/v1 |
| 19x RSS feeds | Noticias | CISA, Krebs on Security, The Hacker News, CERT.br, SANS ISC, Bleeping Computer y otros |
Los datos de Threat Intelligence deben ser validados en fuentes primarias antes de cualquier acción crítica en producción.
Desarrollado por Patrick Santos — Analista de Seguridad, Blue Team.