Back to the courtyard

Cybersecurity / Python · STIX / TAXII

Threat intelligence platform

STIX indicators are checked against example network logs. Inspect the exact match and see why expired or revoked indicators are excluded.

STIX indicator / log correlationFixture snapshot · 13 October 2026

Indicator triage

Indicator matches

The Python matcher checks an indicator’s validity before comparing it with a log. Select a STIX record to inspect its result.

3 / 9sample events matched

4 eligible indicators from 8 records

Show
STIX 2.1 indicatorEligible

Example destination IP

[ipv4-addr:value = '198.51.100.24']

Eligible for exact matching.

Valid from
2026-10-01 00:00:00 UTC
Valid until
No end date supplied
Source
indicators.stix.json

Matching log evidence

flow-01

dst_ip equals 198.51.100.24

{
  "timestamp": "2026-10-13T09:00:00Z",
  "src_ip": "192.0.2.10",
  "dst_ip": "198.51.100.24"
}
Inspect all sample log events
EventObserved valueResult
flow-01198.51.100.24Review match
dns-02GATEWAY.SAMPLE.TEST.Review match
flow-03203.0.113.80No eligible match
flow-04198.51.100.50No eligible match
flow-05198.51.100.60No eligible match
dns-06first.sample.testNo eligible match
flow-07198.51.100.70No eligible match
dns-08sub.gateway.sample.testNo eligible match
flow-092001:0db8:0:0:0:0:0:24Review match

Exact IP or domain equality only. A match is a triage lead. The Python client also supports configured TAXII 2.1 collection ingestion.

Implementation notes

The matching rule stays visible

The Python matcher normalizes DNS names and IP addresses before comparison. GATEWAY.SAMPLE.TEST. matches gateway.sample.test. A subdomain remains a different observable.

STIX validity is checked at the fixed analysis time and at each event time. A revoked indicator is excluded even when an older version would have matched.

The TAXII client follows paginated collections when a provider is configured. The public walkthrough uses a fixed STIX fixture, with compound patterns recorded as unsupported.

OASIS: TAXII 2.1

Run locally

Source and example data

The Python project includes the example inputs and tests. Open its README for prerequisites and the complete workflow.

Download project source
python tip.py \
  --bundle fixtures/indicators.stix.json \
  --logs fixtures/network-logs.json \
  --as-of 2026-10-13T12:00:00Z \
  --sample --out demo.json
python -m unittest -v
Read the setup notes
Back to the courtyardAll work