
Plataforma colaborativa de toma de notas de código abierto para equipos de ciberseguridad y CTI. Extracción automática de IOC, exportación STIX 2.1, edición en tiempo real, RBAC, historial de versiones y registro de auditoría. Autohospedada con Docker.
Una plataforma colaborativa de toma de notas en tiempo real, construida para equipos de Inteligencia de Amenazas Cibernéticas (CTI) y operaciones de seguridad.
ThreatPad combina la velocidad de las herramientas modernas de productividad con capacidades específicas de CTI: extracción automática de IOCs, exportación a STIX 2.1, plantillas estructuradas de amenazas y control de acceso detallado.
Demo en vivo — inicie sesión con [email protected] / password123


Requiere Docker. Eso es todo.
git clone https://github.com/bhavikmalhotra/ThreatPad.git
cd ThreatPad
docker compose -f docker-compose.prod.yml up -d --build
Abre http://localhost:3000 — se te guiará para crear tu cuenta de administrador.
Esto inicia PostgreSQL, Redis, el servidor API y la aplicación web. El esquema de base de datos se aplica automáticamente.
Requiere Node.js 22+ y pnpm 9+.
pnpm install
cp .env.example .env
docker compose up -d # Postgres + Redis
pnpm --filter @threatpad/db push
pnpm --filter @threatpad/db seed # optional demo data
pnpm dev
[email protected] / password123 (si se ha sembrado)ThreatPad utiliza un sistema de plugins basado en registro. Exportación es el primer tipo de plugin — se planean más.
Crea un archivo en apps/server/src/plugins/exporters/:
import type { ExportPlugin } from '@threatpad/shared/types';
export const myExporter: ExportPlugin = {
key: 'myformat',
label: 'My Format',
fileExtension: '.xml',
contentType: 'application/xml',
async export({ noteId, iocs, note }) {
const xml = buildXml(iocs);
return { data: xml, contentType: 'application/xml', filename: `iocs-${noteId}.xml` };
},
};
Regístralo en apps/server/src/plugins/exporters/index.ts:
import { myExporter } from './my-exporter.js';
exportRegistry.register(myExporter);
El frontend descubre automáticamente nuevos formatos — no se necesitan cambios en la interfaz.
| Tipo de Plugin | Caso de Uso | Estado |
|---|
| Exportación | Formatos de exportación de IOCs (STIX, CSV, MISP, OpenIOC) | Disponible |
| Enriquecimiento | Consultas de IOCs (VirusTotal, Shodan, AbuseIPDB) | Planificado |
| Patrones de IOC | Tipos de indicadores personalizados (YARA, Bitcoin, MITRE ATT&CK) | Planificado |
| Importación | Ingesta de fuentes (TAXII, MISP, OpenCTI) | Planificado |