AgentBOM

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.

FieldTypeRequiredDescription
bomFormatstringYesIdentifies the document as an AgentBOM. MUST be the literal string 'AgentBOM'.
specVersionstringYesThe AgentBOM specification version this document conforms to.
serialNumberstringNoA unique identifier for this specific AgentBOM document, expressed as an RFC 4122 URN UUID.
versionintegerNoThe revision of this AgentBOM document for a given serialNumber. Starts at 1 and increments on each re-issue.
metadataobjectYesDocument metadata including the agent being described.
metadata.agentobjectYesThe subject of this AgentBOM: the agent being described.
modelsarrayNoThe models the agent uses, including primary, embedding, verifier, and guardrail models.
toolsarrayNoTools and connectors the agent can invoke, including MCP servers, A2A agents, and external APIs.
skillsarrayNoReusable capabilities or skills installed into the agent.
dataAccessarrayNoData sources the agent reads from or writes to, with classification and residency.
permissionsobjectNoCoarse-grained operational permissions and guardrails for the agent.
provenanceobjectNoHow and from what sources this agent and its AgentBOM were produced (SLSA / in-toto aligned).
signaturesarrayNoDetached 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:

  1. Remove the top-level signatures property from the document.
  2. 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).
  3. 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.