
Платформа с открытым исходным кодом для совместного ведения заметок командами по кибербезопасности и CTI. Автоматическое извлечение IOC, экспорт в STIX 2.1, редактирование в реальном времени, RBAC, история версий и аудит‑логирование. Самостоятельное развёртывание с помощью Docker.
Совместная платформа для заметок в реальном времени, созданная для команд киберразведки (CTI) и безопасности.
ThreatPad сочетает скорость современных инструментов продуктивности с возможностями, специфичными для CTI: автоматическое извлечение IOC, экспорт в STIX 2.1, структурированные шаблоны угроз и детальный контроль доступа.
Живая демонстрация — войдите с [email protected] / password123


Требуется Docker. И всё.
git clone https://github.com/bhavikmalhotra/ThreatPad.git
cd ThreatPad
docker compose -f docker-compose.prod.yml up -d --build
Откройте http://localhost:3000 — вас проведут через создание учётной записи администратора.
Это запускает PostgreSQL, Redis, API-сервер и веб-приложение. Схема базы данных применяется автоматически.
Требуется Node.js 22+ и 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 (если начальное заполнение выполнено)ThreatPad использует систему плагинов на основе реестра. Экспорт — первый тип плагина; запланировано больше.
Создайте файл в 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` };
},
};
Зарегистрируйте его в apps/server/src/plugins/exporters/index.ts:
import { myExporter } from './my-exporter.js';
exportRegistry.register(myExporter);
Фронтенд автоматически обнаруживает новые форматы — изменения пользовательского интерфейса не требуются.
| Тип плагина | Сценарий использования | Статус |
|---|
| Экспорт | Форматы экспорта IOC (STIX, CSV, MISP, OpenIOC) | Доступно |
| Обогащение | Поиск IOC (VirusTotal, Shodan, AbuseIPDB) | Запланировано |
| Шаблоны IOC | Пользовательские типы индикаторов (YARA, Bitcoin, MITRE ATT&CK) | Запланировано |
| Импорт | Загрузка из источников (TAXII, MISP, OpenCTI) | Запланировано |