rinjanianalytics/cti-platform-api

GitHub: rinjanianalytics/cti-platform-api

一款整合 Telco-5G、AI 与区块链威胁数据的统一 CTI 后端平台,提供免费多源情报聚合、Agentic 分析与多租户联邦能力。

Stars: 3 | Forks: 1

# V3 Rinjani CTI — 后端 **现代化的独立威胁情报后端,具备直接的 feed 集成、内嵌的 BullMQ pipeline 监控以及多租户联邦层。** 由 [RinjaniAnalytics](https://rinjanianalytics.com) 开发 — 与 [cti-platform-dashboard](https://github.com/rinjanianalytics/cti-platform-dashboard) 配套使用。 [![TypeScript](https://img.shields.io/badge/TypeScript-5.4-blue)](https://www.typescriptlang.org/) [![Node.js](https://img.shields.io/badge/Node.js-20%2B-green)](https://nodejs.org/) [![Hono](https://img.shields.io/badge/Hono-4.x-orange)](https://hono.dev/) [![Drizzle](https://img.shields.io/badge/Drizzle-ORM-c5f74f?labelColor=000)](https://orm.drizzle.team/) [![BullMQ](https://img.shields.io/badge/BullMQ-5.x-red)](https://bullmq.io/) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) ## 🚀 功能 - **三域覆盖于一张图谱** — 核心差异点:**Telco-5G** (MITRE FiGHT)、**AI** (MITRE ATLAS + AI Incident Database) 和 **Blockchain** (OFAC 制裁 + ScamSniffer 欺诈 + DefiLlama 协议归因) 统一整合在单一威胁图谱和单一 Agentic 分析层中 — 而非三个孤立的工具。 - **直接 feed 同步,无中间商** — 18 个数据源,全部免费:CISA KEV · NVD · CVE.org cvelistV5 · MITRE ATT&CK · MISP Galaxy · AlienVault OTX · abuse.ch SSL/ThreatFox/URLhaus/MalwareBazaar · OpenPhish · EPSS · HIBP · **OFAC SDN 制裁加密货币** · **ScamSniffer 欺诈地址** · **DefiLlama 协议标签** · **AI Incident Database** - **免费的多源链上归因** — 给定一个地址,扇出至我们的数据库 (OFAC/ScamSniffer/DefiLlama) + Blockscout + DefiLlama + 可选的 MistTrack,并按优先级合并,附带完整的出处信息 — **无需付费的 Arkham/Chainalysis 依赖** - **Agentic 分析** — 基于有界 JSON-ReAct 的狩猎循环,运行于封闭、只读的工具平面(图谱 NL→Cypher、RAG、链上查询、SIEM),包含由 HITL 把关的建议写入操作 - **多语言存储** — Postgres (Drizzle ORM) 作为规范存储,OpenSearch 用于全文 + 向量搜索,Neo4j 用于威胁关系图谱,Redis 用于队列 + 缓存 - **Pipeline 编排** — BullMQ workers 配合 `FlowProducer` 父/子图,定时任务,通过 Postgres `NOTIFY` 进行工作驱动的补全 - **内嵌的 Workbench BullMQ 仪表板** — vendored 分支位于 `/admin/workbench`,具有自定义的定时任务编辑/立即运行/禁用操作,并委托给我们的控制平面 (参见 [packages/workbench-core/](packages/workbench-core/)) - **TAXII 2.1 服务器**,用于下游的 STIX 消费者,以及 REST v1、REST v2、GraphQL (Pothos) 和 WebSocket 订阅 - **多租户联邦** — 租户 schema、对等连接、信任级别评分 - **端到端类型安全** — 完整的 TypeScript、Drizzle 推断 schema、边缘处的 zod 验证 - **生产就绪** — Docker、Kubernetes Helm chart、OpenTelemetry 监测、用于安全 HA 的跨进程 bootlock ## 📸 截图 ### 威胁指挥 — 分析师仪表板 `/` 是分析师的一目了然的入口。KPI 磁贴(指标、漏洞、威胁行为者、活跃 feed)配有滚动窗口的迷你图和增量百分比,其上方是一个**战略垂直领域行** — 实时的 AI 事件、Telco-5G 和链上归因计数,平台的差异化优势优先展现。下方是:框架覆盖 (FiGHT · ATLAS · ATT&CK)、最新的 AI 事件 + 链上钱包、优先级分流 / 严重性 / TTP 变更日志、指标类型 / 趋势标签 / 数据泄露,以及行为者观察列表 + 情报动态 — 此外右侧栏还有语义事件流。24小时 / 7天 / 30天切换器可限定每个窗口磁贴的范围。 ![威胁指挥 — 分析师仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/51/5199fb51ca14f56ff43634abbf6033976d7ba12544fd307f8125081e5725ded3.png) ### 指标 — 分页 IOC 浏览器 `/iocs` — IP / 域名 / 哈希 / URL,具有类型过滤、严重性过滤、输入时搜索、来源/严重性/置信度/标签列、带有严重性色调的左边缘,以及包含在图谱中透视、复制和观察操作的点击穿透实体抽屉。 ![指标 — 分页 IOC 浏览器](https://static.pigsec.cn/wp-content/uploads/repos/cas/bc/bc393028d969d3e4f5bf84af30fcdedaf01f16c4567fca363aca3b979c0bcdc1.png) ### 漏洞 — CVE / KEV 目录 `/vulnerabilities` — 供应商/产品、CVSS、仅限 KEV 切换、发布日期范围过滤器、带有严重性色调的左边缘。每行深层链接至 CVE 抽屉,包含 KEV 标签、漏洞利用标志、属性(CVSS、供应商、产品、发布、更新),以及通过向量相似性呈现的相关实体。 ![漏洞 — CVE / KEV 目录](https://static.pigsec.cn/wp-content/uploads/repos/cas/c1/c147f3d03d0bde1ffc1d0494816660cb606bcb8fa72825d34b2f8885f6f97d13.png) ### 威胁行为者 — 复合活跃度评分的观察列表 `/actors` — APT 组织及其别名、复杂度、动机、资源水平,以及一个由综合分数(OTX 脉冲提及次数 × TTP 关系近期性 × 复杂度 × 近期性加成 — 而不仅仅是 `last_seen DESC`)驱动的**活跃度**条。“AI enrich missing” 将针对分析师标记的空白字段调用 Gemini。 ![威胁行为者 — 复合活跃度评分的观察列表](https://static.pigsec.cn/wp-content/uploads/repos/cas/85/85eb0fa44a9509c5adada8816138e597acb9b0caba70787a4396e0709fb5957f.png) ### 图谱浏览器 — 基于 Neo4j 的邻域视图 `/graph` — 输入一个种子(IOC 值、行为者名称、技术 ID)并通过 Cypher 扩展邻域。力导向视图:行为者 ↔ 技术 ↔ 恶意软件 ↔ IOC ↔ 漏洞。右侧栏显示所选节点的 STIX 属性 + 原始 payload。 ![图谱浏览器 — 基于 Neo4j 的邻域视图](https://static.pigsec.cn/wp-content/uploads/repos/cas/ba/ba7f8dfe2e44f805421e7a58fa83eb3a0a47198c94fdaca440fd41dc436b1cdd.png) ### 服务 — 单窗格运维健康状况 `/admin/services` 将每个探测整合到一个单次往返中:数据存储连通性(Postgres / OpenSearch / Neo4j / Redis × 2)、API 和 worker 存活状态、bootlock 状态(`held` / `unowned` / `error`)、feed 同步队列深度,以及最近的摄入/同步运行。同一画布还展示了 LLM 提供商配置和 OSV/NVD 补全源的健康状况。 ![服务 — 单窗格运维健康状况](https://static.pigsec.cn/wp-content/uploads/repos/cas/68/68483ea0c445c9333a526f23f641be37cfdbbeebcafe70cafcea2fecaacf2b5b.png) ### Feeds — 摄入情报的态势轮播 `/feeds` — 面向分析师的视角:一个**战略垂直领域带**(AI 事件 · 链上钱包 · 电信欺诈方案),一个**态势变化**热门标签带,一个**按垂直领域查看最新**的选项卡视图,以及实时的脉冲流 — 标题、描述、标签、摄入时间戳 — 让你无需先打开单个 IOC 就能扫描新内容。 ![Feeds — 摄入情报的态势轮播](https://static.pigsec.cn/wp-content/uploads/repos/cas/11/116729b12a898c3a8d568c3ddc2cad92083cf1626c0f2108127d6d228e00f929.png) ### Feed 配置 — 按源管理 `/admin/feeds` — 切换每个上游同步的开/关状态,设置轮询间隔,查看上次同步的成功/失败状态,并通过**立即运行**触发即时同步,无需等待计划。最终会通过 Workbench 使用的相同 `reconcileScheduledJob` 控制平面进行写入。 ![Feed 配置 — 按源管理](https://static.pigsec.cn/wp-content/uploads/repos/cas/48/488b97852bd9e7c582c6e46cb645de23207ec608e314419b685b5afdcc9bc154.png) ### 内嵌的 Workbench — BullMQ pipeline 检查 `/admin/workbench` 是 [Workbench](https://github.com/pontusab/workbench) 的 vendored 分支 (参见 [packages/workbench-core/](packages/workbench-core/))。概览、队列、任务、**流**(来自每个 feed 同步批次的 FlowProducer 父/子图),以及**定时任务调度器**,具有我们自定义的编辑/禁用/立即运行操作,委托给原生的 `/admin/schedules` 仪表板页面所使用的相同 `reconcileScheduledJob` 控制平面。 ![Workbench — BullMQ 概览内嵌于 /admin/workbench](https://static.pigsec.cn/wp-content/uploads/repos/cas/ca/ca4cc10cfb59ecad85528ebe38fd20e3677a7f4b8f02c7f9011fee70cbecd59b.png) ## 📊 数据源 | 来源 | 记录 | 更新频率 | |--------|---------|------------------| | **CISA KEV** | 1,501 个漏洞 | 每 6 小时 | | **AlienVault OTX** | 50,000+ 个 IOC | 每 4 小时 | | **MITRE ATT&CK** | 835 项技术,91 个工具 | 每日 | | **威胁行为者** | 187 个 APT 组织 | 每日 | | **恶意软件** | 696 个家族 | 每日 | ## 🏗️ 架构 ``` ┌───────────────────────────┐ │ Dashboard (3000) │ │ Next.js + shadcn/ui │ └──────────────┬────────────┘ │ (same-origin proxy) ┌─────────────────────┼─────────────────────┐ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Gateway (4000) │ │ API (3001) │ │ /admin/workbench│ │ GraphQL Mesh │ │ Hono + REST │ │ BullMQ ops UI │ │ Stitched APIs │ │ GraphQL + WS │ │ (vendored fork)│ └─────────────────┘ └────────┬────────┘ └─────────────────┘ │ BullMQ workers + scheduler + feed-sync daemon + work listener — in-process (one Node runtime, bootlock-gated) │ ┌───────────────────────────────────┼───────────────────────────────────┐ ▼ ▼ ▼ ▼ ▼ ┌──────┐ ┌──────────────┐ ┌────────────────┐ ┌──────────────┐ ┌────────┐ │ PG │ │ OpenSearch │ │ Neo4j │ │ Redis │ │ TAXII │ │ canon│ │ FTS+vector │ │ relationship │ │ queue + cache│ │ 2.1 │ └──────┘ └──────────────┘ └────────────────┘ └──────────────┘ └────────┘ ▲ │ ┌──────────┴───────────┐ │ Direct Threat Feeds │ │ CISA · NVD · CVE.org│ │ MITRE · OTX · MISP │ │ abuse.ch × 4 · etc. │ └──────────────────────┘ ``` Workers 过去作为单独的 `apps/worker` 进程运行;现在它们被折叠进 API 进程中(单一的 `pnpm dev` 运行时),并带有 Redis 咨询 bootlock,以防止并发的 api+gateway 进程重复调度。`apps/worker` 作为构建目标保留,用于 `dev:standalone` 守护进程 + 一次性的 `sync:*` CLI。 ## 🚦 快速开始 ### 前置条件 - Node.js 20+ 或 Bun 1.0+ - PostgreSQL 16+ - Redis 7+ - Docker & Docker Compose(可选) ### 安装 ``` # Clone repository git clone https://github.com/rinjanianalytics/cti-platform-api.git cd cti-platform-api # Install dependencies pnpm install # Configure environment cp .env.example .env # Edit .env with your credentials (DATABASE_URL, JWT_SECRET, OAuth keys, ...) # Start the data plane in Docker (no app containers — those run on the host # via `pnpm dev`). This brings up 6 services: postgres, pgbouncer, redis-cache, # redis-queue, opensearch, neo4j. See "Docker compose profiles" below for the # opt-in extras (apps, telemetry, platform, gateway, dashboard). docker compose up -d # Push database schema pnpm --filter @rinjani/db push # Start development servers (API on :3001, gateway on :4000, workers in-process) pnpm dev ``` **服务:** - API: http://localhost:3001 - GraphQL: http://localhost:3001/graphql - 健康检查: http://localhost:3001/health ## 📁 项目结构 ``` cti-platform-api/ ├── apps/ │ ├── api/ # Hono REST + GraphQL + WS + workers (port 3001) │ │ └── src/ │ │ ├── routes/ # REST endpoints (v1, v2, /admin/*, /auth/*, /taxii/*) │ │ ├── graphql/ # Pothos schema + resolvers │ │ ├── middleware/ # Auth (JWT + cookie), CORS, rate limiting │ │ ├── websocket/ # Real-time subscriptions │ │ ├── queues/ # BullMQ workers + scheduler + FlowProducer wiring │ │ └── services/ # Feed sync, enrichment, federation, neo4j, OTel │ ├── gateway/ # GraphQL Mesh stitched-API gateway (port 4000) │ ├── worker/ # CLI helpers + emergency standalone daemon │ └── dashboard-static/ # Tiny static landing page (real UI lives in v304-dashboard) ├── packages/ │ ├── core/ # Shared services & types │ ├── db/ # Drizzle ORM schemas + migrations │ └── workbench-core/ # Vendored fork of @getworkbench/core │ # (BullMQ ops UI mounted at /admin/workbench) ├── helm/v3-threat-intel/ # Kubernetes Helm chart ├── docker-compose.yml # Dev data plane (PG + pgbouncer + Redis ×2 + OpenSearch + Neo4j); │ # apps/observability/SSO opt-in via --profile (see below) └── .env.example # Environment template ``` ## 🔌 API 端点 ### REST API (v1) | 端点 | 描述 | |----------|-------------| | `GET /v1/vulnerabilities` | 带有过滤器的 CVE/KEV 数据 | | `GET /v1/iocs` | IOC(IP、域名、哈希、URL)| | `GET /v1/tactics` | MITRE ATT&CK 战术 | | `GET /v1/techniques` | MITRE 技术 | | `GET /v1/threat-actors` | APT 组织 | | `GET /v1/malware` | 恶意软件家族 | | `GET /v1/tools` | 对抗工具 | | `GET /v1/stats` | 仪表板统计信息 | ### 认证 ``` # Login with API key curl -X POST http://localhost:3001/auth/login \ -H "Content-Type: application/json" \ -d '{"apiKey": "your-api-key"}' # Use JWT token curl http://localhost:3001/v1/vulnerabilities \ -H "Authorization: Bearer YOUR_JWT_TOKEN" ``` ### GraphQL ``` query { vulnerabilities(limit: 10, severity: CRITICAL) { cveId description severity dateAdded } } ``` ## 🔄 Feed 同步 ### 手动同步 ``` # Sync all feeds pnpm --filter @rinjani/worker sync:feeds # Sync specific feed pnpm --filter @rinjani/worker sync:cisa pnpm --filter @rinjani/worker sync:alienvault ``` ### 守护进程模式 ``` # Workers + scheduler + feed-sync daemon now run inside the API process. # `pnpm dev` at the repo root starts everything as a single Node runtime. pnpm dev # Legacy standalone feed-only daemon (kept for emergency use, no BullMQ): pnpm --filter @rinjani/worker dev:standalone ``` ## 🐳 Docker Compose 配置 默认的 `docker compose up -d` 仅启动应用与之通信的 **6 服务数据平面**: postgres、pgbouncer、redis-cache、redis-queue、opensearch、neo4j。 其他所有内容都由一个可选的 profile 控制,因此一个偶尔的 `up -d` 不 会从宿主机的 `pnpm dev` 窃取 `:3001`(或与正在运行的 prometheus 竞争 `:9090` 等)。 | Profile | 额外启动 | 适用场景 | |---|---|---| | _(默认)_ | postgres, pgbouncer, redis-cache, redis-queue, opensearch, neo4j | 在宿主机上进行正常的 `pnpm dev` 循环 | | `apps` | `v3-api`, `v3-worker` | 将 API 和 worker 作为容器运行 _以替代_ `pnpm dev` | | `dashboard` | `v3-dashboard` (Next.js) | 在 docker 中运行仪表板,而不是在 v304 仓库中运行 `pnpm dev` | | `platform` | `v3-keycloak`, `v3-vault` | 测试 SSO / 基于 vault 的密钥;两者都有环境变量回退机制 | | `gateway` | `v3-traefik` | 位于 API 前端的生产级路由 | | `telemetry` | prometheus, grafana, loki, tempo, promtail + redis/postgres/opensearch exporters | 可观测性仪表板 | ``` # Just the data plane (the common case) docker compose up -d # Run API + worker in containers instead of `pnpm dev` docker compose --profile apps up -d # Spin up the observability stack docker compose --profile telemetry up -d ``` ### Telemetry profile — prometheus 认证 `/v1/ops/metrics/prometheus` 与 `/v1/*` 的其余部分一样,使用 API 密钥进行认证。 在启动 telemetry profile 之前,生成一个专用的抓取密钥,将其添加到 `API_KEYS`,并在 `.env` 中将其镜像到 `PROMETHEUSRAPE_API_KEY` — prometheus 容器在启动时会将该值 `sed`-替换到 `config/prometheus/prometheus.template.yml` 中,这样密钥就永远不会以 明文形式存在于仓库中。如果缺少环境变量,compose 服务会快速失败 (`${VAR:?...}`)。 ``` KEY="prom-scrape-$(openssl rand -hex 16)" echo "PROMETHEUS_SCRAPE_API_KEY=$KEY" >> .env # also append "$KEY:viewer" to API_KEYS in .env docker compose --profile telemetry up -d v3-prometheus ``` ### 日常 docker 命令 ``` docker compose ps # what's running docker compose logs -f v3-postgres # tail a service docker compose down # stop the data plane docker compose down -v # also wipe volumes (destructive) ``` ## ☸️ Kubernetes 部署 ``` # Install with Helm helm install v3-ti ./helm/v3-threat-intel # Scale API pods kubectl scale deployment v3-ti-api --replicas=5 # View logs kubectl logs -f deployment/v3-ti-api ``` 有关详细的部署说明,请参见 [DEPLOY.md](DEPLOY.md)。 ## 🧪 测试 ``` # Run all tests pnpm test # Run specific package tests pnpm --filter @rinjani/api test pnpm --filter @rinjani/worker test ``` ## 📊 监控 ### 健康检查 ``` curl http://localhost:3001/health ``` ### Workbench — 内嵌的 pipeline 仪表板 挂载在 **`/admin/workbench`** (通过仪表板的 Next.js rewrite 进行同源代理, 因此已登录的管理员会话会自动对其进行身份验证 — 无需二次登录)。 [`@getworkbench/core`](https://github.com/pontusab/workbench) 的 Vendored 分支,位于 [`packages/workbench-core/`](packages/workbench-core/) 下 — 我们增加了定时任务调度器编辑/禁用/立即运行操作,这些操作委托给我们 自己的 `reconcileScheduledJob` 控制平面(原生的 BullMQ 写入操作会被 我们启动时的协调循环所覆盖)。 你将看到: - **概览 / 队列 / 任务** — `feed-sync`、`ioc-enrichment`、`feed-batch`、`cve-enrichment`、`alerts`、 `notifications`、`neo4j-sync`、`ai-analysis`、`maintenance` 队列的深度、吞吐量、失败情况 - **流** — `FlowProducer` 父/子图(每次 feed 同步都会在 `feed-batch` 中构建一个 父 `batch-` 以及 N 个补全子任务 — 参见 [`apps/api/src/queues/workers/feedSyncWorker.ts`](apps/api/src/queues/workers/feedSyncWorker.ts)) - **定时任务调度器** — 来自 [`apps/api/src/queues/scheduler.ts`](apps/api/src/queues/scheduler.ts) 的 13 个 cron 条目,带有我们的 kebab 菜单操作(编辑间隔 / 立即运行 / 禁用)。仪表板中的原生 [`/admin/schedules`](https://github.com/rinjanianalytics/cti-platform-dashboard/blob/main/src/app/(app)/admin/schedules/page.tsx) 页面共享相同的后端,因此两个 UI 之间的编辑能保持一致 ### 服务健康探测 `GET /admin/services` 返回一个包含 Postgres / OpenSearch / Neo4j / Redis (队列+缓存) 连通性、BullMQ 队列深度、 worker 存活状态、bootlock 状态、feed 同步状态、LLM 提供商 配置和补全源健康状况的单一 JSON 信封。仪表板的 `/admin/services` 页面将所有这些内容渲染在一个窗格中。 ### OpenTelemetry ``` # Enable telemetry from the API process export OTEL_ENABLED=true export OTEL_ENDPOINT=http://localhost:4318 # Start the local observability stack (prometheus, grafana, loki, tempo + # the redis/postgres/opensearch exporters). Requires PROMETHEUS_SCRAPE_API_KEY # in .env — see "Telemetry profile — prometheus auth" above. docker compose --profile telemetry up -d # Grafana — login admin/rinjani1 (override via GRAFANA_PASSWORD) open http://localhost:3002 # Tempo traces query API open http://localhost:3200 ``` ## 🛠️ 开发 ### 命令 | 命令 | 描述 | |---------|-------------| | `pnpm dev` | 启动开发服务器 | | `pnpm build` | 构建所有包 | | `pnpm test` | 运行测试 | | `pnpm lint` | 代码检查 | | `pnpm db:push` | 将 schema 推送到数据库 | | `pnpm db:studio` | 打开 Drizzle Studio | ### 添加自定义 Feed 1. 在 `apps/worker/plugins/my-feed/` 中创建插件 2. 实现 `FeedPlugin` 接口 3. 添加 manifest.json 4. 插件在启动时自动发现 请参见 `apps/worker/plugins/example-rss-feed/` 作为参考。 ## 📚 文档 - [部署指南](DEPLOY.md) - [架构](docs/ARCHITECTURE.md) - [Feed 连接器引擎](docs/feed-engine.md) — 声明式清单、`feeds_config`/`feed_manifest` 分离、LLM 草稿映射器 - [路线图](ROADMAP.md) - [API 文档](http://localhost:3001/docs) (运行时) - [GraphQL Playground](http://localhost:3001/graphql) ## 🗺️ 路线图 现代 CTI 是一个不断变化的目标 — 补全深度、STIX 2.1 保真度、 检测即代码、LLM 辅助的分析师工作流。[ROADMAP.md](ROADMAP.md) 将未来约 18 个月分为六个阶段,根据单人维护者的单工程小时信号量进行优先级排序: 1. **补全与检测即代码** *(2026-06 → 2026-07)* — urlscan, GreyNoise, AbuseIPDB, Shodan, VirusTotal, PhishTank/OpenPhish; EPSS + CVSS v4; Sigma + YARA 规则库 2. **STIX 2.1 一等公民与联邦** *(2026-08 → 2026-09)* — 完整的实体 CRUD、Neo4j 中的类型化关系、bundle 导入/导出、TAXII 2.1 *推送* 3. **LLM 分析师功能** *(2026-10 → 2026-11)* — 报告转 STIX 提取、自动摘要、向量嵌入相似度 (OpenSearch 向量)、NL→Cypher、假设跟踪 4. **出站集成** *(2026-12 → 2027-02)* — Slack/Teams/PagerDuty 通知路由、SIEM 导出器 (Splunk/Elastic/Sentinel)、基于 BullMQ 流的 SOAR 风格剧本、blocklist 导出、沙箱触发器、JIRA/GitHub 双向同步 5. **表面监控** *(2027-03 → 2027-05)* — CertStream 品牌/错字域名检测、针对受监控域名的 HIBP、公开的 Telegram/Gist 观察者、Ahmia 索引的暗网搜索、MITRE TTP 变更日志 6. **平台与多租户** *(2027-06+)* — Postgres RLS、细粒度 RBAC、SCIM、审计日志流式传输、API 密钥作用域划分、数据驻留钩子 此外还有一直在进行的跨领域工作(贯穿整个 pipeline 的 OpenTelemetry、 OpenSearch ILM、IOC 衰减、TAXII 合约测试、解析器模糊测试)。 我们对**不会构建的内容**非常明确 — 没有内置的 SIEM,没有 通用的网络爬虫,没有原生的移动应用 — 因此路线图仍然保持 可交付状态。有关每个非目标背后的原因,请参见 [ROADMAP.md](ROADMAP.md#what-we-wont-build)。 **想要贡献吗?** 第一阶段的补全工具是最容易的切入点 — 模式定义明确、范围有界限、每个 PR 一个补全工具。 首先开启一个 issue 或在现有的 issue 上评论,这样我们就不会重复 工作。 ## 🤝 贡献 1. Fork 该仓库 2. 创建功能分支 3. 进行更改 4. 运行测试:`pnpm test` 5. 提交 pull request ## 📄 许可证 MIT 许可证 - 有关详细信息,请参见 [LICENSE](LICENSE) 文件。 ## 🙏 致谢 - **CISA** - 已知被利用漏洞目录 - **AlienVault** - 开放威胁交换 - **MITRE** - ATT&CK 框架 - **RinjaniAnalytics** - 平台开发 ## 📞 支持 - **网站**: [rinjanianalytics.com](https://rinjanianalytics.com) - **电子邮件**: [rinjanianalytics@gmail.com](mailto:rinjanianalytics@gmail.com) - **Dashboard 仓库**: [cti-platform-dashboard](https://github.com/rinjanianalytics/cti-platform-dashboard) - **Issues**: [GitHub Issues](https://github.com/rinjanianalytics/cti-platform-api/issues) - **讨论**: [GitHub Discussions](https://github.com/rinjanianalytics/cti-platform-api/discussions)
标签:5G安全, MITM代理, 区块链追踪, 后端架构, 威胁情报, 子域名突变, 安全数据分析, 开发者工具, 搜索引擎查询, 数据聚合, 测试用例, 自动化攻击, 请求拦截