Threat intelligence API / integrations
TAXII
ThreatCluster runs a read-only TAXII 2.1 server, so any client that speaks TAXII can pull our validated indicators as STIX 2.1. You enter a URL, a collection id and your API key. There is nothing to install.
Prerequisites
An API key on the Starter, Growth or Business plan. Sign in, open Settings → API & Feeds and select Generate API key.
Connection details
Discovery URL: https://threatcluster.io/api/public/v1/taxii2/ API root URL: https://threatcluster.io/api/public/v1/taxii2/v1/ Username: anything, for example taxii Password: your ThreatCluster API key
The key can also go in an X-API-Key header if your client supports custom headers.
Collections
High confidence. For detection, so start here.
4f8e2a61-3c7b-4d19-9a52-6b0e1f7c8d23
All validated. For enrichment. It includes medium and low confidence, so do not block on it.
a17c5d90-82ef-4b36-b1d4-29e6f3a07c58
Setup: Microsoft Sentinel
- In Sentinel, open Content hub and install the Threat Intelligence solution, then open Data connectors and select the TAXII connector.
- Fill in the friendly name, the API root URL, the collection id, the username and the password from above.
- Set the polling frequency. Once an hour is enough, because the collection refreshes every 15 minutes at most and most hours add few indicators.
Setup: Elastic
- In Kibana, open Integrations, add Custom Threat Intelligence to an agent policy and choose the TAXII input.
- Turn on Enable TAXII 2.1 and enter the basic auth username and password.
- Set the URL to the API root URL followed by the collection id and the objects path:
{api root}collections/{collection id}/objects/
Setup: OpenCTI
- Under OpenCTI's data ingestion settings, open TAXII feeds and add a feed.
- Use the API root URL as the server URL, choose a collection id, and set the authentication type to basic with the username and password above.
Try it with curl
ROOT=https://threatcluster.io/api/public/v1/taxii2/v1 ID=4f8e2a61-3c7b-4d19-9a52-6b0e1f7c8d23 curl -u "taxii:$TC_KEY" \ -H "Accept: application/taxii+json;version=2.1" \ "$ROOT/collections/$ID/objects/?limit=2"
What arrives
Each indicator is a STIX 2.1 indicator object for an IP address, domain, file hash or email address, with its confidence, the reason we kept it, and a TLP:CLEAR marking. Crypto wallets are not included because STIX 2.1 has no standard object for them, but they are in the IOC API.
- Stable ids: an indicator keeps the same id for life, so a client updates it instead of duplicating it.
- Re-sightings:
modifiedand the date added move to the latest report that mentions it, so it comes through again as a new version. - Window: the collections hold indicators seen in reports in the last 90 days. Each one carries a
valid_until90 days after its latest sighting. - Filters:
added_after,limit(up to 1,000),next,match[id],match[type],match[version]andmatch[spec_version].
TAXII only carries indicators. For incident clusters, leak-site victims and CVEs, use the API.
Costs and limits
Each objects or manifest page costs 3 credits, the same as the IOC feed. Discovery, the API root and the collection list are free. Polling once an hour uses about 72 credits a day, plus one page for every 1,000 new indicators. Free keys get a 403 from this server.
Format details: /formats. The keyed IOC endpoints: IOC API. Plans: /pricing.