prow-security/prow-cti

GitHub: prow-security/prow-cti

一款完全开源的 STIX 2.1 原生网络威胁情报平台,将 SSO、RBAC、审计日志等企业级功能全部免费提供,以更轻量的架构填补 MISP 与 OpenCTI 之间的空白。

Stars: 0 | Forks: 0

# Prow CTI **开源威胁情报,不带任何附加条件。** Prow CTI 是一个 STIX 2.1 原生的网络威胁情报平台,其构建围绕以下三大承诺: - **全部采用 Apache 2.0 协议。** 单点登录 (SSO)、审计日志、基于角色的访问控制、自动化、多租户——均包含在开源项目中,而非隐藏在商业版之后。 - **默认轻量级。** 单个研究人员和小型团队可在 4 GB 内存的 VPS 上运行。无需重写即可为 SOC 横向扩展。 - **连接器即产品。** 编写一个 Feed 连接器只需一个周末的时间,而不是一项漫长的入职培训。 Prow CTI 是 [Prow](https://github.com/prow-cti) 推出的首款产品,这是一家致力于构建开源安全基础设施的公司。 ## 为什么需要另一个威胁情报平台 大多数团队实际考虑的两个开源平台是 MISP 和 OpenCTI。两者都是优秀的项目。Prow CTI 的诞生正是为了填补它们之间的空白。 **MISP** 是完全开源且久经沙场的,拥有该领域最强大的 Feed 生态系统。但它也是基于 PHP 的,以事件为中心而非以图为中心,并且其对 STIX 2.1 的支持是部分的。希望拥有现代数据模型和情报知识图谱视图的团队通常另寻他处。 **OpenCTI** 是现代的、STIX 原生的、以图为中心的平台——也是 Prow CTI 最直接的定位竞争对手。OpenCTI 采用开放核心模式:SSO (OIDC/SAML/LDAP)、审计日志、自动化 playbook、精细的 RBAC 以及多租户功能都在企业版中。对于规模较大的组织而言,SSO 是一项基线安全控制,而不是高级付费功能。对此收费会将较小的团队推向安全性较低的部署方式。这就是 Prow CTI 致力于填补的空白。 用一句话来概括我们的主张:**MISP 的开源精神,OpenCTI 的图模型,更轻量的占用空间,以及尊重您时间的连接器开发者体验。** ## 设计原则 **STIX 2.1 原生。** 端到端采用当前的 OASIS 标准。包括内部数据模型、REST API 和联邦。而不是建立在其他技术之上的转换层。 **Postgres 优先。** 单个 Postgres 16 实例是小型部署中唯一需要的有状态服务——通过递归 CTE 进行图存储,通过 `tsvector` 和 `pg_trgm` 进行全文检索,通过 `LISTEN/NOTIFY` 执行轻量级队列任务。OpenSearch 是大规模 FTS 的可选替代方案。这就是实现 4 GB 最低内存要求的真正原因。 **模块化单体架构,具备随时拆分的接缝。** 默认情况下只有一个可部署构件;在 CI 中通过 `import-linter` 将模块边界作为 Python 包边界强制执行。每个异步交接都通过一个总线接口进行,该接口有两种实现(单体模式下的进程内实现,以及拆分模式下的 NATS JetStream 实现)。当 SOC 需要横向扩展某个组件时,无需更改代码。 **REST 加上 OpenAPI 作为主要 API。** GraphQL 适合解决某些问题;但它也会给那些第一次与 CTI 平台交互使用 `curl` 的人带来学习成本。Prow CTI 专为 `curl` 场景进行了优化。需要 GraphQL 的团队可以随后引入 GraphQL 适配器。 **端到端使用 Python。** CTI 生态系统及其连接器开发者绝大多数都在使用 Python。平台和贡献者使用相同的语言,降低了 Prow CTI 能获得的最重要的贡献门槛:一个新连接器。 ## 规划路线 路线图分为四个里程碑,每个里程碑都具有独立的价值: **v0.1 — 基础骨架。** 后端、Postgres schema、STIX 验证/存储/检索、CISA KEV 连接器、最小可用 UI、本地认证、单一 Docker 镜像。演示:运行 `docker run prow/prow-cti:0.1` 并在首次启动时导入 KEV。 **v0.2 — 连接器库与用户体验。** 发布在 PyPI 上的 Connector SDK、热重载开发循环、测试工具、第一批连接器(MITRE ATT&CK、abuse.ch URLhaus、MISP 等)、图可视化以及 OIDC 支持。在这个里程碑中,“SSO 是免费的”将真正成为您可以部署的现实。 **v0.3 — 多用户与自动化。** 精细的 RBAC、不可变的审计日志、带有可视化构建器的富化链、webhook 订阅、可选的 OpenSearch 后端以及公共连接器目录。 **v1.0 — 联邦。** TAXII 2.1 客户端和服务器、按集合的共享规则、信任组、节点间的签名情报、分发工作流,以及提供 12 个月安全承诺的 LTS 分支。 详细的路线图将随 v0.1 版本一起发布在代码仓库中。 ## 可持续性 整个代码库采用 Apache 2.0 协议,这意味着 Prow 必须通过其他方式实现盈利以求长远发展。以下是我们提前声明的商业计划,以便大家监督: - **托管版 Prow CTI** —— 相同的代码库,由我们运维,专为不想自行管理的团队打造。 - **支持合同** —— 为需要售后支持的组织提供服务。 - **定制开发** —— 为有特定连接器或工作流需求的组织提供支持。 - **培训**。 Prow 绝对不会做的事情:将功能限制在商业版之后。SSO、审计日志、RBAC、多租户和自动化将永远保留在开源项目中。 ## 参与其中 代码仓库目前处于脚手架初始阶段。目前您能做的最有用的事情,按所需精力大致递增的顺序如下: - **关注仓库** 以便获取 v0.1 发布时的通知。 - **向我们提供 Feed 建议。** 如果您希望某个 CTI 数据源有对应的连接器,请带上该数据源的 URL 并简要描述其提供的内容来提交 Issue。v0.2 的连接器列表将由真实用户的迫切需求来决定。 - **提交一个 Issue**,如果您认为某个设计选择是不合理的,哪怕是在还没有代码可供讨论的时候。早期的架构反馈是 Prow CTI 目前能收到的最高价值的贡献。 - **编写一个连接器**(在 SDK 发布之后)。如果基于 SDK 的周末项目开发难度超过了预期,请将其视为 SDK 的 Bug 并告知我们。 包含完整流程的 `CONTRIBUTING.md` 将随 v0.1 一起发布。 ## 许可证 [Apache License 2.0](LICENSE)。适用于整个项目,无任何例外。 ## 项目状态 | | | |---|---| | 产品 | Prow CTI | | 版本 | 0.0.0 (scaffold) | | Python | 3.12+ | | 许可证 | Apache-2.0 | | 维护者 | [Prow](https://github.com/prow-cti) |
标签:Feed连接器, GPT, LangChain, LDAP, masscan, MISP替代, nuclei, OIDC, OpenCTI替代, Prow CTI, RBAC, REST API, SAML, Shodan, SSO, STIX 2.1, Streamlit, TIP, 代码示例, 关联分析, 单点登录, 威胁情报, 威胁情报平台, 安全基础设施, 安全运营, 审计日志, 开发者工具, 情报共享, 情报源, 扫描框架, 攻击图, 攻击者模拟, 数据分析, 智能代码审计, 漏洞管理, 网络安全, 网络调试, 自动化, 访问控制, 请求拦截, 轻量级, 隐私保护