Automated ECU Security Testing vs Manual Penetration Test
Automated ECU testing catches repeatable weaknesses on every build; a manual pentest finds logic flaws and chained attacks. What each finds, costs and when to use which.
Updated This page as Markdown
In short
Automated ECU security testing means software on the bench that enumerates the diagnostic surface, checks SecurityAccess, fuzzes UDS and CAN and writes the evidence, the same way on every firmware release. A manual penetration test means an engineer who reads the ECU, forms hypotheses and chains findings into an attack path. Automation wins on coverage, repeatability and regressions; the pentester wins on logic, context and anything without a known pattern. ISO/SAE 21434 asks for both, and neither replaces the other.
What is the difference?
Automated ECU security testing is software on the bench asking an ECU thousands of questions whose answer pattern is already known: which sessions open, which of the 255 service identifiers answer in each one, which DIDs are readable or writable, whether the SecurityAccess seed repeats, what happens to the ECU when an ISO-TP first frame claims an impossible length. A manual penetration test is an engineer asking questions nobody has written down: why does this routine exist, what does the bootloader accept after a reset, can the calibration interface be combined with a writable DID into a persistent change.
The two are not competitors. Automation produces coverage and evidence on every firmware version. The pentester produces understanding and finds the attack path that crosses components. A good ECU penetration test already contains both: the tester runs enumeration and fuzzing in the background and spends the paid days where tools are blind.
Side by side
| Automated ECU testing | Manual penetration test | |
|---|---|---|
| What it finds | Services reachable in the wrong session, readable and writable DIDs, weak or constant seeds, missing attempt counters, parser crashes and hangs under fuzzing, exposed XCP/CCP, DoIP routing to blocked ECUs, open SOME/IP services, ADB and debuggable apps on IVI units | Logic flaws in the diagnostic state machine, seed/key algorithms recovered from firmware, bootloader and update weaknesses, chains across interfaces, design errors in the security concept, anything novel |
| What it misses | Context, intent, chained attacks, firmware internals, anything without a pattern | Breadth at scale, regressions between tests, long fuzzing runs; limited by the booked days and the agreed scope |
| Who does it | Your test or QA engineers, with the ECU on a bench | External or internal security engineers with a scope and rules of engagement |
| Bench time | Minutes for enumeration, hours for fuzzing, unattended | Two to six weeks per ECU including reporting |
| Cost | Licence per tested component, price on request; the bench hardware you already have | 20,000 to 45,000 euros per ECU, typical range for Germany and the EU, not an offer |
| Fits a release cycle | Yes, on every build via API or CI plugin | No, a point in time, usually once per platform generation and after major changes |
| Required by | ISO/SAE 21434 Clause 10.4.2 [RC-10-12] recommends component testing with fuzzing and vulnerability scanning; UN R155 asks for appropriate and sufficient testing | ISO/SAE 21434 Clause 11 [RQ-11-01] names penetration testing for validation; OEM requirement sets and customer contracts |
| Output | PDF report per run, SARIF export, scan history, a ranked Fix Plan | A report with reproduction steps, severity in context, attack chains and fixes; a debrief and a retest |
Choose automated testing when
- You ship the same ECU in many variants or release firmware several times a year. Running the same checks by hand each time is slower, less consistent and nobody does it after the second release.
- The weakness class is one that tools are good at: sessions and services, DIDs, SecurityAccess counters and delays, robustness under malformed UDS and CAN traffic, DoIP routing, SOME/IP exposure, Android hardening.
- You need evidence more than a story. An auditor asking “what did you test, when and what happened to each finding” is better served by dated scan history and a SARIF file than by a PDF from two years ago.
- You have no budget for a pentest yet. Fix what automation finds first; a tester who spends paid days on a writable serial number DID is a waste of a pentest.
For regression testing and protocol robustness, automation is simply the better choice.
Choose a manual penetration test when
- The platform is new: a new microcontroller family, a new bootloader, a new diagnostic stack, a first Ethernet ECU. Somebody has to understand it before anything about it can be automated.
- The security goals involve logic: who may unlock which level, what the update path trusts, how the gateway decides what to route. No tool knows what is supposed to be allowed.
- A customer, an OEM or an assessor asks for a penetration test with a named tester and a method description. That is what Clause 11 of ISO/SAE 21434 means by validation.
- Findings have to be chained and judged. Automation reports a writable DID and a weak seed as two findings; a tester shows that together they give persistent code execution.
Both together
The sensible setup is automated testing on every build plus a manual penetration test per platform generation and before start of production, with the automated results handed to the tester. The tester skips the obvious, the days go into firmware, bootloader and chains, and the automated suite keeps watch between tests so the pentest report does not quietly expire.
Zyberum builds AutoST and still puts an engineer on every new platform. We are specific about what the product does: AutoST finds the known, the regressions and the crashes and writes the evidence. It is not a penetration test and we do not sell it as one. If a vendor promises you a full ECU pentest from a tool alone, ask who read the results.
FAQ
Frequently asked questions
Does AutoST replace a penetration test?
No. AutoST automates the repeatable part of ECU security testing: enumeration, SecurityAccess checks, fuzzing, DoIP, SOME/IP and IVI checks, with reports as evidence. A penetration tester still has to look at every new platform, because logic flaws and chained attacks need a person who understands what the ECU is for.
Can a pentest be skipped if the automated tests are clean?
Only if nobody requires one and the ECU has no security goals worth attacking. ISO/SAE 21434 Clause 11 names penetration testing for cybersecurity validation, and most OEM requirement sets ask for a test with a named tester. A clean automated run makes that pentest cheaper, not unnecessary.
What does each cost?
A manual ECU penetration test typically costs 20,000 to 45,000 euros per target, a typical market range for Germany and the EU, not an offer. AutoST is licensed per tested component and quoted after a demo. The difference in model matters more than the number: the pentest is a project, the automation is a fixed cost that runs on every release.
Sources
Related pages
- ComparisonsOne-Off Penetration Test vs Continuous ECU Security TestingA one-off pentest describes the ECU on one date; continuous testing watches every firmware release. What each delivers for ISO/SAE 21434 and UN R155, and how to combine.
- ComparisonsAutoST vs Open-Source UDS Tools: CaringCaribou, udsoncan, Scapy, can-utilsCaringCaribou, python-udsoncan, Scapy and can-utils are free and excellent for exploring an ECU. Where they stop, what AutoST adds, and when the free tools are enough.
- InsightsWhat an ECU pentest report should containThe sections an ECU pentest report needs so developers can fix and assessors can trace: scope, bench, reproducible findings, severity, evidence and re-test.
- PlatformEvidence for your 21434 work, on tap.How AutoST supports ISO/SAE 21434 and UN R155: fuzzing and vulnerability analysis for [RC-10-12], penetration-test evidence for [RQ-11-01], plus traceable reports.
- PlatformA dashboard in the browser, an agent on the bench.AutoST has three parts: a web dashboard, a backend that orchestrates and stores, and the Carbyne agent on your bench. See the scan flow from wiring an ECU to the fix.
