RDX is an open, vendor-neutral format for exchanging automotive cybersecurity risk data (TARA) across tools and organizations. It is based on CycloneDX for packaging and transport and provides JSON and XML schemas for structured risk data.
- Cover core ISO/SAE 21434 risk work products (Clause 15) and related lifecycle outputs
- Support ISO/SAE PAS 8475 CAL (Cybersecurity Assurance Levels) and TAF (Targeted Attack Feasibility) frameworks
- Interoperate with existing SBOM/BOM ecosystems (CycloneDX JSON & XML)
- Strict schemas, versioning, and conformance levels
- First-class data quality & governance (identity, provenance, validation, traceability)
- JSON:
spec/json/rdx.schema.json— JSON Schema Draft 2020-12, embeddable in CycloneDX usingmetadata.properties - XML:
spec/xml/rdx.xsd— XML Schema Definition, embeddable in CycloneDX viardx:namespace
- Item Definition: System/component being assessed with boundary, functions, architecture
- Assets: Protected assets with CIA (Confidentiality, Integrity, Availability) properties
- Damage Scenarios: Potential harm scenarios with impact assessment
- Threat Scenarios: Security threats targeting specific assets
- Attack Paths: Detailed attack step sequences
- Risk Ratings: Attack feasibility, impact, and combined risk values
- Controls: Security measures with implementation status
- Risk Treatment Decisions: Documented risk handling (reduce/avoid/accept/share)
- Explicit Relationships: Machine-readable links between risk artifacts (causes, mitigates, implements, etc.)
- CAL Framework: ISO/SAE PAS 8475 Cybersecurity Assurance Levels (CAL1-4) with assessment tracking
- TAF Framework: Targeted Attack Feasibility assessments with attacker profiling
- Methods: Support for multiple rating methodologies
- Country of Origin: Supply chain transparency for item definitions
- Traceability: All objects require unique IDs with support for external references
npm install -g ajv-cli # For JSON validation
# xmllint typically pre-installed on macOS/LinuxRun all validations:
./tools/validate.shValidate an individual example:
ajv validate -s spec/json/rdx.schema.json -d examples/rdx-example.json \
--spec=draft2020 -c ajv-formats --strict=falseNote: The schema uses JSON Schema Draft 2020-12, so ajv must be invoked with
--spec=draft2020 and the ajv-formats plugin (-c ajv-formats). Install both with
npm install -g ajv-cli ajv-formats.
rdx-example.json: Basic standalone RDX documentrdx-relationships-example.json: Explicit relationships between risk objectsrdx-multiple-threats-example.json: Multiple threat scenariosrdx-mitigation-relationships-example.json: Controls mitigating threatsrdx-cal-taf-example.json: CAL and TAF framework integrationrdx-risk-threshold-example.json: Risk threshold / acceptance criteriardx-infotainment-comprehensive-example.json: Large end-to-end example covering most object typesheadlight-tara-iso21434.json: Complete ISO 21434 TARA for Adaptive Front-lighting Systemcyclonedx-embedded.json/.xml: RDX embedded within CycloneDX BOMs
Skeleton documents for starting a new RDX file are in templates/ (rdx-template.json, rdx-template.xml).
- Methodology: Design principles, object model, encoding patterns
- ISO 21434 Mapping: Clause mappings to ISO/SAE 21434
- CAL/TAF Integration: ISO/SAE PAS 8475 framework details
- Use Cases: Usage scenarios and examples
- Requirements: Formal requirements tracking (RDX-XXX format)
- Contributing: Contribution process and requirements
- Versioning: Semantic versioning policy
Current Version: v0.1.0 Status: Active Development Schema Specification: JSON Schema Draft 2020-12
Recent enhancements:
- ✅ Explicit relationship support (Issues #1, #4)
- ✅ Country of origin tracking (Issue #10)
- ✅ ISO/SAE PAS 8475 CAL/TAF framework integration (Issue #9)
- ✅ Complete headlight TARA example (Issue #12)
We welcome contributions! Please see CONTRIBUTING.md for:
- Development workflow and requirements process
- GitHub issue requirements (all changes must have associated issues)
- Code standards and testing requirements
- How to interact with Claude AI automation
- Issues: GitHub Issues
- Discussions: Use issue comments or create new issues for questions
- AI Assistance: Mention
@claudein issues or PRs for automated help
Please refer to the repository license file for licensing information.