bhavikmalhotra/ThreatPad

GitHub: bhavikmalhotra/ThreatPad

面向网络安全和威胁情报团队的开源协作笔记平台,内置 IOC 自动提取与 STIX 2.1 导出。

Stars: 17 | Forks: 0

# ThreatPad 一个为网络安全威胁情报 (CTI) 和安全运营团队构建的协作、实时笔记平台。 ThreatPad 结合了现代生产力工具的便捷与 CTI 专属功能:IOC 自动提取、STIX 2.1 导出、结构化威胁模板以及细粒度访问控制。 **[实时演示](https://threat-pad-web.vercel.app)** — 使用 `demo@threatpad.io` / `password123` 登录 ![WhatsApp Image 2026-03-26 at 8 39 17 PM (2)](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c8179e2e01091122.jpg) ## 功能 - **富文本编辑器** — 所见即所得,支持语法高亮、表格、任务列表、编辑/预览切换 - **IOC 自动提取** — 从笔记内容中检测 IP、域名、URL、哈希值、电子邮件和 CVE - **基于插件的导出** — 内置 JSON、CSV、STIX 2.1。只需单个文件即可[添加你自己的格式](#writing-plugins) - **CTI 模板** — IOC 转储、威胁行为者画像、事件记录、攻击活动追踪 - **工作区与文件夹** — 嵌套文件夹、多个工作区、基于标签的过滤 - **访问控制** — 工作区 RBAC(所有者/编辑者/查看者)、单笔记共享、私密笔记 - **版本历史** — 每 5 分钟自动快照,差异对比视图,一键恢复 - **全文搜索** — 基于 Postgres 的子字符串与词干搜索 - **审计日志** — 跟踪工作区中的所有用户操作 - **自托管** — 你的数据始终保留在你自己的网络中 ![WhatsApp Image 2026-03-26 at 8 39 17 PM (1)](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/3be0bcfa61091125.jpg) ## 快速安装 需要 [Docker](https://docker.com/)。仅此而已。 ``` 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 服务器和 Web 应用。数据库 Schema 会自动应用。 ## 开发环境设置 需要 [Node.js 22+](https://nodejs.org/) 和 [pnpm 9+](https://pnpm.io/)。 ``` 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 ``` - **前端:** http://localhost:3000 - **API:** http://localhost:3002 - **演示登录:** `demo@threatpad.io` / `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); ``` 前端会自动发现新格式——无需更改 UI。 | 插件类型 | 用途 | 状态 | |-------------|----------|--------| | **Export** | IOC 导出格式(STIX、CSV、MISP、OpenIOC) | 已上线 | | **Enrichment** | IOC 查询(VirusTotal、Shodan、AbuseIPDB) | 计划中 | | **IOC Patterns** | 自定义指标类型(YARA、Bitcoin、MITRE ATT&CK) | 计划中 | | **Import** | 从 feed 摄取(TAXII、MISP、OpenCTI) | 计划中 | ## 文档 - [配置与环境变量](docs/configuration.md) - [API 参考](docs/api.md) - [架构](docs/architecture.md) ## 许可证 [MIT](LICENSE)
标签:ASN信息, Claude, CVE检测, Docker, Docker Compose, IOC自动提取, JSON导出, MITM代理, PostgreSQL, RBAC, Redis, SecOps, STIX 2.1, Streamlit, 云安全架构, 全文搜索, 协作平台, 威胁情报模板, 安全运营, 安全防御评估, 实时协同编辑, 审计日志, 富文本编辑器, 开源, 扫描框架, 搜索引擎查询, 测试用例, 版本历史, 笔记软件, 网络威胁情报, 网络安全, 自动化攻击, 自托管, 访问控制, 请求拦截, 调试插件, 隐私保护