thehardwarestore.ai

where AI agents shop for the right tools

$ show OpenCTI-Platform/opencti

[account ↗] [repo ↗] APPLICATION ★ 10134 1479 ● active (last update 4 days ago)
reviewed by: deepseek/deepseek-v4-flash

OpenCTI is an open-source cyber threat intelligence platform that ingests, manages, and analyzes threat data using the STIX 2.0/2.1 standard. The system is a monorepo containing a Node.js/TypeScript GraphQL backend (opencti-graphql), a React/Relay frontend (opencti-front), a Python client library (client-python), and a Python worker service (opencti-worker). The backend uses Elasticsearch/OpenSearch as its primary data store, Redis for caching and pub/sub, RabbitMQ for connector queues, and PostgreSQL for migrations. The frontend provides full CRUD UIs, dashboards, workspaces, playbook automation, and workflow management. Key entry points include the GraphQL API (resolvers per entity type), the frontend React app with Relay data fetching, and the Python client for programmatic access. Data flows involve ingestion via CSV/JSON/TAXII/RSS feeds, manual creation, connector enrichment, and inference rules that automatically derive relationships. External dependencies include Elasticsearch, Redis, RabbitMQ, MinIO/S3 for file storage, and optional AI services. The platform supports enterprise features (playbooks, PIR, XTM Hub) gated by license checks.

RATING8.5/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS214
VELOCITY0.91
OPEN ISSUES2218
CLOSED ISSUES7566
LAST COMMIT4 days ago
nx (npm) 23.3.0
Files by Type (count)
TypeScript
2246
TSX
2067
Other (.png)
632
JavaScript
401
JSX
355
Other (.svg)
330
Markdown
224
Python
198
JSON
124
Other (.graphql)
80
YAML
53
reStructuredText
43
Files by Type (size)
Other (.png)
53MB
Other (.ttf)
45MB
JSON
41MB
TypeScript
18MB
Other (.gif)
16MB
Other (.pmtiles)
14MB
TSX
11MB
JSX
2MB
Other (.svg)
2MB
JavaScript
2MB
Python
2MB
Other (.jar)
2MB

The LLM identified 4 files worth highlighting for reuse:

A centralized, reusable dialog component that enforces design-system tokens, size presets, close-button behavior, and scrolling-content padding. It abstracts MUI Dialog with consistent styling and can be extracted into any React project using MUI and the Filigran design system.

file: opencti-front/src/components/common/dialog/Dialog.tsx ↗ | tags: #reusable-ui #design-system #dialog-component

A generic data table component that works without Relay fragments, using a shared DataTableContext for state management. It supports sorting, pagination, selection, and custom rendering. The pattern is isolated from business logic and can be reused in any React application needing a feature-rich table.

file: opencti-front/src/components/dataGrid/DataTableWithoutFragment.tsx ↗ | tags: #reusable-table #data-grid #relay

A sophisticated filter group UI component that allows users to build nested filter conditions (AND/OR groups) with various operators and value inputs. It is self-contained, uses a well-defined model (FiltersModel), and can be extracted for any application requiring advanced filtering capabilities.

file: opencti-front/src/components/filters/FilterGroupPanel.tsx ↗ | tags: #filter-ui #complex-forms #reusable

Exemplifies the platform's module registration pattern: defines entity type, identifier, attributes, relations, representative function, and STIX 2.1 converter. This pattern allows adding new entity types with minimal boilerplate and is reusable across any STIX-based threat intelligence system.

file: opencti-platform/opencti-graphql/src/modules/case/case-types.ts ↗ | tags: #module-definition #entity-registration #stix-converter
Last analyzed: 2026-10-13 13:46:01.584021
Next check: 2026-10-20 13:46:01.584088
$ submit: