Enterprise AI BOM Field Requirements Matrix — Required and Optional Fields Defined by Standards and Regulatory Grounds
Weighs the 50 elements of the G7 “SBOM for AI — Minimum Elements” against authoritative standards — SPDX 3.0.1, CycloneDX 1.6, NTIA 2021, OpenChain AI V1 — and regulatory grounds including the CRA, the AI Act, and FDA guidance, to determine which AI BOM fields are required and which are optional. Part of a five-part series that also applies the same matrix to production, ingestion, and supplier contexts and covers toolset strategy.
This article was written with Claude Code, and the key facts cited here were cross-checked against primary sources.
1. Purpose and Context of Use
Enterprise open source governance programs have already reached the stage of mandating that suppliers submit a Software Bill of Materials (SBOM) and of operating concrete submission requirements. AI systems need the same transparency requirement extended to models and datasets, but existing SBOM requirements cover only software components and cannot capture AI-specific information. This report defines, using international standards and regulatory grounds, which fields a bill of materials for AI (hereafter AI BOM) should require and which it should treat as optional.
A note on why AI BOM is used as the umbrella term here. Three of the sources compared below call the same thing by different names. The G7 Cybersecurity Working Group, whose element list this report draws on, calls it SBOM for AI; the OpenChain project calls it AI SBOM; CycloneDX calls it a Machine Learning Bill of Materials (ML-BOM). Of the remaining two, SPDX expresses it as an AI profile rather than a separate abbreviation, and the NTIA minimum elements predate AI and cover the general SBOM. Elevating any one of these to represent the rest would misname the others, so what follows uses AI BOM for the general concept and reproduces each standard’s own term only when referring to that standard specifically.
The fields assessed here are the 50 elements of “SBOM for AI — Minimum Elements,” published by the G7 Cybersecurity Working Group. Using these 50 as rows, this report compares the requirement strength of five authoritative standards to sort each element into required or optional.
The same matrix is applied differently across three enterprise usage contexts.
- Production: the fields an in-house AI model development team must fill in when authoring an AI BOM directly.
- Ingestion: the fields that must be checked to assess transparency and risk when bringing in and using an external model or dataset.
- Supplier requirements: the fields to require submission of from suppliers that provide AI models to the organization.

Figure 1. How the boundary of required shifts by role for the same matrix (compiled from research)
2. Methodology
2.1 Sources Used for Consensus Tallying
Whether each field is required is determined by summing the requirement strength of the following five sources.
- G7 “SBOM for AI — Minimum Elements” (G7, jointly led by the BSI and the ACN, 2026): recommends all 50 elements as “minimum elements.” Because it does not distinguish required from optional at the element level, this matrix credits G7 with one vote of “designated as a minimum element” for every element.
- SPDX 3.0.1: the specification directly defines the cardinality (whether required) of each property in the AI Profile’s
AIPackage, the Dataset Profile’s DatasetPackage, and the common classes in Core. - CycloneDX 1.6: required fields are defined by the
required array in the JSON schema. - NTIA “The Minimum Elements For a Software Bill of Materials (SBOM)” (2021): defines the seven baseline data fields for a general software SBOM.
- OpenChain AI Compliance Management Guide (Version 1, 2025): a process standard that does not define data fields, but whose license obligation procedures mandate identifying and documenting model and dataset licenses.
2.2 Determination Rule
A field is determined required if two or more sources require the field’s existence itself, and optional otherwise. Since G7 gives one vote to every element, the determination in practice comes down to whether at least one other source requires the field’s existence.
Requiring existence here means class-level required cardinality (the required properties of SPDX’s AIPackage/DatasetPackage), document-root requirements (CycloneDX’s bomFormat/specVersion), the seven NTIA baseline fields, and OpenChain’s shall-level process. Conditional requirements enforced only when an object is created — for example, the algorithm and value inside a hash object, or the name inside a component object — are not requirements to include the object itself, so they were not counted as existence requirements. However, these conditional requirements and items of high integrity or security value were left optional while being marked recommended in the role-based application.

Figure 2. The consensus determination rule and G7’s role in it (compiled from research)
Applying this rule yields 20 required and 30 optional elements out of the 50.
2.3 Marking Regulatory Basis
Whether a binding regulation applies to a given field is marked on a separate axis, not folded into the consensus tally, because no regulation mandates an AI BOM under that name. The Cyber Resilience Act (CRA) requires a general software SBOM; the AI Act, U.S. Food and Drug Administration (FDA) guidance, and domestic regimes require documentation obligations. Direct marks a case where the regulation explicitly requires that item; Indirect marks a case where the item is not itself an SBOM requirement but a documentation or vulnerability-handling obligation effectively requires the same information.
3. Overview of the Consensus Results
The distribution of required and optional elements by cluster is as follows.
| Cluster | Elements | Required | Optional |
|---|
| Metadata | 10 | 5 | 5 |
| System-Level Attributes | 9 | 4 | 5 |
| Model | 13 | 6 | 7 |
| Dataset Attributes | 10 | 5 | 5 |
| Infrastructure | 2 | 0 | 2 |
| Security Attributes | 4 | 0 | 4 |
| Key Performance Indicators | 2 | 0 | 2 |
| Total | 50 | 20 | 30 |

Figure 3. Required/optional distribution by cluster (compiled from research)
The 20 elements determined required are all foundational to identification and traceability: who made it (author, producer), what it is (name, identifier, version), when it was made (timestamp), what it is composed of (components, dependency relationships, dataset content), and what license applies (model and dataset licenses). Two or more standards consistently require the existence of this information.
By contrast, detailed model attributes (architecture, training technique, input/output characteristics), dataset statistics and sensitivity, security controls, and key performance indicators fall to optional because only G7 lists them as minimum elements and no other standard mandates their existence. These items are optional by consensus, but because they are used directly for transparency and risk assessment in the ingestion and supplier-requirement contexts, they are raised again in the role-based application.
One structural point is worth noting. The required determination in the AI-specific clusters (Model, Dataset) is effectively driven by G7 and SPDX 3.0. NTIA, being a general software SBOM standard, contributes only to metadata and the identification lineage; OpenChain defines no fields beyond licensing; and CycloneDX makes everything but its two root fields conditionally required. SPDX 3.0’s AI and Dataset profiles are, in effect, still the only field-level standard for AI BOM with any real density.
4. Field Matrix
The notation conventions are as follows. The source columns use Required (existence required), Conditional (enforced only when the object is created), Approximate (no dedicated field; handled through a relationship or a general property instead), Optional, and – (no equivalent). OpenChain’s Required (P) denotes process enforcement rather than a data field. The role columns use Required, Recommended, Optional, and –; given table width, the Production, Ingestion, and Supplier role columns are broken out into the §4.6 role-based application summary table.
| Element | SPDX 3.0 | CycloneDX | NTIA | OpenChain | Consensus | Regulatory Basis |
|---|
| SBOM Author | Required | Approximate | Required | – | Required | FDA direct |
| SBOM Version | – | Optional | – | – | Optional | – |
| Data Format Name | Implicit | Required | Required | – | Required | CRA/FDA indirect |
| Data Format Version | Required | Required | Optional | – | Required | – |
| Author Signature | – | Optional | – | – | Optional | domestic indirect |
| Tool Name | Optional | Conditional | – | – | Optional | – |
| Tool Version | – | Optional | – | – | Optional | – |
| Generation Context | Optional | Optional | – | – | Optional | – |
| SBOM Timestamp | Required | Optional | Required | – | Required | FDA direct |
| Dependency Relationships | Conditional | Conditional | Required | – | Required | CRA/FDA direct |
4.2 System-Level Attributes Cluster
| Element | SPDX 3.0 | CycloneDX | NTIA | OpenChain | Consensus | Regulatory Basis |
|---|
| System Name | Required | Conditional | Required | Implied | Required | AI Act/FDA indirect |
| System Components | Approximate | Conditional | Required | Implied | Required | FDA direct, CRA indirect |
| System Producer | Optional | Conditional | Required | – | Required | FDA direct, AI Act indirect |
| System Version | Optional | Conditional | Required | – | Required | FDA direct, AI Act indirect |
| System Timestamp | Optional | Optional | – | – | Optional | – |
| System Data Flow | – | Optional | – | – | Optional | AI Act indirect |
| System Data Usage | Approximate | Approximate | – | Implied | Optional | AI Act/domestic indirect |
| Input/Output Properties | – | Approximate | – | – | Optional | AI Act indirect |
| Intended Application Domain | Optional | Approximate | – | Implied | Optional | AI Act/domestic indirect |
4.3 Model Cluster
| Element | SPDX 3.0 | CycloneDX | NTIA | OpenChain | Consensus | Regulatory Basis |
|---|
| Model Name | Required | Conditional | – | Implied | Required | AI Act indirect |
| Model Identifier | Required | Optional | – | Implied | Required | – |
| Model Version | Required | Optional | – | – | Required | AI Act indirect |
| Model Timestamp | Required | Optional | – | – | Required | AI Act indirect |
| Model Producer | Required | Optional | – | – | Required | AI Act indirect |
| Model Description | Optional | Optional | – | – | Optional | AI Act/domestic indirect |
| Model Hash Value | Conditional | Conditional | – | – | Optional | – |
| Model Hash Algorithm | Conditional | Conditional | – | – | Optional | – |
| Model Properties | Optional | Optional | – | – | Optional | AI Act indirect |
| Input/Output Properties | Approximate | Optional | – | – | Optional | AI Act indirect |
| Training Properties | Optional | Optional | – | Implied | Optional | AI Act/domestic indirect |
| Model License | Approximate | Optional | – | Required (P) | Required | AI Act indirect |
| External References | Optional | Conditional | – | Implied | Optional | – |
4.4 Dataset Attributes Cluster
| Element | SPDX 3.0 | CycloneDX | NTIA | OpenChain | Consensus | Regulatory Basis |
|---|
| Dataset Name | Required | Optional | – | Implied | Required | AI Act indirect |
| Dataset Description | Optional | Optional | – | – | Optional | AI Act/domestic indirect |
| Dataset Content | Required | Optional | – | – | Required | AI Act indirect |
| Dataset Identifier | Required | Optional | – | – | Required | – |
| Dataset Hash | Conditional | Conditional | – | – | Optional | – |
| Dataset Provenance | Required | Approximate | – | Implied | Required | AI Act/domestic indirect |
| Statistical Properties | Optional | Optional | – | – | Optional | AI Act indirect |
| Dataset Sensitivity | Optional | Optional | – | Implied | Optional | AI Act/domestic indirect |
| Dependency Relationships | Conditional | Conditional | – | Implied | Optional | – |
| Dataset License | Approximate | Optional | – | Required (P) | Required | – |
| Element | SPDX 3.0 | CycloneDX | NTIA | OpenChain | Consensus | Regulatory Basis |
|---|
| Infrastructure Software | Approximate | Optional | – | – | Optional | – |
| Infrastructure Hardware | – | Optional | – | – | Optional | AI Act indirect |
| Security Controls | – | Approximate | – | – | Optional | CRA/AI Act/FDA indirect |
| Security Compliance | Optional | Optional | – | – | Optional | conformity assessment indirect |
| Cybersecurity Policy Information | – | Approximate | – | – | Optional | CRA direct |
| Vulnerability References | Approximate | Optional | – | – | Optional | CRA/FDA direct |
| Security Metrics | Optional | Optional | – | – | Optional | AI Act indirect |
| Operational Performance Metrics | Optional | Optional | – | – | Optional | AI Act indirect |
The Security cluster is entirely optional by consensus, but Vulnerability References and Cybersecurity Policy Information are items the CRA and FDA require directly. The consensus tally looks only at how standards define data fields, while regulation mandates the same information. For that reason, these two items are raised to required or recommended in the ingestion and supplier contexts. This is the representative case where the regulatory-basis marking adjusts the role-based application.
4.6 Role-Based Application Summary
This table gathers, for all 50 elements, the result of applying the §4.1–4.5 consensus determinations to the three contexts of production, ingestion, and supplier requirements. The role columns use Required, Recommended, Optional, and –.
| Element | Consensus | Production | Ingestion | Supplier |
|---|
| Metadata | | | | |
| SBOM Author | Required | Required | Recommended | Required |
| SBOM Version | Optional | Recommended | Optional | Recommended |
| Data Format Name | Required | Required | Recommended | Required |
| Data Format Version | Required | Required | Recommended | Required |
| Author Signature | Optional | Recommended | Recommended | Recommended |
| Tool Name | Optional | Recommended | Optional | Recommended |
| Tool Version | Optional | Recommended | Optional | Optional |
| Generation Context | Optional | Recommended | Optional | Recommended |
| SBOM Timestamp | Required | Required | Recommended | Required |
| Dependency Relationships | Required | Required | Required | Required |
| System-Level Attributes | | | | |
| System Name | Required | Required | Required | Required |
| System Components | Required | Required | Required | Required |
| System Producer | Required | Required | Recommended | Required |
| System Version | Required | Required | Required | Required |
| System Timestamp | Optional | Recommended | Optional | Recommended |
| System Data Flow | Optional | Recommended | Recommended | Recommended |
| System Data Usage | Optional | Recommended | Recommended | Recommended |
| Input/Output Properties | Optional | Recommended | Recommended | Recommended |
| Intended Application Domain | Optional | Recommended | Recommended | Recommended |
| Model | | | | |
| Model Name | Required | Required | Required | Required |
| Model Identifier | Required | Required | Required | Required |
| Model Version | Required | Required | Required | Required |
| Model Timestamp | Required | Required | Recommended | Recommended |
| Model Producer | Required | Required | Recommended | Required |
| Model Description | Optional | Recommended | Required | Recommended |
| Model Hash Value | Optional | Recommended | Recommended | Recommended |
| Model Hash Algorithm | Optional | Recommended | Recommended | Recommended |
| Model Properties | Optional | Recommended | Recommended | Recommended |
| Input/Output Properties | Optional | Recommended | Recommended | Recommended |
| Training Properties | Optional | Recommended | Recommended | Recommended |
| Model License | Required | Required | Required | Required |
| External References | Optional | Recommended | Recommended | Recommended |
| Dataset Attributes | | | | |
| Dataset Name | Required | Required | Required | Required |
| Dataset Description | Optional | Recommended | Recommended | Recommended |
| Dataset Content | Required | Required | Recommended | Recommended |
| Dataset Identifier | Required | Required | Required | Required |
| Dataset Hash | Optional | Recommended | Recommended | Recommended |
| Dataset Provenance | Required | Required | Required | Required |
| Statistical Properties | Optional | Recommended | Optional | Optional |
| Dataset Sensitivity | Optional | Recommended | Required | Required |
| Dependency Relationships | Optional | Recommended | Optional | Optional |
| Dataset License | Required | Required | Required | Required |
| Infrastructure, Security, and KPIs | | | | |
| Infrastructure Software | Optional | Recommended | Optional | Recommended |
| Infrastructure Hardware | Optional | Optional | Optional | Optional |
| Security Controls | Optional | Recommended | Recommended | Recommended |
| Security Compliance | Optional | Recommended | Recommended | Recommended |
| Cybersecurity Policy Information | Optional | Recommended | Optional | Recommended |
| Vulnerability References | Optional | Recommended | Required | Required |
| Security Metrics | Optional | Recommended | Recommended | Optional |
| Operational Performance Metrics | Optional | Recommended | Optional | Optional |
5. Role-Based Application in Detail
5.1 Production Perspective
When an in-house development team builds the model, information access is at its best, so the requirement level is set highest here. The 20 consensus-required elements remain required as is. In addition, items that are optional by consensus — detailed model and dataset attributes, hashes, training information — are set to recommended at production time, because if the producer does not record this information, no one downstream, whether an adopter or the rest of the supply chain, can ever recover it.
5.2 Ingestion Perspective
When bringing in an external model or dataset, fields that are used directly for transparency and risk assessment take priority. In addition to identification information (name, identifier, version, producer), Model Description, model and dataset licenses, Dataset Provenance, Dataset Sensitivity, and Vulnerability References are treated as required. Licenses are the basis for judging compliance risk; provenance and sensitivity for judging data legality and privacy risk; vulnerability references for judging security risk. These are optional by consensus but are core to ingestion review, so they are raised to required.
5.3 Supplier Requirement Perspective
The scope required from suppliers takes the 20 consensus-required elements as the baseline, considering what is realistically enforceable through contract. Model and dataset licenses, Dataset Provenance and Sensitivity, and Vulnerability References are added as required on top of that. This extends to models and data the same structure that existing software SBOM supplier requirements already enforce for identification, dependencies, and format compliance.
6. Limitations and Items Requiring Verification
The consensus determinations in this matrix rest on the cardinality defined in the standard specifications and on minimum-element provisions, with the regulatory-basis marking as a separate axis. The following items had limited access to primary sources and require separate verification.
The primary NTIA minimum elements specification (ntia.gov) blocks automated retrieval, so the seven baseline fields were reconfirmed against a public mirror. The primary text of the CRA Annex I, the AI Act annexes, and the FDA guidance (EUR-Lex, fda.gov) also had rendering and access-blocking issues and were cross-checked using mirrors and search aggregation. The training-data obligations in Korea’s Basic Act on AI could not be matched against the primary text down to the article and paragraph level, so they are marked “indirect (article unspecified).” These items will be reconfirmed against primary sources at a follow-up verification stage.
The field cardinality of SPDX 3.0 and CycloneDX 1.6 was confirmed directly from the specification’s class definitions and the original JSON schema, so confidence in these is high.
References
The main primary sources are as follows.
A1. G7 Cybersecurity Working Group (2026). Software Bill of Materials for AI — Minimum Elements. Jointly led by the BSI and the ACN, and jointly published with the other G7 cybersecurity agencies and the European Commission. — Used for: the 50-element row structure.
A2. SPDX Project (2024). System Package Data Exchange (SPDX) Specification, Version 3.0.1 — AI Profile, Dataset Profile, Core. https://spdx.github.io/spdx-spec/v3.0.1/ — Used for: model and dataset field cardinality.
A3. OWASP / ECMA International (2024). CycloneDX Bill of Materials Specification 1.6 (ECMA-424), JSON schema. https://cyclonedx.org/docs/1.6/json/ — Used for: determining required fields in the schema.
A4. NTIA, U.S. Department of Commerce (2021). The Minimum Elements For a Software Bill of Materials (SBOM). https://www.ntia.gov/report/2021/minimum-elements-software-bill-materials-sbom — Used for: general SBOM minimum elements.
A5. OpenChain Project AI Work Group (2025). Artificial Intelligence System Bill of Materials — Compliance Management Guide, Version 1. — Used for: license obligation process.
A6. European Parliament and Council (2024). Regulation (EU) 2024/2847 — Cyber Resilience Act, Annex I. — Used for: SBOM and vulnerability-handling regulatory basis.
A7. European Parliament and Council (2024). Regulation (EU) 2024/1689 — AI Act, Article 53, Annex IV, XI, XII. — Used for: documentation and transparency regulatory basis.
A8. U.S. FDA (2023). Cybersecurity in Medical Devices: Premarket Submissions; FD&C Act §524B. — Used for: medical device SBOM regulatory basis.
A9. Ministry of Science and ICT, National Intelligence Service, and KISA (2026). Software Supply Chain Security Enhancement Roadmap for an Era of Everyday AI; Basic Act on the Development of Artificial Intelligence and the Establishment of Trust, etc. — Used for: domestic regulatory basis.
8. Structure of This Series
This article is the starting point of a five-part series. It carries the matrix above into operational documents for the three usage contexts, together with the toolset strategy that supports them.
1 - Supplier AI BOM Submission Requirements
Requirements for the AI BOM that a supplier providing AI models or systems to your organization must submit. Defines the standard data format, the information that must be included, identifier rules, and the requirements for licensing, provenance, and sensitivity.
This article was written with Claude Code, and the key facts cited here were cross-checked against primary sources.
This document defines the requirements for the AI Bill of Materials (AI BOM) that a supplier providing AI models or AI systems to your organization must submit. It extends the existing Software Bill of Materials (SBOM) submission requirements to models and datasets, and the required items were derived from the supplier column of the AI BOM Field Requirements Matrix.
The AI BOM must be submitted in a machine-readable standard format. The following two formats are accepted.
| Format | Version | AI representation | Notes |
|---|
| SPDX | 3.0 or later | AIPackage in the AI Profile, DatasetPackage in the Dataset Profile | Specifies model and dataset fields most tightly |
| CycloneDX | 1.6 or later | machine-learning-model and data component types, modelCard | Strong on vulnerability (VEX) linkage |
Both formats are accepted on equal terms, but SPDX 3.0, which enforces the required properties of models and datasets at the format level, is recommended. CycloneDX below 1.6 and SPDX 2.x have no AI-specific profile and are not accepted as submission formats.
The following items must be included in every submitted AI BOM. Items whose values cannot be confirmed must not be left blank; they must be marked explicitly as “unknown.”
| Item | Description |
|---|
| Author | The entity that generated the AI BOM. The formal name of the operating entity, not the tool |
| Data format name | SPDX or CycloneDX |
| Data format version | e.g., SPDX 3.0.1, CycloneDX 1.6 |
| Timestamp | Date and time of the last update (ISO 8601 or RFC 9557) |
| Dependency relationships | Containment and derivation relationships among components |
| Item | Description |
|---|
| System name | An identifiable name for the supplied AI system |
| System components | The AI models, databases, and software included in the system |
| System producer | The entity that created the system |
| System version | The version of the supplied system |
| Item | Description |
|---|
| Model name | The name assigned by the model producer |
| Model identifier | A machine-readable identifier such as a PURL or CPE |
| Model version | The version of the model |
| Model producer | The entity involved in pretraining, post-training, or fine-tuning |
| Model license | The license type, including whether it is open weight, and a link to the license document |
| Item | Description |
|---|
| Dataset name | The name of the dataset used for training or evaluation |
| Dataset identifier | The dataset URL or URI |
| Dataset provenance | Source, collection method, preprocessing and labeling steps, and whether synthetic data was used |
| Dataset sensitivity | Whether personally identifiable information, copyrighted data, or other sensitive data is included |
| Dataset license | The dataset license type and a link to the document |
| Item | Description |
|---|
| Vulnerability referencing | A link to the database or repository providing known vulnerability information for the model and system |
Vulnerability referencing is optional under the consensus criteria, but it is treated as required for supplier submissions because the Cyber Resilience Act and U.S. Food and Drug Administration (FDA) guidance require it directly.
3. Identifier Rules
Models and datasets must be identified with machine-readable standard identifiers.
- Model identifiers use a Package URL (PURL) or Common Platform Enumeration (CPE). Native identifiers such as a model repository path or commit hash may be provided alongside these.
- Dataset identifiers use an accessible URL or URI.
- If multiple identifiers exist, all of them must be included.
4. Strengthened Requirements for Licensing, Provenance, and Sensitivity
Unlike existing software SBOM requirements, the AI BOM enforces the following three items with particular strictness.
Licensing must be stated separately for the model weights and the dataset. The submission must distinguish whether the model is open weight, open architecture, or open data, and must provide a link to the license document. Dataset provenance must go beyond a simple source statement to include the collection method (web crawling versus a commercial agreement), preprocessing and labeling steps, and whether synthetic data was used. Dataset sensitivity must indicate whether personally identifiable information, copyrighted data, or sensitive data such as financial or medical data is included.
5. Sample Document
The following is a minimal AI BOM skeleton in CycloneDX 1.6 format. An actual submission must fill in all the required items from Section 2 above.
{
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"metadata": {
"timestamp": "2026-06-29T09:00:00Z",
"authors": [{ "name": "Supplier legal name" }],
"component": { "type": "application", "name": "Supplied AI system", "version": "1.0.0" }
},
"components": [
{
"type": "machine-learning-model",
"name": "Supplied model name",
"version": "1.0",
"bom-ref": "pkg:huggingface/org/model@1.0",
"supplier": { "name": "Model producer" },
"licenses": [{ "license": { "id": "Apache-2.0" } }],
"modelCard": {
"modelParameters": {
"datasets": [
{ "type": "dataset", "name": "Training dataset name", "classification": "public",
"governance": { "owners": [{ "organization": { "name": "Data source" } }] } }
]
}
}
}
],
"vulnerabilities": []
}
6. Pre-Submission Verification Checklist
Suppliers must confirm the following before submission.
- Is the format SPDX 3.0 or later, or CycloneDX 1.6 or later?
- Are all required items from Section 2 filled in, or explicitly marked “unknown”?
- Are the model and dataset identified with standard identifiers?
- Is a license stated for both the model weights and the dataset?
- Are dataset provenance and sensitivity indicated?
- Is a vulnerability reference link provided?
- Was it generated at a point in time after the build or model release was complete?
For detailed inspection criteria, see the Ingestion Vetting Checklist.
2 - AI BOM Authoring Guidelines for In-House Development Teams
Guidelines for the AI BOM that in-house development teams must produce when building an AI model or system. Drawing on the information accessibility available at the point of production, this sets out the required and recommended fields to fill and how to record integrity and provenance.
This article was written with Claude Code, and the key facts cited here were cross-checked against primary sources.
This document sets out the guidelines for the AI Bill of Materials (AI BOM) that in-house development teams must produce when building an AI model or AI system. Information accessibility is at its best at the point of production, so this document sets the required level at its highest. The required fields are drawn from the production column of the AI BOM Field Requirements Matrix.
Much of the information that the production team fails to record can never again be obtained by the adopting team or by parties further down the supply chain. For that reason, model and dataset details that the consensus baseline treats as optional are recommended for production-time authoring.
1. Authoring Principles
The AI BOM is generated after model training or system build completes. The lifecycle stage at the time of generation (pre-build, build, or post-build) is recorded in the metadata. Use SPDX 3.0 or later, or CycloneDX 1.6 or later, as the format, and where possible generate it automatically with a generation tool, then fill in the missing items by hand.
Fields whose value cannot be determined must be marked “unable to confirm” rather than left blank. Whenever a model or dataset is updated, the AI BOM version and timestamp are updated together.
2. Required Fields
The following must always be filled in. These are the items for which two or more standards in the matrix require presence.
| Cluster | Required fields |
|---|
| Metadata | Author, data format name, data format version, timestamp, dependency relationships |
| System level | System name, system components, system producer, system version |
| Model | Model name, model identifier, model version, model timestamp, model producer, model license |
| Dataset | Dataset name, dataset contents, dataset identifier, dataset provenance, dataset license |
3. Recommended Fields
The following are optional under the consensus baseline, but since they can only be recorded accurately at the point of production, authoring them is recommended. If model cards and data cards are maintained, their contents should in particular be linked to the AI BOM.
| Cluster | Recommended fields | Reason to author |
|---|
| Metadata | SBOM version, author signature, tool name and version, generation context | Securing integrity and traceability |
| System level | Data flow, data usage, input/output properties, intended application domain | Basis for downstream risk assessment |
| Model | Model description and lineage, model hash value and algorithm, model properties, input/output properties, training properties, external references | Reproducibility and integrity verification, linkage to model cards |
| Dataset | Dataset description, dataset hash, statistical properties, dataset sensitivity, dependency relationships | Basis for data lawfulness and risk assessment |
| Security and metrics | Security controls, security assertions, vulnerability references, security metrics, operational metrics | Linkage to cybersecurity risk management |
4. Model Hashes and Integrity
The model hash value and algorithm are optional under the consensus baseline, but the recommendation is strong. Recording the hash of the weight file or model artifact lets downstream parties verify model integrity. For the hash algorithm, use hash function names from the Internet Assigned Numbers Authority (IANA), and use algorithms approved by the National Institute of Standards and Technology (NIST).
5. Dataset Provenance and Sensitivity
The production team knows the provenance of the training dataset best. Record the source, the collection method, the preprocessing and labeling steps, and whether synthetic data was used, and indicate whether personally identifiable information, copyrighted data, or sensitive data is included. This information serves as the basis for meeting the training data documentation obligations of the AI Act and the training data overview requirements of Korea’s Framework Act on Artificial Intelligence.
6. Post-Authoring Checklist
- Are all the required fields in Section 2 filled in?
- Among the recommended fields in Section 3, have those obtainable from model cards or data cards been linked?
- Are licenses stated separately for the model weights and for the dataset?
- Is the lifecycle stage at the time of generation recorded?
- When the model or dataset is updated, are the version and timestamp updated as well?
3 - Ingestion Vetting Checklist for External Models and Datasets
A checklist for vetting transparency and risk, on the basis of the AI BOM, when bringing in and using an external AI model or dataset. Checks identification, licensing, data lawfulness, and security risk step by step.
This article was written with Claude Code, and the key facts cited here were cross-checked against primary sources.
This checklist sets the criteria for vetting transparency and risk, on the basis of the AI Bill of Materials (AI BOM), when an in-house development team brings in and uses an external AI model or dataset. The items to check are drawn from the ingestion column of the AI BOM Field Requirements Matrix.
Because the purpose of an ingestion check is to bring a model in rather than to build one, fields that feed directly into risk assessment are prioritized. Licensing is the basis for judging compliance risk, provenance and sensitivity for judging data lawfulness and privacy risk, and vulnerability references for judging security risk.
- Is an AI BOM provided for the object being ingested?
- Is the format SPDX 3.0 or later, or CycloneDX 1.6 or later?
- Does the AI BOM’s timestamp match the version of the object being ingested?
If no AI BOM is provided, or the format lacks an AI-specific profile, request one from the supplier before ingestion, or secure the minimum information independently.
2. Identification and Version (Required Check)
| Check item | Assessment criterion |
|---|
| Model name and identifier | Is it identified by a standard identifier (PURL/CPE)? |
| Model version | Does it match the version being ingested? |
| Dataset name and identifier | Is the training dataset identified? |
| System name and version | Is the delivered system identified, with a version stated? |
| System components | Are the included components enumerated? |
| Dependency relationships | Are the relationships between components stated? |
3. License Check (Required Check)
| Check item | Assessment criterion |
|---|
| Model license | Is a license stated, and is it compatible with our intended use? |
| open weight status | Confirm whether it is open weight, open architecture, or open data |
| Dataset license | Is the training dataset’s license stated, and is it compatible with the intended use? |
An empty license field, or one that conflicts with the intended use, is grounds to hold off on ingestion. Because the model license and the dataset license are separate matters, check each independently.
4. Data Lawfulness and Risk (Required Check)
| Check item | Assessment criterion |
|---|
| Dataset provenance | Are the source, collection method, and preprocessing steps stated? |
| Dataset sensitivity | Is the presence of personally identifiable information, copyrighted data, or sensitive data stated? |
| Model description and lineage | Are the model’s limitations and its lineage from prior models described? |
If the dataset’s provenance is unclear, or whether it contains sensitive data is not stated, data lawfulness and privacy risk must be assessed separately.
5. Security Risk (Required Check)
| Check item | Assessment criterion |
|---|
| Vulnerability references | Are links to known vulnerability information provided, and are the known vulnerabilities acceptable in the ingestion environment? |
Vulnerability references are directly required by the Cyber Resilience Act and by US Food and Drug Administration guidance, so this is checked as required during ingestion vetting.
6. Recommended Checks
The following are checked additionally when the risk level is high or the use case is subject to regulation.
- Model timestamp and producer
- Model properties, input/output properties, training properties
- Model hash value and algorithm (integrity verification)
- Dataset contents and hash
- System data flow and data usage
- Whether the intended application domain matches our intended use
7. Ingestion Determination

Figure 5. Ingestion determination flow (synthesized from research)
If all the required check items in Sections 1 through 5 above are satisfied, the determination is ingestion approved. If any one of a license conflict, unclear provenance, undisclosed sensitive data, or an unacceptable vulnerability applies, the determination is held, and the supplier is asked to remedy the gap or an alternative model is considered.
The determination result is recorded together with the ingested object’s AI BOM identifier, version, and determination date, for use in subsequent reassessment and supply chain tracing.
4 - AI BOM Toolset Design Strategy
Surveys seven tool categories through their official repositories and documentation to lay out what to reuse, extend, or build new; the build order; the policy schema for codifying the matrix; and the Dependency-Track integration architecture.
This article was written with Claude Code, and the key facts cited here were cross-checked against primary sources.
Based on a survey of seven tool categories through their official repositories and documentation, this document lays out what to reuse from existing tools, what to extend or build new, in what order to build it, and what policy schema should define the matrix. The acquisition strategy was not fixed in advance but determined from the survey results, and the premise is that the organization already operates an existing SBOM platform (Dependency-Track).
1. Three Core Judgments
The standard path for generation, verification, storage, and model scanning already works with open source software. The aibom command in cdxgen actually produces CycloneDX 1.6 AI BOMs, sbomqs and OPA check field conformance, Dependency-Track ingests the software layer, and ModelScan and sigstore model-signing reinforce model integrity. There is no need to build everything from scratch in-house.
Standardizing the format on CycloneDX 1.6 is the more realistic choice. The SPDX 3.0 AI Profile has richer expressive power, but no mature tool actually generates it, and Dependency-Track cannot ingest SPDX. SPDX 3.0 is kept as a standard to track, while CycloneDX is set as the primary operational format.
Where new construction is unavoidable is narrow and clear: the policy layer that checks AI-specific fields, an inventory that treats models and datasets as first-class objects, and the determination of license usage restrictions. Everything else is covered by reuse or extension.
2. Reuse Determinations by Area
| Functional Area | Representative Tool | Determination | Basis |
|---|
| AI BOM generation (CycloneDX) | cdxgen aibom | Reuse | Automatic CycloneDX 1.6 AI BOM generation works (under active development as of this research) |
| AI BOM generation (SPDX 3.0) | spdx-tools | Not viable | 3.0 support is experimental write-only, with no AI Profile generation support |
| Deep-field auto-extraction | None | New | Cannot automatically fill in dataset statistics, bias, hashes, or license |
| Validation/conformance engine | sbomqs, sbom-utility | Reuse | Provides general-purpose field-presence checking and scoring |
| AI- and role-specific conformance rules | None | New | No off-the-shelf profile exists that checks the G7’s 50 elements and role-specific required sets |
| Repository/inventory (SW layer) | Dependency-Track | Reuse | Software dependency inventory and impact analysis are mature |
| Repository/inventory (model/data layer) | Dependency-Track | Extension pending | Does not yet ingest the machine-learning-model and data classifiers or modelCard (issue #4361, open as of this research) |
| Vulnerability matching (SW dependencies) | Dependency-Track, OSV | Reuse | Already connected; ML libraries are matched as ordinary packages too |
| Risk feed (model-specific) | huntr, Insights | Extend | CVEs issued by huntr flow in via NVD; there is no direct connector |
| Model serialization scanning | ModelScan, Fickling | Reuse | Mature; can be inserted into CI via JSON reports and exit codes |
| Integrity/signing | sigstore model-signing | Reuse | Uses DSSE and in-toto, which map onto BOM integrity and provenance fields |
| Data poisoning detection | None (research stage) | Replaced with traceability | No production tool exists; provenance and integrity records substitute for a detection guarantee |
| License identification/declaration | ScanCode, ORT + SPDX/HF dictionaries | Reuse + extend | Reuse the engine; the AI license dictionary needs to be augmented |
| License usage-restriction determination | None | New | No standard exists for machine-readable, automated determination of RAIL-family conduct restrictions |
| Policy codification | OPA/Rego, sbomqs YAML | Reuse | Express the matrix by separating policy files per role |
In summary, of the thirteen areas, seven are reuse, three are extension, and three are new. The three new areas — AI- and role-specific conformance rules, the model/data inventory, and license usage-restriction determination — are where this project’s unique value is concentrated.
3. Build Priority
P0 — A Minimal Working Pipeline (Reuse-Focused)
The first step is to wire together off-the-shelf tools into an end-to-end pipeline. Generation produces CycloneDX 1.6 with cdxgen aibom, model files are scanned with ModelScan and signed with sigstore, and the results are uploaded to Dependency-Track to obtain software-layer vulnerabilities and impact analysis. Validation checks the presence of required fields with an sbomqs custom policy. Almost all of this stage is reuse, so it delivers value quickly.
P1 — Extending the AI-Specific Layer
The next step adds new value. Codify the matrix into a policy schema to implement role-specific conformance checking (Section 4), and carry models and datasets through CycloneDX properties or external references to secure inventory traceability. Augment the license pipeline with an AI license dictionary (RAIL, OpenRAIL, Llama, Gemma, OpenMDW, CDLA), and receive model risk as huntr CVEs relayed through NVD.
P2 — New and Research Areas
Last are the parts where standards and research still need to mature. Automatic extraction of deep fields such as dataset statistics or bias, automatic determination of license usage restrictions, and data poisoning are handled through provenance and integrity traceability instead of detection. Bring SPDX 3.0 generation on board once the tool ecosystem matures, but for now keep it only as a standard to track. When Dependency-Track’s support for model/data classifiers (issue #4361) lands, promote P1’s workaround to a first-class inventory.
4. Policy Schema Design
Defining the matrix’s “element x required/optional x role” as a machine-readable policy is the core of this toolset. Since the survey found no tool that treats role-specific required sets as a first-class concept, this must be designed directly. It is split into two layers.
4.1 Field Registry
A table mapping each of the G7’s 50 elements to a CycloneDX path (and, eventually, an SPDX path) is kept in one place. The AI BOM Field Requirements Matrix already contains an element-by-element source mapping, so moving it into a machine-readable form looks like this.
# field-registry.yaml — maps G7 elements to BOM paths
model_license:
g7: Model license
cyclonedx: "components[?type=='machine-learning-model'].licenses"
spdx: "Relationship(hasDeclaredLicense) from AIPackage"
dataset_provenance:
g7: Dataset provenance
cyclonedx: "components[?type=='data'].data[].governance"
spdx: "DatasetPackage.originatedBy / dataCollectionProcess"
vulnerability_referencing:
g7: Vulnerability referencing
cyclonedx: "vulnerabilities[] or externalReferences[?type=='vcs']"
spdx: "VulnAssessmentRelationship"
4.2 Role-Specific Policy Files
The required set for each of production, ingestion, and supplier is kept as a separate policy file. This simply carries over the role column of the matrix.
# policy/supplier.yaml — required elements for supplier submission (Section 4.6, 20 supplier-required elements)
required:
- sbom_author
- sbom_data_format_name
- sbom_data_format_version
- sbom_timestamp
- sbom_dependency_relationship
- system_name
- system_components
- system_producer
- system_version
- model_name
- model_identifier
- model_version
- model_producer
- model_license
- dataset_name
- dataset_identifier
- dataset_provenance
- dataset_sensitivity
- dataset_license
- vulnerability_referencing
recommended:
- model_timestamp
- dataset_content
- model_hash_value
4.3 Determination Engine
Two engines are recommended together. For a quick start, an sbomqs custom policy (YAML) puts the role-specific files into operation today with no engine to learn, converting the fulfillment rate into a score. Where expressiveness is needed, OPA/Rego (conftest) branches on the input BOM’s role value to determine the required set. Because Rego follows the field registry’s paths to evaluate presence, it can express conditional requirements and cross-field consistency as well.
# policy/aibom.rego — skeleton for role-specific required-field checking
package aibom
deny[msg] {
role := input.metadata.properties[_].value # e.g. "supplier"
req := data.policy[role].required[_]
not field_present(req)
msg := sprintf("Required element missing: %s (role: %s)", [req, role])
}
OSCAL is a tool built for expressing security controls, which makes it more than SBOM fields need, and it does not execute validation on its own, so it is not adopted. It is worth considering only if there arises a need to produce upper-level artifacts for regulatory or audit purposes (a requirements catalog, an assessment result report) in a federal-friendly format.
5. Reference Architecture and Dependency-Track Integration
The BOM for an AI system splits into a software dependency layer and a model/dataset layer. Dependency-Track handles the former layer right now, and does not yet accept the latter as a first-class citizen (issue #4361 is open as of this research and may change later). Integration is therefore split by layer.

Figure 4. The common pipeline and the two layers it splits into after validation (compiled from the survey)
The software layer needs almost no extra work. cdxgen turns an ML project’s PyPI or npm dependencies into CycloneDX, which is uploaded to Dependency-Track, correlating vulnerabilities against OSV and NVD and even providing impact analysis for “which projects use this component?” CVEs that huntr issued for ML libraries are also caught, passing through NVD.
The model/dataset layer is routed around until classifier support arrives. In the short term, models and datasets are uploaded as generic components, while core model card fields are carried through CycloneDX properties or external references to preserve them. Discoverability is limited, but traceability is preserved. Threats unique to model files (unsafe pickle, backdoored weights) don’t fit the CVE matching model, so they are checked separately with ModelScan and the results are linked to policy or tickets.
6. Limitations and Items Requiring Verification
The tool facts in this strategy were confirmed against each project’s official repository and documentation. The following require reconfirmation before adoption.
The licensing area carries the risk of a mismatch between what is declared and what is actually true. The so-called permissive-washing risk, in which the license declared on a platform diverges from the actual component license of the model or dataset, is well known, and it compounds an existing limitation: existing software license tools cannot parse model cards or dataset cards, or trace training data provenance. This toolset does not promise automatic detection for this and leaves verifying the match between declared license and actual output as a new-build target.
The timing of Dependency-Track’s support for model/data classifiers (#4361) is an external schedule outside our control. Because P1’s model/data inventory depends on this schedule, it should be designed with the workaround (preserving properties) as the default, promoting to first-class inventory once classifier support lands.
GUAC’s AI-specific handling, OSV’s model-specific record scheme, and any connector letting Dependency-Track directly consume huntr Insights and ModelScan results are all confirmed absent or unverifiable. No standard yet links model risk feeds and SBOM inventories, so this connection has to be filled with custom glue code.
There is no production tool for data poisoning detection. This toolset does not promise automatic poisoning detection and limits itself to traceability and preventive controls that record data provenance, hashes, and whether verification passed.
7. References
The tool determinations in this article were confirmed against each project’s official repository and documentation as primary sources. All access dates are 2026-06.
A1. CycloneDX / cdxgen Project. cdxgen — AI/ML BOM generation and the aibom CLI, --spec-version. https://github.com/CycloneDX/cdxgen (accessed 2026-06). — Used for: basis that cdxgen’s aibom automatically generates CycloneDX 1.6 AI BOMs.
A2. CycloneDX. Machine Learning Bill of Materials (ML-BOM) Capability Overview. https://cyclonedx.org/capabilities/mlbom/ (accessed 2026-06). — Used for: standard basis that CycloneDX 1.6 defines machine-learning-model and modelCard.
A3. SPDX. SPDX 3.0.1 — AI Profile Specification. https://spdx.github.io/spdx-spec/v3.0.1/model/AI/AI/ (accessed 2026-06). — Used for: basis that the SPDX 3.0 AI Profile exists at the specification level (expressiveness comparison).
A4. SPDX. tools-python (spdx-tools) — 3.0 experimental write-only, not recommended for production. https://github.com/spdx/tools-python (accessed 2026-06). — Used for: basis that no mature tool exists to generate the SPDX 3.0 AI Profile.
A5. interlynk-io. sbomqs — Policy Guide (custom policy, required type, feature scoring). https://github.com/interlynk-io/sbomqs/blob/main/docs/guides/policy.md (accessed 2026-06). — Used for: basis that sbomqs enforces field presence via custom policy and converts it into a conformance score.
A6. Open Policy Agent. Conftest — OPA/Rego policy evaluation for configuration files. https://github.com/open-policy-agent/conftest (accessed 2026-06). — Used for: basis that CycloneDX/SPDX JSON can be evaluated with Rego to branch role-specific required sets.
A7. OWASP Dependency-Track. Policy Compliance Documentation (condition types, regex values). https://docs.dependencytrack.org/usage/policy-compliance/ (accessed 2026-06). — Used for: basis that the Dependency-Track policy engine centers on license, vulnerability, and component coordinates, with policies configurable per project/tag.
A8. DependencyTrack. Issue #4361 — Request to support CycloneDX 1.5/1.6 classifiers (machine-learning-model, data). https://github.com/DependencyTrack/dependency-track/issues/4361 (accessed 2026-06). — Used for: basis that Dependency-Track does not yet ingest the model/data classifiers or modelCard (open as of this research).
A9. Protect AI. ModelScan — Static Scanner for Model Serialization Attacks (JSON reports, exit codes). https://github.com/protectai/modelscan (accessed 2026-06). — Used for: basis that model file serialization scanning is mature enough to insert into CI.
A10. Sigstore / OpenSSF. model-transparency (model-signing) — DSSE + in-toto Model Signing. https://github.com/sigstore/model-transparency (accessed 2026-06). — Used for: basis that model signing and provenance attestation map onto BOM integrity and provenance fields.
A11. Z. Tian et al. (2025). Data Poisoning in Deep Learning: A Survey. https://arxiv.org/html/2503.22759v1 (accessed 2026-06). — Used for: basis that data poisoning detection remains at the research stage with no general-purpose production tool.
A12. AboutCode. ScanCode Toolkit — License and Copyright Text Matching Engine. https://github.com/aboutcode-org/scancode-toolkit/ (accessed 2026-06). — Used for: basis for reusing the license identification engine while noting that AI license text needs to be added.
A13. Responsible AI Licenses (RAIL). FAQ / BigScience OpenRAIL-M — Use-Based Restrictions That Propagate to Derivatives. https://www.licenses.ai/faq-2 (accessed 2026-06). — Used for: basis that no standard exists for machine-reading and automatically determining RAIL-family conduct restrictions.
A14. LF AI & Data. Simplifying AI Model Licensing with OpenMDW. https://lfaidata.foundation/blog/2025/07/22/simplifying-ai-model-licensing-with-openmdw/ (accessed 2026-06). — Used for: basis that OpenMDW, a permissive license bundling models, data, and weights, is listed with SPDX (a candidate for the AI license dictionary).
A15. Protect AI. huntr — Bug Bounty and CNA for AI and ML. https://huntr.com/ (accessed 2026-06). — Used for: basis that CVEs issued by huntr flow into Dependency-Track matching via NVD.
A16. Google and OpenSSF. OSV.dev — Open Source Vulnerability Database. https://osv.dev/ (accessed 2026-06). — Used for: basis that OSV includes ML library vulnerabilities but does not record model-weight-specific risks themselves.
A17. Trail of Bits. Fickling — Static Analysis Tool for Pickle. https://github.com/trailofbits/fickling (accessed 2026-06). — Used for: basis for a high-risk pickle deep-inspection tool.
A18. OSS Review Toolkit. ORT — License Compliance Orchestration. https://github.com/oss-review-toolkit/ort (accessed 2026-06). — Used for: basis for reusing the policy rule engine and SBOM reporter.
A19. OpenSSF. GUAC — SBOM Graph and Impact Analysis. https://guac.sh/ (accessed 2026-06). — Used for: basis that it is an option for reinforcing impact analysis, while AI-specific handling remains unverified.