Skip to content

Secure Artifact Attestation Profile by Scale

Last updated: 2026-05-24

This page defines the secure artifact chain for MLOps systems that train, label, evaluate, package, serve, and release autonomy artifacts. It extends software supply-chain controls into ML-specific assets: model weights, ONNX exports, TensorRT engines, serving manifests, semantic-map layers, map-hygiene sidecars, dataset manifests, prompt packs, evaluator models, replay packs, containers, and release packets.

The core rule is that signing proves integrity only after the organization defines what identity, builder, inputs, evidence, and policy are trusted. A signed but unreviewed artifact is not release evidence. A model registry entry without digest-bound provenance is not enough for a vehicle, map publication, or safety case. Use model-registry-artifact-lifecycle-by-scale.md to define which registry records, lifecycle states, aliases, artifact-set memberships, and rollback retention policies the attestations must bind to.


Why Attestation Matters for MLOps

Autonomy releases combine software, data, learned parameters, maps, runtime configuration, calibration, and evidence. A conventional container security program answers only part of the question. MLOps must also prove:

  • which raw logs, labels, map layers, prompt packs, and evaluation sets were used;
  • which code, dependency lock, container base, builder, GPU class, and workflow produced the artifact;
  • whether the artifact was scanned, reviewed, approved, and promoted under the right authority;
  • whether the digest deployed at runtime is the same digest that passed evaluation and safety review;
  • whether a registry alias, serving manifest, OTA manifest, map bundle, or runtime contract can be rolled back to a previous trusted set.

The failure mode is not only a malicious image. It is also a stale TensorRT engine, a changed class order, an unsigned prompt pack, a dataset snapshot with wrong allowed-use state, a semantic map built from an unaccepted source map, or a release packet whose evidence cannot be reconstructed after an incident.


Artifact Scope

ArtifactWhy it needs attestationMinimum subject digest
Training containerDefines code, dependencies, CUDA/cuDNN, Python packages, and build environmentOCI image digest
Inference containerDefines runtime behavior, preprocessing, post-processing, message schemas, and diagnosticsOCI image digest
Model checkpointLearned parameters can change vehicle behavior or label generationCheckpoint file digest
ONNX exportExport can change graph semantics, preprocessing, dynamic axes, or unsupported opsONNX file digest
TensorRT engineEngine is hardware/runtime-specific and may not match evaluated checkpointEngine file digest plus target hardware/runtime
Semantic map layerPublished map semantics affect localization, planning, monitoring, and training exportsSemantic-map manifest digest
Map-hygiene layerRemoval decisions can delete permanent structure or retain dynamic residualsHygiene sidecar digest
Dataset manifestTraining and eval claims depend on exact raw/log/label/split lineageManifest digest plus data product ID
Label batchLabels can enter training, replay assertions, map QA, or safety evidenceLabel export digest
Prompt or labeler packPrompt/model/retrieval changes alter generated labels and reportsPrompt-pack manifest digest
Evaluator or judge packEvaluation rules can approve or reject candidatesEvaluation-pack manifest digest
Replay/scenario packRelease gates depend on exact scenario and expected evidenceReplay manifest digest
Release packetApproval state joins all evidence into a deployable claimRelease packet digest

Treat an artifact as release-affecting when it can influence a deployed model, map, label set, evaluation result, monitoring threshold, or safety-case claim.


Scale Profile

ScaleRequired controlPractical implementationDo not overbuild
S0 notebook researchPreserve provenance for reusable resultsGit commit, environment lock, dataset pointer, run note, local checksumsEnterprise PKI, admission policy
S1 repeatable prototypeRebuildable baselineContainer image digest, dataset manifest digest, metric script digest, checksum fileMulti-tenant policy engine
S2 single-product productionSigned deployable artifacts and release packetSigned container/model/export/map artifacts, SBOM, build provenance, registry alias approvalContinuous deployment without explicit promotion
S3 fleet and multi-siteSite/ODD-scoped artifact trustPer-site release manifests, tenant/site IAM boundary, signed labeler/map/replay artifacts, chargeback tagsOne global trust policy for every site
S4 regulated safety-criticalEvidence-locked provenanceSLSA-style provenance, dual approval, trusted builder, immutable evidence store, retention hold, rollback attestationTicket-only approval records
S5 platform scalePolicy-enforced multi-tenant trust chainCentral attestation service, policy-as-code, registry admission, audit API, exception workflow, platform scorecardsPlatform self-service that bypasses product safety authority

The profile should grow with artifact authority. A research checkpoint can be identified by a checksum and run note. A champion model, runtime map, or safety-relevant labeler must be digest-pinned, signed, linked to provenance, and verified before alias movement or deployment.


Attestation Types

AttestationWhat it provesML-specific fields to include
Build provenanceWho built the artifact, where, from which source and workflowSource repo, commit, workflow/run ID, builder image, base image, dependency lock, config hash
SBOMComponents in a software artifactPython wheels, CUDA/TensorRT packages, OS packages, ROS packages, model-serving libraries
VEX or vulnerability dispositionWhether known vulnerabilities are exploitable or acceptedRuntime exposure, GPU driver dependency, mitigation owner, expiry
Dataset lineageWhich data products and splits were consumedRaw log IDs, calibration IDs, map IDs, label schema, allowed-use state, privacy tier
Model card or model provenanceWhat model was trained, evaluated, and intended forArchitecture, task, class order, preprocessing, training run, metrics, limitations
Export/optimization attestationWhether ONNX/TensorRT conversion preserves intended behaviorSource checkpoint digest, exporter version, target hardware, precision, calibration cache, parity test
Map QA attestationWhether source/semantic map artifacts passed publication gatesSource-map acceptance ID, tile QA, hygiene metrics, release-state confusion, localization replay
Labeler/prompt attestationWhether auto-label outputs came from approved labeler artifactsPrompt pack, model endpoint/checkpoint, retrieval corpus, thresholds, reviewer workflow
Evaluation attestationWhether release metrics came from the approved eval suiteDataset/replay IDs, metric code, slice definitions, thresholds, waiver state
Approval attestationWho authorized promotion and under what scopeArtifact set hash, ODD/site scope, approvers, expiry, rollback target

Use standard formats where possible. SLSA provenance and in-toto statements are appropriate for build-chain evidence. SPDX or CycloneDX are appropriate SBOM formats. ML-specific evidence can be attached as custom in-toto predicates when the predicate schema is controlled and versioned.


Trust Chain Architecture

StageControlRelease implication
SourceProtected branch, code owner, dependency lock, reviewed configUnreviewed source cannot produce release artifacts
BuildEphemeral or controlled builder, OIDC identity, pinned base images, isolated secretsProvenance names the workflow and builder identity
PackageDigest-pinned OCI images, model files, map manifests, prompt packs, replay packsEvery artifact has immutable subject digest
SignSigstore/Cosign, KMS-backed key, or private PKI according to environmentSignature identity is bound to policy
AttachSBOM, provenance, vulnerability disposition, eval, map QA, model cardEvidence follows the artifact digest
RegisterModel/map/eval/labeler registry stores digest, metadata, aliases, and approval stateRegistry alias cannot point to unknown digest
VerifyCI, registry gate, Kubernetes admission, OTA/SUMS, edge startup, audit queryDeployment uses verified artifact set, not tags
ObserveRuntime telemetry reports active artifact IDs and compatibility hashIncidents can reconstruct active trust state
Roll backPrevious signed and verified artifact set remains availableRollback is an executable state, not a hope

The verification boundary should be close to the behavior boundary. A build job can verify provenance before publishing. A release gate can verify before alias movement. Kubernetes or an edge orchestrator can verify container admission. OTA/SUMS can verify before activation. Vehicle startup can report active digests for incident response.


Registry and Alias Policy

Model registries are useful only when aliases are tied to evidence. At S2+, alias mutation should be a policy-checked state transition:

Alias or stateRequired attestation before move
candidateTraining run provenance, dataset manifest, model digest, basic metric report
shadowRuntime package digest, export/engine parity, replay smoke, rollback target
canarySite/ODD release manifest, compatibility hash, canary entry criteria
championRelease packet, approver record, safety/replay evidence, monitoring and rollback plan
rollbackKnown-good artifact set, compatibility proof under active runtime, retained package
quarantinedIncident/evidence freeze record and reason code

The registry should not allow a mutable tag such as latest to stand in for release identity. Use aliases for human workflow, but bind every alias to immutable digests and policy evidence.


Policy Enforcement Patterns

PatternAdvantagesDisadvantagesBest fit
Checksum manifest onlySimple, works offline, low overheadNo identity, weak automation, easy to bypassS0-S1 reproducibility
Signed artifact with manual reviewClear integrity check, simple release recordReview can miss missing provenance or wrong scopeS2 first production
Cosign/Sigstore keyless signingGood CI identity binding and transparency-log workflowRequires correct identity policy and offline/private deployment planningCloud CI and container/model artifacts
KMS/private PKI signingStrong enterprise control, air-gapped compatibleKey lifecycle burden, weaker public transparency unless addedRegulated or private infrastructure
SLSA/in-toto provenanceStructured build-chain evidence, policy-friendlyNeeds disciplined predicate schemas and trusted buildersS2-S5 build and release gates
SBOM plus vulnerability dispositionSupports security review and patch responseSBOM alone does not prove artifact origin or ML data lineageContainers, Python packages, ROS stacks
Kubernetes admission policyBlocks untrusted runtime workloads automaticallyCovers Kubernetes workloads, not every OTA/edge/map pathCloud/edge services and training clusters
OTA/SUMS manifest verificationDirectly protects vehicle/map activationNeeds integration with model/map/calibration compatibilityVehicle and managed-site rollout
Registry policy-as-codeScales across teams and tenantsCan become a bottleneck if exceptions are slowS4-S5 platform scale

The right pattern is usually layered: signed artifacts plus provenance at build time, registry policy at promotion time, admission policy at runtime, and OTA/SUMS verification at vehicle activation.


MLOps-Specific Verification Gates

GateVerification questionBlock condition
Training startAre code, container, dataset, labels, and secrets allowed for this run?Dataset allowed-use or privacy tier does not match task
Training completionDoes output model digest match recorded run, config, dataset, and hardware?Missing run provenance or mutable dataset pointer
Export/optimizationDoes ONNX/TensorRT artifact derive from the approved checkpoint?Engine built from a different checkpoint, CUDA/TensorRT version, or calibration cache
EvaluationWere metrics computed on approved splits/replay packs with matching artifact set?Eval data leakage, stale replay pack, or metric code mismatch
Map publicationWas semantic map produced from accepted source map and approved hygiene state?Source-map acceptance, release-state labels, or tile QA missing
Label promotionWere labels produced by registered labeler/prompt/evaluator and reviewer workflow?Unregistered prompt pack, retrieval corpus, or threshold set
Registry aliasDoes candidate have all required attestations for target alias?Alias movement without release packet or rollback target
Deployment admissionIs the runtime image/package signed, digest-pinned, and policy-compliant?Unsigned image, untrusted signer, missing SBOM, or mutable tag
Vehicle activationDoes compatibility hash match model/map/calibration/runtime/telemetry evidence?Artifact set differs from evaluated release packet
Incident reviewCan active artifact IDs and evidence be reconstructed?Telemetry omitted active digests or evidence was garbage-collected

These gates should fail closed once an artifact can affect a customer, vehicle, map publication, safety evidence, or production label set.


Airside and Non-Road Managed-Site Notes

For airside, campus, port, yard, warehouse, mining, construction, and service-district mapping, attestation must cover map and label artifacts as rigorously as model files.

  • Semantic-map layers should carry source-map acceptance, tile manifest, taxonomy, segmentation model, projection/calibration, map-hygiene metrics, and QA evidence.
  • Static-but-transient exclusions need reason-coded sidecars so a stationary person, parked GSE, construction barrier, or temporary sign does not become permanent map structure.
  • VLM/open-vocabulary labels remain candidate evidence until prompt/model/retrieval/reviewer attestations and taxonomy promotion approve their allowed use.
  • Site-specific release manifests should bind artifact sets to airport, yard, warehouse, campus, route, ODD cell, vehicle kit, and map state.
  • Edge startup and fleet telemetry should report active compatibility hashes so incident response can query exactly which model/map/runtime/calibration set was active.

The same digest-bound evidence pattern applies whether the input is LiDAR, imagery, radar, fused BEV, map tiles, or text/retrieval context. Inputs can differ; trust boundaries must stay explicit.


Minimum Metadata Schema

FieldRequired meaning
artifact_idHuman-readable stable ID
subject_digestImmutable digest of the signed artifact
artifact_typeModel, container, map, prompt, label batch, dataset, eval pack, release packet, etc.
producer_identityCI OIDC identity, service account, human approver, or signing key identity
source_refsGit commit, dataset IDs, label batch IDs, map IDs, prompt pack IDs, dependency lock
builderWorkflow, runner class, build image, build timestamp, hardware class if relevant
materialsBase images, packages, checkpoints, calibration files, source maps, retrieval corpus
predicate_typeProvenance, SBOM, eval, map QA, labeler, approval, vulnerability disposition
policy_resultPass/fail, policy version, exception ID, owner, expiry
allowed_scopeSite, ODD cell, vehicle cohort, data tier, runtime target, release alias
rollback_targetPrior compatible artifact set and cache state
retention_classEvidence retention and legal/safety hold state

This metadata can begin as a checked manifest and later move into a registry or catalog. The important property is digest-bound linkage, not the database brand.


Failure Modes

Failure modeConsequenceControl
Signature accepted without identity policyAny trusted-looking signer can publish unsafe artifactsVerify signer identity, issuer, repo, workflow, and policy version
Mutable tag is signed instead of digestRuntime can pull a different image than the evaluated oneRequire digest pinning and tag-to-digest mutation
SBOM is not bound to artifact digestSecurity review may describe a different artifactAttach SBOM as digest-bound attestation
Provenance comes from untrusted runnerBuild can be tampered with before signingUse trusted builder, isolated secrets, protected workflows
Model signed but engine rebuilt laterDeployed TensorRT engine differs from evaluated checkpointSign/export attest engine with source checkpoint and parity test
Dataset manifest points to mutable dataRebuild and audit produce different training setUse immutable snapshots and split hashes
Prompt pack is unversionedAuto-labels or incident summaries drift silentlyRegister prompt/model/retrieval/evaluator artifacts
Release packet omits map/calibration IDsCandidate passes eval against the wrong runtime contextCompatibility hash over full artifact set
Registry alias moved outside release processChampion points to artifact without approvalPolicy gate alias mutation and audit every change
Evidence retention is shorter than audit needIncident review cannot reconstruct decisionRetention class and legal/safety hold attached to artifact

  • mlops-scale-research-scope.md - maturity ladder and research backlog.
  • mlops-reference-architectures-by-scale.md - where artifact trust belongs in S0-S5 architectures.
  • model-registry-artifact-lifecycle-by-scale.md - registry identity, alias authority, lifecycle states, and rollback retention for signed artifacts.
  • serving-inference-operations-by-scale.md - serving manifests, endpoint/batch/edge traffic policy, package parity, endpoint security, and rollback verification.
  • platform-sre-reliability-by-scale.md - attestation/signing service SLOs, key recovery, backup/restore, incident response, and audit durability.
  • mlops-scorecards-and-kpis-by-scale.md - attestation metrics and release blockers.
  • model-governance-release-evidence.md - release packets, aliases, and rollback evidence.
  • offboard-labeler-registry-by-scale.md - labeler, prompt, evaluator, and retrieval artifacts.
  • llmops-agent-evaluation-by-scale.md - prompt, RAG, judge, tool-agent, trace, and GenAI evaluation controls.
  • gpu-queueing-finops-by-scale.md - queueing and cost controls for trusted build/eval capacity.
  • ../data-platform/data-catalog-lineage-quality-ops.md - lineage and data-product promotion states.
  • ../ota/perception-slam-artifact-compatibility-matrix.md - activation-time artifact-set compatibility.
  • ../ota/software-update-management-system-ops.md - SUMS-style software/update governance.
  • ../../20-av-platform/compute/training-infrastructure.md - training infrastructure and secure workers.
  • ../../40-runtime-systems/software-operations/on-vehicle-supply-chain-runtime-security.md - runtime supply-chain controls.

Sources

Public research notes collected from public sources.