Skip to content

0.5.0

Choose a tag to compare

@cursor cursor released this 23 Sep 08:13
· 247 commits to development since this release
02c8512

0.5.0 — Threat impact and leverage lists

23 September 2026. Minor on 0.4.0.

threat.impact and threat.leverage are lists of vocabulary names, as threat::1.0 specifies. 0.4.0 rejected every threat written to the spec with Input should be a valid string. A threat written the way 0.4.0 required (impact: Data Breach) now fails until it becomes a one-item list — update threats before upgrading a pipeline.

Install

pip install opentide==0.5.0
export OPENTIDE_REPO_ROOT=/path/to/detection-repo
opentide validate --strict

Then run opentide generate so new threats start from the list template. If your CI patches the installed opentide model to accept lists, drop that step.

Changed

  • threat.impact and threat.leverage must be non-empty YAML lists of vocabulary names. A single string fails with must be a YAML list of … vocabulary names; a value or list item that joins several names with ; fails too. Give every name its own item and keep all of them (#189).
  • SDK: ThreatBody.impact / .leverage are list[str]. Threat templates, editor schemas (type: array, minItems: 1), and the explorer bundle carry lists (#189).
threat:
  impact:
    - Data Breach
    - Identity Theft
  leverage:
    - Elevation of privilege

Fixed

  • Threats written to the threat::1.0 spec validate, and validate no longer suggests a single vocabulary name for a ;-joined value, which would drop the other names (#189).

Tests

The 14 threat-*.yaml conformance fixtures from OpenTideHQ/specifications run through opentide validate --file in the E2E suite, and a guard fails when upstream adds one without an expectation (#189).

Verify

python -c "import opentide; print(opentide.__version__)"
opentide setup --yes --name "Tutorial Detections" --org "Example Corp" --platform sentinel --path /tmp/tutorial-detections
opentide --repo /tmp/tutorial-detections generate
opentide --repo /tmp/tutorial-detections validate --strict

Expect 0.5.0. The generated threat template (.opentide/templates/threat.1.0.template.yaml) lists impact and leverage as YAML lists.

Links

License: EUPL-1.2. Issues: OpenTideHQ/opentide.