Repository navigation
0.2.1
0.2.1 — CIRCL Vulnerability-Lookup for CVE
18 September 2026. Patch on the public 0.2.0 beta.
Install
pip install opentide==0.2.1
export OPENTIDE_REPO_ROOT=/path/to/detection-repo
opentide validate --strictAdded
- CVE validation and generated threat CVE tables use CIRCL Vulnerability-Lookup instead of scraping NVD through
mitrecve(#109). opentide validate --check cvelooks up CVE, GHSA, and GCVE identifiers (GET /api/vulnerability/{id}). Empty JSON means unknown. GNA 0 GCVE ids (GCVE-0-YEAR-N) map to the reserved CVE key.- Generated threat docs link to
https://vulnerability.circl.lu/vuln/{id}and can enrich published date, severity, and aliases when[cve].retrieve_detailsis true. threat.cveis a first-class optional list on the threat body.
Changed
- Bundled
documentation.toml[cve]defaults to Vulnerability-Lookup. Legacy NVDdefault_db_linkvalues are remapped. - The CVE check stays opt-in (
--check cve) so defaultopentide validatestays offline.
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
opentide --repo /tmp/tutorial-detections validate --check cveExpect 0.2.1. .opentide/templates/threat.1.0.template.yaml must contain #cve:. CVE lookup is network-backed; identifiers that CIRCL does not know fail the opt-in check. Default opentide validate (no --check cve) must not contact Vulnerability-Lookup.
Links
License: EUPL-1.2. Issues: OpenTideHQ/opentide.