
Plataforma de inteligencia de amenazas en PT-BR - CVEs, briefings, IOCs y noticias de seguridad
Plataforma de threat intelligence 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 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 | 20 fuentes RSS internacionales y brasileñas |
| Deploy | Vercel (app) + cron-job.org (scheduler horario externo, 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)
| 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
Copie el archivo de ejemplo y complete 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 rate limit 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) |
# Criar tabelas e aplicar migrações
npx prisma migrate dev
# Visualizar dados no browser
npx prisma studio
npm run dev
Acceda a http://localhost:3000.
npm run build
npm start
# Aplicar migrações em produção (sem gerar arquivos de migração)
npx prisma migrate deploy
# Regenerar o Prisma Client após mudanças no schema
npx prisma generate
# Resetar banco (CUIDADO: apaga todos os dados)
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 |
| 20x RSS feeds | Noticias | CISA, Google Threat Intelligence, Cisco Talos, CERT.br, Elastic Security Labs y otros |
Los datos de Threat Intelligence deben validarse en fuentes primarias antes de cualquier acción crítica en producción.
Desarrollado por Patrick Santos — Analista de Seguridad, Blue Team.