Skip to content
AutoST by Zyberum GmbH
Menu
ComparisonsTools

AutoST vs Open-Source UDS Tools: CaringCaribou, udsoncan, Scapy, can-utils

CaringCaribou, 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.

Updated This page as Markdown

In short

Open-source UDS tools (CaringCaribou, python-udsoncan, the Scapy automotive layer, can-utils) are free, well maintained and the right choice for exploring an ECU, writing a one-off script or learning the protocol. They stop where a team needs the same result on every release: session-aware enumeration with ODX or CDD names, reproducible fuzzing with crash detection, reports, SARIF and CI integration. That is what AutoST adds. If one engineer tests one ECU once, the free tools are enough.

What is the difference?

The open-source tools are building blocks for an engineer at a terminal. cansend and candump from can-utils put frames on the bus and show what comes back. python-udsoncan gives you a correct UDS client with typed services and exceptions, ideal for a script that reads DIDs or walks a session. Scapy’s automotive layers dissect and craft CAN, ISO-TP, UDS, DoIP and SOME/IP packets and ship scanners for services, DIDs and sessions. CaringCaribou bundles discovery, service and DID enumeration, a fuzzer and a SecurityAccess seed-randomness check into one command-line tool. All of them are free, documented and maintained by people who know the protocols.

AutoST is a product for a team that has to produce the same result repeatedly and show it to someone else. The test agent on the bench runs enumeration across sessions, names what it finds from your ODX or CDD, probes SecurityAccess with bounded attempts, fuzzes UDS and CAN with a stored seed and live crash detection, and reports the result as PDF, SARIF and a ranked Fix Plan, triggered from a dashboard, the REST API or a Bamboo build. The difference is not that AutoST knows a service the free tools do not. It is what happens around the request: state handling, naming, reproducibility, evidence and integration.

Side by side

Open-source UDS toolsAutoST
What it findsEndpoints, sessions, services and DIDs on a CAN ECU; seed randomness (CaringCaribou); anything you script with udsoncan or Scapy, including DoIP and SOME/IP packetsThe same surface plus session-aware classification, ODX/CDD-named DIDs and routines, write probing, SecurityAccess counters and delays, reproducible UDS and CAN fuzzing with crash detection, DoIP routing, SOME/IP service mapping, Android IVI checks
What it missesNothing in principle, everything in practice that nobody scripted: cross-session state, reproducibility, hang detection, naming, history, reportsLogic and chained attacks (a pentester’s job), FlexRay, LIN, HSFZ, firmware internals
Who does itAn engineer who knows Python, SocketCAN and the protocol; the script lives with that engineerTest and QA engineers through a dashboard; no scripting needed
Bench timeMinutes per probe, hours to assemble and debug a full run; repeat by hand each releaseMinutes for enumeration, hours for fuzzing, unattended; re-run by one click or a build step
CostFree; your engineer’s time and a CAN interfaceLicence per tested component, price on request after a demo
Fits a release cycleOnly if someone maintains the scripts and compares results by handYes, via API tokens, the Bamboo plugin and SARIF export into your tracker
Required byNothing; a recognised part of any tester’s kitNothing either; what standards ask for is testing with evidence, which either route can deliver
OutputConsole output, candump logs, whatever your script writesPDF report per run, SARIF 2.1.0, CSV and JSON, dated scan history, Fix Plan with status

Choose the open-source tools when

  • You are exploring. The first hour with an unknown ECU is candump, a few cansend frames and CaringCaribou’s uds discovery. Nothing beats that for understanding what is on the bus.
  • You need something the product does not do: a custom protocol on top of CAN, a manufacturer-specific service with its own framing, a quick DoIP packet with Scapy to check one hypothesis.
  • One engineer tests one ECU once and nobody needs a report. A script and a notebook are the right size for that.
  • You are learning. Reading udsoncan’s source teaches ISO 14229 better than the standard does.
  • The budget is zero. These tools are the reason a security test does not have to start with a purchase order.

Choose AutoST when

  • The same ECU comes back every sprint or in a dozen variants and the question is “did anything regress”, not “what is this”.
  • Results have to be defended: an auditor, an OEM or a customer wants to know what was tested, when, and what happened to each finding. Dated history, PDF and SARIF answer that; a folder of candump logs does not.
  • The team running the bench is test engineers, not security specialists. A dashboard with named DIDs from the CDD and a Fix Plan in plain language is what lets them run and read a security test.
  • Fuzzing has to be reproducible. A crash found by a random script at 3 a.m. is only useful if the same sequence can be replayed on the developer’s bench, with the payload history and the monitor that caught it.
  • The test should run in the pipeline and fail the build above a threshold, with JUnit XML in the build results.

Both together

Most teams we work with keep both. Scripts and CaringCaribou for the exploratory half hour on a new ECU and for the odd custom protocol; AutoST for the repeatable suite that runs on every release and writes the evidence. The REST API makes the hand-off easy: a script can trigger a scan and pull the JSON. If you only ever do the first half, the free tools are all you need and we will say so in the demo.

FAQ

Frequently asked questions

Does AutoST use these open-source tools internally?

The test agent has its own UDS, ISO-TP, DoIP and SOME/IP implementation, so it can run session-aware and reproducibly across CAN and Ethernet. Some test cases mirror published research, for example CaringCaribou on seed randomness, and we say so on the SecurityAccess page. The tools are good; we built for a different job.

Can I keep using my own scripts next to AutoST?

Yes, and you should. AutoST has a REST API, so a Scapy or udsoncan script can trigger a scan, pull the findings as JSON or SARIF and compare them with its own results. Teams usually keep scripts for the exploratory part and let AutoST do the repeatable part.

When are the free tools the better choice?

When you are learning UDS, exploring an unknown ECU for the first time, writing a proof of concept, or testing one ECU once with no reporting obligation. Also when you have no bench hardware yet: can-utils and a 30-euro SocketCAN adapter get you talking to an ECU in an afternoon.

Sources

Related pages

See it on your ECU

Not sure what your ECU programme needs?

Describe your ECUs, your bench and your release cadence in a 15-minute call. You get a clear recommendation, whether or not it involves AutoST.

  • A recommendation, not a sales pitch
  • What to automate and what to leave to a pentest
  • Free and without obligation
Tom Zaubermann

Your demo is withTom ZaubermannFounder of Zyberum, ex-lead of the VW InCar Security Testing Lab

Already trusted by Tier 1, Tier 2 suppliers and OEMs. References on request.

Call us: +49 176 439 17074automotive@zyberum.com

Or send us a message

We reply within one business day.

Call usGet a recommendation

Pick a time that suits you

Open in a new tab