stix2-validator
APIs and scripts for validating STIX 2.x documents.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has low install friction, carries a permissive license, and fills a clear need for STIX 2.x validation in threat intelligence workflows. No known vulnerabilities and broad Python version support (3.10–3.14) make it a safe, reliable choice for projects requiring STIX conformance checking.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction install with 7 common runtime dependencies and a pure-Python wheel distribution.
- Actively maintained with a recent release 94 days ago and ongoing repository activity.
License · maintenance · safety
permissive license (permissive) — BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-05-12 (94 days) · last repo commit 2026-05-12 · 63 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 148,440 downloads/mo, #11,034 on PyPI
Alternatives
Verify before relying
pip install stix2-validator
from stix2validator import validate_file, print_results
results = validate_file("stix_file.json")
print_results(results)- Whether the validator supports custom STIX objects when the type-checking option is disabled.
- Performance characteristics when validating large STIX document collections.
- Whether all STIX 2.1 specification updates are covered in the current release.
What it is and what it does
The STIX Validator is a tool for checking that STIX JSON content conforms to the STIX 2.1 specification. It validates documents against both mandatory "MUST" requirements—using JSON schemas and Python functions for checks that cannot be expressed in schema alone—and recommended "SHOULD" best-practice requirements. The validator distinguishes between these two requirement types, allowing users to ignore best-practice checks if needed. It also color-codes output to make validation results easier to interpret at a glance.
The package works as both a command-line script (stix2_validator) and a library that can be integrated into other tools. Users can validate JSON files, JSON strings, or Python dictionaries representing STIX objects. It is maintained as an OASIS TC Open Repository under BSD-3-Clause licensing, with active governance and community participation.
Use it for
- Validate STIX threat intelligence documents before ingestion into security platforms or databases.
- Integrate STIX validation into CI/CD pipelines to enforce specification compliance in automated threat data workflows.
- Check STIX JSON files for both mandatory conformance and best-practice adherence during threat intelligence authoring.
- Build custom security tools that need to verify STIX object structure and content before processing.
- Audit existing STIX document collections for specification violations and best-practice gaps.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has low install friction, carries a permissive license, and fills a clear need for STIX 2.x validation in threat intelligence workflows. No known vulnerabilities and broad Python version support (3.10–3.14) make it a safe, reliable choice for projects requiring STIX conformance checking.
Install
stix2-validator on PyPI
Before you install
Low friction install with 7 common runtime dependencies and a pure-Python wheel distribution. Actively maintained with a recent release 94 days ago and ongoing repository activity.
Requires Python 3.10 or later.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install stix2-validator
from stix2validator import validate_file, print_results
results = validate_file("stix_file.json")
print_results(results)
Verify before relying
- Whether the validator supports custom STIX objects when the type-checking option is disabled.
- Performance characteristics when validating large STIX document collections.
- Whether all STIX 2.1 specification updates are covered in the current release.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagescoloramacpejsonschemapython-dateutilrequestssimplejsonstix2-patterns |
| Maintenance | Actively maintained 94 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 148,440 / month, #11,034 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Security |
Evidence: stix2_validator-3.3.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “stix validation”
- stix2-validatorValidates STIX 2.x JSON documents against the STIX 2.1 specification,…
- stix2-patternsValidates the syntax of STIX 2 Pattern expressions used in cyber…
- stixParses, manipulates, and generates STIX v1.2.0 (Structured Threat…
Give your agent the search over MCP, or paste the wish link into any chat.
More Security packages
Provides Python bindings to the FreeDesktop.org Secret Service API for securely storing and retrieving passwords and secrets through GNOME Keyring, KWallet, or KeePassXC.
MSAL for Python handles OAuth2 and OpenID Connect authentication with Microsoft identity services, managing token acquisition, caching, and refresh for applications integrating with Microsoft Entra ID, Microsoft Accounts, and Azure AD B2C.
joserfc implements JOSE standards (JWS, JWE, JWK, JWT, and related RFCs) for signing, encrypting, and managing JSON-based cryptographic tokens in Python.
Authlib provides a complete implementation of OAuth 1.0, OAuth 2.0, and OpenID Connect 1.0 for building both authentication clients and servers, with built-in support for JWS, JWK, JWA, and JWT standards.
Provides low-level CFFI bindings to the official Argon2 password hashing algorithm for use by libraries and applications that need direct access to Argon2 without higher-level abstractions.
ADAL for Python authenticates applications with Azure Active Directory to obtain tokens for accessing Azure AD-protected resources.
Install only if maintaining existing code that already depends on it, and plan a migration.
See also stix2 · stix2-patterns · stix · swagger-spec-validator · taxii2-client · kubernetes-validate · flex · kcidb-io · fastjsonschema · compliance-trestle