AgentBOM Specification v1
Scope & goals
AgentBOM (Agent Bill of Materials) is a vendor-neutral, machine-readable format for declaring what an AI agent is composed of: models, tools, skills, data access, permissions, and provenance. This specification defines the v1 document structure and semantics.
Conformance
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in RFC 2119.
A conforming AgentBOM document MUST validate against the JSON Schema at /schema/agentbom-v1.schema.json using the canonical dependency-free verifier.
Document structure
Every AgentBOM document is a JSON object with required top-level fields bomFormat, specVersion, and metadata. Optional sections describe models, tools, skills, data access, permissions, provenance, and detached signatures.
Field reference
The table below is maintained in apps/web/src/content/spec/fields.ts, validated against _brief/schema/agentbom-v1.schema.json via npm run generate:fields.
| Field | Type | Required | Description |
|---|---|---|---|
| bomFormat | string | Yes | Identifies the document as an AgentBOM. MUST be the literal string 'AgentBOM'. |
| specVersion | string | Yes | The AgentBOM specification version this document conforms to. |
| serialNumber | string | No | A unique identifier for this specific AgentBOM document, expressed as an RFC 4122 URN UUID. |
| version | integer | No | The revision of this AgentBOM document for a given serialNumber. Starts at 1 and increments on each re-issue. |
| metadata | object | Yes | Document metadata including the agent being described. |
| metadata.agent | object | Yes | The subject of this AgentBOM: the agent being described. |
| models | array | No | The models the agent uses, including primary, embedding, verifier, and guardrail models. |
| tools | array | No | Tools and connectors the agent can invoke, including MCP servers, A2A agents, and external APIs. |
| skills | array | No | Reusable capabilities or skills installed into the agent. |
| dataAccess | array | No | Data sources the agent reads from or writes to, with classification and residency. |
| permissions | object | No | Coarse-grained operational permissions and guardrails for the agent. |
| provenance | object | No | How and from what sources this agent and its AgentBOM were produced (SLSA / in-toto aligned). |
| signatures | array | No | Detached digital signatures over the canonical form of this document (excluding the signatures array itself). |
Identifiers & versioning
specVersion identifies the specification version (currently 1.0). serialNumber SHOULD be a URN UUID identifying the document instance. version increments when re-issuing a document with the same serial number.
Signing & integrity
Documents MAY include a signatures array with detached digital signatures over the canonical form (excluding the signatures array itself). Supported algorithms: ed25519, ecdsa-p256, ecdsa-p384, rsa-pss-sha256.
Canonical form
Before signing or verifying a signature:
- Remove the top-level
signaturesproperty from the document. - Serialize the remaining object to canonical JSON:
- Object keys sorted lexicographically (UTF-16 code unit order).
- No insignificant whitespace.
- Omit properties whose value is
undefined. - Arrays preserve element order.
- Reject non-finite numbers (
NaN,±Infinity).
- Sign the UTF-8 encoding of the canonical JSON string with the declared algorithm.
Reference implementation: @agentbom/verify exports canonicalizeForSigning(doc). The browser playground validates document structure; cryptographic signature verification uses the same canonical bytes as CI.
Extension fields
Organization-specific extensions MUST use an x- prefix and MUST NOT alter the meaning of standard fields. Extensions are permitted via JSON Schema patternProperties.
Security considerations
- AgentBOM documents MUST NOT contain secrets, API keys, or credentials.
- Verify signatures before trusting document contents in high-assurance contexts.
- Validate documents against the canonical schema before processing.
Relationship to SBOM
AgentBOM complements software SBOM formats (CycloneDX, SPDX) by describing AI agent composition rather than binary artifacts. See Mappings for cross-reference guidance.