Explainable
Every answer carries an evidence chain — which source said it, when, with what confidence. The retrieval trace is exposed too. Black-box TI is not OK anymore.
OmniIntel collects, correlates and enriches threat data from nine upstream feeds plus your own — then answers questions about it with citations you can audit. STIX 2.1 and TAXII 2.1 native, multi-tenant to the row.
KSA data residency available · SDAIA-aligned
Most feeds hand you a list and leave the judgement to you. OmniIntel keeps the provenance attached all the way to the answer.
The Co-Analyst doesn't summarise the internet. It answers from your retained corpus and cites the exact document behind each claim, so an analyst can check the work before acting on it.
Yes — it's on CISA KEV as of 28 Jul, with a public PoC. Three of your assets still report the vulnerable build.
Indicators, CVEs, actors, malware and MITRE techniques are stitched into one graph. Pivot from a single IP to the campaigns and assets it touches without leaving the page.
Nine upstream feeds are reconciled into one verdict per indicator, and every contributing source stays visible with an Admiralty code. You can always see why something is flagged.
STIX 2.1 objects over TAXII 2.1 collections, plus a typed REST API and SDKs. No bespoke shim between OmniIntel and your SOAR, SIEM or case management.
GET /v1/taxii2/collections/indicators/objects
Authorization: Bearer <REDACTED>
{ "type": "bundle", "objects": [
{ "type": "indicator",
"pattern": "[ipv4-addr:value = '192.168.0.123']",
"confidence": 87,
"labels": ["malicious-activity"] } ] }The TI space has well-funded incumbents. Generic "feeds plus an LLM" loses. We win on six specific axes.
Every answer carries an evidence chain — which source said it, when, with what confidence. The retrieval trace is exposed too. Black-box TI is not OK anymore.
GraphRAG over a Neo4j entity graph. Multi-hop walks: actor → campaign → TTPs → IOCs → sector. Leiden communities cluster related intel automatically.
First-class MENA / GCC coverage and KSA data residency. Tenant data never leaves its region — not in queries, not in LLM calls, not in logs. Provable at audit.
An agent plans the lookup — which feed, which retriever, which enrichment. Critiques the evidence. Escalates to live-fetch when the KB is cold. Built on LangGraph.
OpenAPI 3.1 contract drives the SDKs. JS, Python, Go. Predictable typed responses. Webhook firehose. Sandbox playground. The API your engineers expected.
MSSPs and enterprise tenants can push private indicators that enrich their queries without ever leaking cross-tenant. Tenant isolation is a database-level invariant.
One Bearer key. Every response carries an evidence chain and a retriever trace. STIX 2.1 shapes on the wire.
curl https://api.omniintel.example/v1/enrich/http://evil.example/payload.exe \
-H "Authorization: Bearer $OMNI_INTEL_KEY"
{
"indicator": "http://evil.example/payload.exe",
"type": "url",
"verdict": "malicious",
"confidence": 0.92,
"first_seen": "2025-12-01T12:00:00Z",
"last_seen": "2026-05-13T08:21:11Z",
"related_actors": ["TA505"],
"related_malware": ["Dridex"],
"mitre_techniques": ["T1566.002", "T1059.001"],
"evidence": [
{
"source": "abusech/urlhaus",
"source_url": "https://urlhaus.abuse.ch/url/3000001/",
"fetched_at": "2026-05-13T08:21:11Z",
"confidence": 0.8,
"tlp": "TLP:CLEAR",
"snippet": "URLhaus: malware_download (status=online) — added 2025-12-01."
},
{ "source": "virustotal", "confidence": 0.95, "...": "..." }
],
"trace": {
"retrievers": [
{ "name": "lexical", "hits": 2, "latency_ms": 8 },
{ "name": "semantic","hits": 1, "latency_ms": 14 }
]
}
}curl -X POST https://api.omniintel.example/v1/ask \
-H "Authorization: Bearer $OMNI_INTEL_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "Which actors targeted GCC oil & gas in 2026 using ransomware?",
"max_evidence": 8,
"time_window_days": 365
}'
{
"answer": "Three intrusion-sets stood out: OilRig (APT34), MuddyWater (Mango Sandstorm),
and a newly-tracked cluster TA505-ME using LockBit 4.0 affiliates. Healthcare and refining
were dual-targeted [1][2]. KSA Aramco subsidiaries received the heaviest pressure in Q1 [3].",
"confidence": 0.74,
"evidence": [
{ "source": "mitre/attack", "snippet": "G0049 OilRig — refining sector pivots …",
"confidence": 0.85, "tlp": "TLP:CLEAR", "fetched_at": "2026-05-09T…" },
{ "source": "saudiCERT", "snippet": "Q1 advisory — credential harvesting …",
"confidence": 0.78, "tlp": "TLP:GREEN", "fetched_at": "2026-04-22T…" }
],
"trace": {
"retrievers": [
{ "name": "graph", "hits": 11, "latency_ms": 142 },
{ "name": "hybrid", "hits": 6, "latency_ms": 88 },
{ "name": "semantic","hits": 4, "latency_ms": 46 }
],
"agent_steps": [
{ "step": "classify", "decision": "graph_walk + free_form" },
{ "step": "plan", "decision": "graph -> hybrid -> semantic" },
{ "step": "critique", "decision": "evidence sufficient (4 indep. sources)" }
]
}
}curl https://api.omniintel.example/v1/cve/CVE-2025-12345 \
-H "Authorization: Bearer $OMNI_INTEL_KEY"
{
"id": "CVE-2025-12345",
"published_at": "2025-11-04T00:00:00Z",
"cvss_v3": 9.8,
"epss": 0.94,
"kev": true,
"kev_added_at": "2025-11-12T00:00:00Z",
"actors_exploiting": ["APT34", "TA505"],
"public_pocs": ["https://github.com/example/cve-2025-12345-poc"],
"affected_products": ["Fortinet FortiOS 7.0.0 - 7.2.3"],
"fix_available": true,
"evidence": [
{ "source": "cisa/kev", "fetched_at": "2025-11-12T13:00:00Z", "confidence": 1.0 },
{ "source": "nvd/cve", "fetched_at": "2025-11-04T18:00:00Z", "confidence": 1.0 }
]
}curl -X POST https://api.omniintel.example/v1/graph/traverse \
-H "Authorization: Bearer $OMNI_INTEL_KEY" \
-H "Content-Type: application/json" \
-d '{
"start": { "type": "threat-actor", "id": "APT34" },
"hops": 3,
"edge_types": ["uses", "targets", "indicates"]
}'
{
"nodes": [
{ "id": "APT34", "type": "threat-actor", "attrs": { "name": "OilRig", "country": "IR" } },
{ "id": "T1566.002", "type": "attack-pattern", "attrs": { "name": "Spearphishing Link" } },
{ "id": "indicator-89a…", "type": "indicator", "attrs": { "value": "phish.example" } },
{ "id": "GCC-OilGas", "type": "sector", "attrs": { "region": "ksa,uae,kw" } }
],
"edges": [
{ "from": "APT34", "to": "T1566.002", "type": "uses" },
{ "from": "T1566.002", "to": "indicator-89a…", "type": "indicates" },
{ "from": "APT34", "to": "GCC-OilGas", "type": "targets" }
]
}curl "https://api.omniintel.example/v1/stix/bundle?types=indicator,cve&limit=500&since=2026-07-01T00:00:00Z" \
-H "Authorization: Bearer $OMNI_INTEL_KEY"
< HTTP/1.1 200 OK
< content-type: application/stix+json; charset=utf-8
< x-omni-stix-counts: {"indicator":412,"cve":88}
< x-omni-stix-generated-at: 2026-07-30T04:12:08.114Z
{
"type": "bundle",
"id": "bundle--7f1c9b02-4d3a-4f81-9c2e-0b6a51d7e8aa",
"objects": [
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--b2c4...",
"pattern": "[url:value = 'http://evil.example/payload.exe']",
"pattern_type": "stix",
"valid_from": "2025-12-01T12:00:00Z",
"confidence": 92,
"labels": ["malicious-activity"]
},
{ "type": "vulnerability", "name": "CVE-2026-31337", "...": "..." }
]
}curl -X POST https://api.omniintel.example/v1/private/submit \
-H "Authorization: Bearer $OMNI_INTEL_KEY" \
-H "Content-Type: application/json" \
-d '{
"indicators": [
{
"value": "185.220.101.42",
"type": "ipv4",
"verdict": "malicious",
"confidence": 0.85,
"note": "C2 beacon seen in incident INC-4417",
"tlp": "TLP:AMBER",
"tags": ["c2", "incident:INC-4417"]
}
],
"default_tlp": "TLP:AMBER",
"tags": ["byoi"]
}'
{
"accepted": 1,
"rejected": 0,
"tenant_scoped": true,
"indicators": [
{ "value": "185.220.101.42", "type": "ipv4", "id": "ind_01JQ...", "status": "stored" }
]
}curl -X POST https://api.omniintel.example/v1/rules/generate \
-H "Authorization: Bearer $OMNI_INTEL_KEY" \
-H "Content-Type: application/json" \
-d '{
"seed": { "kind": "malware", "value": "Dridex" },
"formats": ["sigma", "kql"],
"max_rules": 4
}'
{
"seed": { "kind": "malware", "value": "Dridex" },
"rules": [
{
"format": "sigma",
"title": "Dridex loader — suspicious rundll32 child process",
"confidence": 0.81,
"mitre_techniques": ["T1218.011"],
"content": "title: Dridex loader\ndetection:\n selection:\n Image|endswith: '\\rundll32.exe'\n condition: selection"
},
{ "format": "kql", "title": "Dridex C2 beacon", "...": "..." }
],
"citations": [
{ "source": "kb", "doc_id": "doc_01JQ...", "snippet": "Dridex loaders commonly abuse rundll32..." }
]
}Twelve canonical operations cover IOC enrichment, vulnerability context, actor and malware profiles, MITRE TTPs, free-form questions, graph walks, TAXII bulk pulls, webhook subscriptions, and BYOI ingestion.
/v1/enrich/{indicator}/v1/cve/{id}/v1/actor/{name}/v1/malware/{name}/v1/ttp/{id}/v1/ask/v1/graph/traverse/v1/feeds/* (TAXII 2.1)/v1/webhooks/v1/private/submit/v1/attribute/v1/rules/{stix,sigma,yara,kql}A canonical entity model under five stores. Five retrievers above. One agent that orchestrates. Every step is observable, every answer cites its source.
25+ source workers feed STIX 2.1 into the canonical store.
Postgres truth · pgvector · Neo4j graph · OpenSearch · S3 artifacts.
Five strategies. Lexical, semantic, graph, hybrid-RRF, live-fetch.
Classify → plan → retrieve → critique → synthesise → cache.
Three layers — gateway, service, and Postgres RLS. Every row carriestenant_idand connections setSET LOCAL omni.tenant_idper checkout. A logic bug in any single layer can't leak data.
Western TI feeds under-cover the region. OmniIntel is built the other way round: KSA data residency from day 0, regional sources upgraded to Tier 0, Arabic-aware retrieval, and MSSP-grade multi-tenancy for the region's service providers.
KSA tenants never touch a non-KSA store, LLM endpoint, or log sink. The gateway returns 409 + a Location hint on wrong-region requests — never silent routing.
saudiCERT, UAE CERT, GCC-CERT, Arabic-language forums, MENA-targeted Telegram. A dedicated sub-team owns regional coverage as a moat.
BGE-M3 multilingual embeddings, Arabic OCR for PDF reports, English translations surfaced in the canonical model.
MSSP is a tenant; their customers are sub-tenants. Cross-customer data never crosses, billing-grade metering tags every call.
Every call is metered and tagged by tenant + sub-tenant + endpoint. MSSPs get billable transparency built in.
For prototypes, side projects, and SDK exploration.
For startups and small SOCs that need real coverage.
For MSSPs, MENA / GCC service providers, and large enterprises.
Including the awkward ones. If something isn't answered here, email [email protected] and a human will reply.
One Bearer key. Twelve endpoints. Evidence chains under every answer. Get building in under five minutes.