Pass R155 Buyer Audits Without a Cert: A Supplier Playbook
Updated: August 2025 Who this is for: Swedish Tier-1 and Tier-2 teams that ship software or firmware into vehicles. Goal: Win buyer reviews with clear, repeatable proof.
How buyers run the review
They follow a simple path. You can match it.
Scope check. What product, what variants, what change.
Evidence scan. Do you have the right files and owners.
Deep dive. They trace one risk to code and back.
Open findings. They look for known CVEs and past incidents.
Decision. Green light, conditional, or rework.
What do buyers check first? A clean evidence index. You will ship that in the next section.
The 12 artifacts that get a "yes"
Ship these in a single folder. Use short names. Keep owners and dates on page 1.
Evidence Index (index.md). One line per artifact, owner, link.
Product Scope (scope.pdf). HW, SW, networks, data flows, variants.
Threat Analysis (tara.pdf). Risks ranked with SFOP and notes.
Cybersecurity Goals (goals.xlsx). Linked to hazards and assets.
Security Requirements (sec-reqs.xlsx). Trace to goals and tests.
Cryptography Register (crypto.xlsx). Algorithms, modes, key sizes, use.
Key and Secret Handling (keys.pdf). Generation, storage, rotation, roles.
Static Analysis Report (sast.pdf). Ruleset, findings, waivers.
Fuzz and Fault-Injection Log (fuzz.xlsx). Targets, hours, crashes, fixes.
Third-Party Register (oss.xlsx). License, version, owner, approval.
SBOM set (sbom.cdx.json, sbom.spdx.json). Produced on each build.
Release Gate Record (gate.pdf). 24 checks, sign-off, rollback proof.
Map the evidence to ISO 21434 parts
Part 4: Cybersecurity management. Owners, plan, reviews, training.
Part 5: Project-level plan. Activities per milestone and roles.
Part 6: Continuous risk management. Intake, triage, and fix loops.
Part 7: Risk assessment. TARA, assets, impact, attack paths.
Part 8: Concept. Cybersecurity goals linked to safety and functions.
Part 9: Product development. Requirements, design, and code controls.
Part 10: Production and operations. Keys, updates, incident flow.
Part 11: Incident response. Contacts, SLAs, test of the runbook.
Part 12: Work products. Index that ties the whole set together.
Mini-TARA example: DC-DC converter (low-voltage side)
Scope
24–96 V input, 12 V output rail, CAN and Ethernet, bootloader, OTA support.
Assets
Firmware image, boot keys, CAN gateway config, charging profile, logs.
Impact scale (SFOP)
Safety: Loss of steering assist, loss of braking assist, thermal event.
Financial: Warranty swap, recall risk, downtime.
Operational: Fleet immobilized, service network load.
Privacy: VIN and usage data exposed.
Attack paths
A1: Malicious CAN frames reach converter MCU and switch mode.
A2: OTA package replay installs an old image with a known bug.
A3: Debug UART left open in harness enables flash read.
A4: Ethernet update API takes unsigned images from a local tool.
A5: Supplier test key leaks and signs a build that reaches staging.
Top risks and controls
R1: Unsafe mode via CAN. Controls: IDPS on gateway, allowlist at converter, timing checks, HIL tests for abuse frames.
R2: Image rollback. Controls: Anti-rollback counter, image monotonicity in secure storage, test for forced downgrade.
R3: Debug readout. Controls: Production fuse set, no-debug build flag, acceptance test reads status and fails on "unlocked".
R4: Unsigned update. Controls: Boot ROM signature check, public key pinned in immutable store, CI blocks unsigned artifacts.
R5: Compromised test key. Controls: Separate key ladders for dev and prod, HSM for prod, weekly key usage report to owner.
Residual risk statement
All five risks tracked. R1 and R2 reduced to low. R3 medium on legacy units only. R4 low with measured boot. R5 medium until full HSM rollout in Q4.
Release gate: 24 checks that stop bad builds
Planning
Scope and variant list match the build tag.
Threat model updated for new code or new data flow.
Owners assigned for each control and test.
Code
Static analysis clean at target ruleset.
Memory-safety checks pass on changed files.
Cryptography register updated and reviewed.
Third-party
SBOM built.
No CVE with score ≥ 7.0 remains open without an approved waiver.
License allowlist holds for all packages.
Build
Reproducible build proof: checksum match on a clean runner.
Signing step runs on an isolated runner with short-lived keys.
Build artifact contains version, commit, and build time.
Test
Unit tests pass with coverage trend stable or rising.
Fuzz target runs for N hours with zero new crashes.
Fault-injection test on power and comms passes.
Abuse-case HIL tests pass on CAN and Ethernet.
Security review
High-risk changes reviewed by a named security owner.
Pen test delta assessed or waived with reason.
Operations
Rollback path tested from this exact image.
Update package monotonicity verified on device.
Key-use log reviewed by a second person.
Release record
Gate checklist signed with date and name.
Known issues listed with owner and due date.
Deployment plan with canary steps and stop-loss rule.
SBOM pipeline you can ship
Goal: Produce CycloneDX and SPDX on each build. Keep them with the artifact.
GitHub Actions (CycloneDX with cdxgen)
name: sbom
on:
push:
tags: ["v*"]
workflow_dispatch:
jobs:
cyclonedx:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- run: npm i -g @cyclonedx/cdxgen
- run: cdxgen -r -o sbom.cdx.json
- uses: actions/upload-artifact@v4
with:
name: sbom-cyclonedx
path: sbom.cdx.json
GitHub Actions (SPDX with Syft)
name: spdx
on:
push:
tags: ["v*"]
jobs:
spdx:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
syft . -o spdx-json > sbom.spdx.json
- uses: actions/upload-artifact@v4
with:
name: sbom-spdx
path: sbom.spdx.json
Policy: Block a release if either SBOM shows a CVE ≥ 7.0 without an approved waiver.
Copy-ready answers for buyer forms
Q: Do you run a cybersecurity risk process for this product? A: Yes. We run a live TARA linked to requirements and tests. We update it at each change request and at each release gate.
Q: How do you protect cryptographic keys? A: We split dev and prod keys. We store prod keys in an HSM. We log each use and review the log weekly.
Q: Can you roll back an unsafe update? A: Yes. Each update has a tested rollback. We keep the previous image and a recovery path on device.
Q: How do you manage third-party code? A: We build a CycloneDX and an SPDX SBOM on each tag. We run a CVE policy with a 7.0 cut line. We keep license approvals in a register.
Q: Who signs off the release? A: Product, security, and test leads sign the 24-point gate. Names and dates sit in the release record.
Templates to copy
Evidence index (index.md)
# Evidence Index – Project X
| Artifact | File | Owner | Date | Link |
|----------|------|-------|------|------|
| TARA | tara.pdf | A. Svensson | 2025-08-01 | /docs/tara.pdf |
| Goals | goals.xlsx | L. Karlsson | 2025-08-01 | /docs/goals.xlsx |
| Sec-Reqs | sec-reqs.xlsx | M. Nordin | 2025-08-02 | /docs/sec-reqs.xlsx |
| Crypto Register | crypto.xlsx | P. Ahmed | 2025-08-02 | /docs/crypto.xlsx |
| SBOM | sbom.cdx.json | Build Bot | 2025-08-03 | /artifacts/sbom.cdx.json |
| Release Gate | gate.pdf | B. Nyström | 2025-08-03 | /docs/gate.pdf |
Key and secret handling highlights
Hardware root for prod keys.
Short-lived signing certs.
No long-lived tokens on runners.
Two-person review on key use.
Quarterly restore test.
License allowlist sample
MIT, BSD-2, BSD-3, Apache-2.0, MPL-2.0, ISC, Zlib
Buyer trace walk-through
Pick one feature. Show the trace.
Feature: Thermal limit tweak.
Risk: Over-current on 12 V rail.
Goal: Keep current within safe range.
Requirement: Enforce limit at X A with Y ms response.
Design: Parameter range, fail-safe path, alarm.
Code link: Commit hash and file path.
Test: HIL test case with pass data.
Result: Pass, no drift from baseline.
This one page often wins the room.
Need help implementing this playbook for your automotive products? Book a consultation to discuss your R155 and ISO 21434 compliance strategy.
Leon Kalema
Cybersecurity Manager at InMotion AVS with 17+ years of experience. Specializing in automotive cybersecurity and AI security.