Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

# Proposal: AI Behavioral Risk Assertions for CycloneDX 2.0

Aperta
#956 3 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@stevespringett ci sta già lavorando.

Dal 12/7/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

This proposal explores a minimal extension to CycloneDX 2.0 that enables machine-readable representation of AI-specific behavioral risks and exploitability assertions.

The intent is not to introduce a separate exchange format. Rather, the proposal extends existing CycloneDX risk, vulnerability, and VEX analysis constructs to represent AI risks that are not adequately captured by traditional CVEs.


Motivation

CycloneDX already provides:

  • Components and services
  • Vulnerabilities and CWEs
  • VEX analysis
  • Risk assessments
  • Impact and consequence categories

However, AI systems introduce risks that frequently exist without a corresponding CVE.

Examples include:

  • Prompt injection
  • Indirect prompt injection through retrieved content
  • Unsafe tool invocation
  • Agent privilege escalation
  • Retrieval poisoning
  • Unsafe model behavior
  • Model behavior drift

Today, these are difficult to represent in a machine-readable and interoperable manner.


Gap Analysis

Current vulnerability models answer:

  • Is a CVE applicable?
  • Is the component affected?
  • Is remediation available?

AI systems often require answering:

  • Is the model susceptible to prompt injection?
  • Can retrieved content alter model behavior?
  • Can the agent invoke tools outside intended boundaries?
  • What are the safety consequences if exploitation occurs?

These questions are behavioral and exploitability assertions that may exist independently of a CVE.


Proposed Extension

Introduce AI-specific categories under the existing risk object.

Example:

{
  "component": {
    "type": "ml-model",
    "name": "medical-triage-llm"
  },

  "risk": {

    "category": "prompt-injection",

    "analysis": {

      "state": "affected",

      "vector": "indirect",

      "confidence": "high"
    },

    "impact": [

      "health",

      "safety"

    ]
  }
}

Possible categories include:

  • prompt-injection
  • retrieval-poisoning
  • unsafe-tool-use
  • agent-privilege-escalation
  • model-drift
  • unsafe-output
  • hallucination-risk

Relationship to Existing CycloneDX Constructs

This proposal does not introduce a separate top-level AI security object.

Instead:

  • component
    represents the model, agent, or AI service

  • risk
    represents AI behavioral risks

  • VEX analysis
    represents exploitability and applicability

  • impact
    represents safety, health, societal, or operational consequences

This approach preserves compatibility with existing CycloneDX 2.0 design principles.


Safety-Critical Example

{
  "component": {
    "type": "ml-model",
    "name": "medical-triage-llm"
  },

  "risk": {

    "category": "prompt-injection",

    "analysis": {

      "state": "affected",

      "vector": "indirect"

    },

    "impact": [

      "health",

      "patient-safety"

    ],

    "rating": "high"

  }
}

A consumer or policy engine could then evaluate:

if risk.category == "prompt-injection"
and risk.rating >= HIGH
and analysis.state == affected

then

priority = immediate

Discussion

Would CycloneDX benefit from:

  1. Standardized AI behavioral risk categories under risk?

  2. AI-specific exploitability semantics within existing VEX analysis?

  3. A common vocabulary for AI behavioral and safety risks that remains compatible with the CycloneDX 2.0 architecture?

I believe this direction preserves existing CycloneDX design principles while enabling machine-readable communication of AI exploitability and behavioral risk assertions.

Lingua principale
XSLT
Stelle
558
Fork
93
Merge medio
14h 57m
PR unite (30g)
22

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CycloneDX/specification

Tutte le issue di CycloneDX/specification

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.