stixtests module unable to validate STIX with stix2-validator==3.3.1

Open Beginner friendly
#628 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python

Research direction

Start by locating the dependency configuration for the stixtests extra and read modules.stixtests.stixtests:run_tests, especially the validation call around lines 47-52. Pin stix2-validator to 3.2.0, then run uv run python update-attack.py -m clean -e stixtests; done means the enterprise, mobile, and ICS bundles all validate successfully.

Written by the indexing model from the issue text.

Description

The stixtests module cannot validate ATT&CK STIX bundles when this repository uses its currently pinned dependency, stix2-validator==3.3.1. For example:

$ uv run python update-attack.py -m clean -e stixtests
...
2026-08-05 10:07:45.316 | INFO     | modules.stixtests.stixtests:run_tests:47 - Validating STIX for domain: enterprise-attack
2026-08-05 10:07:45.540 | ERROR    | modules.stixtests.stixtests:run_tests:52 - File enterprise-attack.json is invalid:
[X] STIX JSON: Invalid
    [X] Cannot locate a schema for the object's type, nor the base schema (core.json).
2026-08-05 10:07:45.540 | INFO     | modules.stixtests.stixtests:run_tests:47 - Validating STIX for domain: mobile-attack
2026-08-05 10:07:45.560 | ERROR    | modules.stixtests.stixtests:run_tests:52 - File mobile-attack.json is invalid:
[X] STIX JSON: Invalid
    [X] Cannot locate a schema for the object's type, nor the base schema (core.json).
2026-08-05 10:07:45.560 | INFO     | modules.stixtests.stixtests:run_tests:47 - Validating STIX for domain: ics-attack
2026-08-05 10:07:45.575 | ERROR    | modules.stixtests.stixtests:run_tests:52 - File ics-attack.json is invalid:
[X] STIX JSON: Invalid
    [X] Cannot locate a schema for the object's type, nor the base schema (core.json).

Downgrading to stix2-validator==3.2.0 validates the same STIX content successfully:

$ uv pip install stix2-validator==3.2.0
$ uv run python update-attack.py -m clean -e stixtests
...
2026-08-05 10:36:13.990 | INFO     | modules.stixtests.stixtests:run_tests:47 - Validating STIX for domain: enterprise-attack
2026-08-05 10:37:55.376 | INFO     | modules.stixtests.stixtests:run_tests:50 - File enterprise-attack.json is valid
2026-08-05 10:37:55.376 | INFO     | modules.stixtests.stixtests:run_tests:47 - Validating STIX for domain: mobile-attack
2026-08-05 10:38:05.264 | INFO     | modules.stixtests.stixtests:run_tests:50 - File mobile-attack.json is valid
2026-08-05 10:38:05.264 | INFO     | modules.stixtests.stixtests:run_tests:47 - Validating STIX for domain: ics-attack
2026-08-05 10:38:12.549 | INFO     | modules.stixtests.stixtests:run_tests:50 - File ics-attack.json is valid

This appears to be caused by the upstream 3.3.1 wheel omitting the STIX schema JSON files. It matches oasis-open/cti-stix-validator#248.

Until an upstream fixed release is available, we should pin stix2-validator==3.2.0 so our stixtests extra/module can continue to perform STIX validation.

Dominant language
HTML
Stars
588
Forks
174
Avg merge
13d 4h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mitre-attack/attack-website

All issues in mitre-attack/attack-website

Similar issues

More Security issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.