Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Proposal: Safety Integrity Classification (SIC) — A Cross-Domain Normalized Abstraction for CycloneDX 2.0

Open
#955 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Domain
documentation

Research direction

Start by reviewing the CycloneDX 2.0 risk, perspective, criticality, assetClassification, blueprint, component, and VEX constructs described in the proposal. Determine whether a normalized safety-integrity abstraction fits the existing model; done requires an agreed roadmap and concrete specification scope before implementation can begin.

Written by the indexing model from the issue text.

Description

Thanks again for the detailed feedback @stevespringett . Based on your comments, a more focused proposal is a Safety Integrity Classification (SIC) that complements the existing 2.0 risk, perspective, and criticality constructs rather than introducing separate safety metadata.

Motivation

CycloneDX 2.0 already provides:

  • Safety and societal impact categories
  • Safety-oriented domains
  • Component-to-risk relationships
  • VEX integration
  • Criticality and asset classifications

What appears to be missing is a machine-readable abstraction for expressing safety integrity levels across industries.

Goal

Provide a normalized classification that can represent industry-specific safety assurance schemes while remaining attached to existing CycloneDX constructs.

Examples include:

Domain Standard Classification
Automotive ISO 26262 ASIL A-D
Industrial IEC 61508 SIL 1-4
Aviation DO-178C DAL A-E
Medical IEC 62304 Class A-C
Rail EN 5012x SIL mappings

A normalized abstraction could look like:

safetyIntegrity:

  classification:
      scheme: ISO26262
      level: ASIL-D

  normalizedLevel:
      HIGH

or

safetyIntegrity:

  classification:
      scheme: IEC61508
      level: SIL-3

  normalizedLevel:
      HIGH

Integration with Existing 2.0 Constructs

Rather than existing independently, safetyIntegrity would attach to existing constructs such as:

  • assetClassification
  • risk
  • blueprint
  • component

For example:

component:
  name: brake-controller

assetClassification:
    criticality: critical

safetyIntegrity:

    classification:
        scheme: ISO26262
        level: ASIL-D

risk:

    domain:
        automotive-safety

    impact:
        physical

relatedVulnerabilities:
    - CVE-XXXX

vex:
    state: affected

This enables downstream tooling and policy engines to reason about safety context.

Example:

if safetyIntegrity.normalizedLevel >= HIGH
and vex.state == affected
then priority = immediate

I think this preserves the existing CycloneDX 2.0 design while introducing a common abstraction for safety assurance levels across domains. Interested to hear whether this direction aligns with the 2.0 roadmap.

Dominant language
XSLT
Stars
551
Forks
93
Avg merge
4h 51m
Merged PRs (30d)
42

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 CycloneDX/specification

All issues in CycloneDX/specification

Similar issues

More Documentation issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.