
Plataforma de anotações colaborativa de código aberto para equipes de cibersegurança e CTI. Extração automática de IOCs, exportação STIX 2.1, edição em tempo real, RBAC, histórico de versões e registro de auditoria. Auto-hospedado com Docker.
Uma plataforma colaborativa de anotações em tempo real construída para Inteligência de Ameaças Cibernéticas (CTI) e equipes de operações de segurança.
O ThreatPad combina a velocidade das ferramentas modernas de produtividade com capacidades específicas de CTI: extração automática de IOCs, exportação STIX 2.1, modelos estruturados de ameaças e controle de acesso granular.
Demonstração ao vivo — faça login com [email protected] / password123


Requer Docker. Só isso.
git clone https://github.com/bhavikmalhotra/ThreatPad.git
cd ThreatPad
docker compose -f docker-compose.prod.yml up -d --build
Abra http://localhost:3000 — você será guiado para criar sua conta de administrador.
Isso inicia o PostgreSQL, Redis, o servidor de API e o aplicativo web. O esquema do banco de dados é aplicado automaticamente.
Requer Node.js 22+ e pnpm 9+.
pnpm install
cp .env.example .env
docker compose up -d # Postgres + Redis
pnpm --filter @threatpad/db push
pnpm --filter @threatpad/db seed # dados de demonstração opcionais
pnpm dev
[email protected] / password123 (se semeado)O ThreatPad usa um sistema de plugins baseado em registro. Exportação é o primeiro tipo de plugin — mais estão planejados.
Crie um arquivo em 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` };
},
};
Registre-o em apps/server/src/plugins/exporters/index.ts:
import { myExporter } from './my-exporter.js';
exportRegistry.register(myExporter);
O frontend descobre automaticamente novos formatos — nenhuma alteração na interface é necessária.
| Tipo de Plugin | Caso de Uso | Status |
|---|
| Exportação | Formatos de exportação de IOCs (STIX, CSV, MISP, OpenIOC) | Disponível |
| Enriquecimento | Consultas de IOCs (VirusTotal, Shodan, AbuseIPDB) | Planejado |
| Padrões de IOC | Tipos de indicadores personalizados (YARA, Bitcoin, MITRE ATT&CK) | Planejado |
| Importação | Importação de feeds (TAXII, MISP, OpenCTI) | Planejado |