Robotics & ROS Security - Complete Guide

May 24, 2026 · View on GitHub

Modern robots run on the Robot Operating System (ROS / ROS 2) and a stack of DDS, embedded Linux, real-time controllers, perception ML models, and industrial fieldbuses. They blur the line between IT, OT, and AI — and they move in the physical world. This file covers the full robotics security landscape: ROS internals, attack surface, pentesting tools, checklists, known CVEs, frameworks, and the best community resources.


Table of Contents


Overview

A robot is a cyber-physical system: a network of nodes exchanging sensor and actuation messages over a middleware (ROS, DDS, or vendor-proprietary), running on an embedded OS, often connected to a cloud fleet manager and/or an industrial network.

A robot compromise is not just data theft — it can crash drones, derail mobile robots into people, or weld where there shouldn't be a weld.

Key facts:

  • ROS is the de-facto open-source robotics middleware, maintained by Open Robotics.
  • ROS 1 was designed without security in mind. It's plaintext, unauthenticated, and trivial to attack on a flat network.
  • ROS 2 uses DDS (Data Distribution Service) as transport. Security is optional via the DDS-Security spec, exposed in ROS 2 as SROS2.
  • The Robot Vulnerability Database (RVD) is the largest robot-specific flaw registry (280+ flaws, 236 ROS 2 weaknesses), maintained by Alias Robotics.

Learn more:


Robot Security Attack Surface

LayerComponentsTypical Weaknesses
HardwareJTAG, UART, USB, SD, CAN, EtherCAT, I²C, SPIExposed debug ports, glitching, sensor spoofing
Firmware / OSEmbedded Linux (Ubuntu, Yocto), RTOS, bootloaderDefault creds, world-writable files, missing secure boot
MiddlewareROS 1 master, ROS 2 / DDS, MQTT, ZeroMQNo auth (ROS 1), DDS misconfig, plaintext topics
ApplicationROS nodes, services, parameter server, .launch/.yamlParam poisoning, node spoofing, deserialization bugs
Perception / AILiDAR, RGB/RGBD cameras, IMU, ML modelsAdversarial inputs, sensor spoofing, model tampering
NetworkWi-Fi, 4G/5G, Ethernet, BluetoothOpen services, weak Wi-Fi, no segmentation from IT/OT
Cloud / FleetVendor cloud, web dashboards, REST/MQTT bridgesOWASP Top 10, weak API auth, exposed endpoints
Physical / SafetyE-stops, safety PLCs, motor controllersBypassable safety logic, unsafe defaults

ROS 1 vs ROS 2 Security Model

ROS 1 — Insecure by Design

  • Central ROS Master on TCP 11311 (XML-RPC).
  • No authentication. Any node on the network can register, subscribe, publish, or de-register others.
  • No encryption. Everything is plaintext over TCPROS/UDPROS.
  • XML-RPC injection and node hijacking are trivial.
  • Mitigations are network-layer only: VPN, VLAN segmentation, IPsec.

ROS 2 — Security Optional via SROS2 / DDS-Security

  • Uses DDS (RTPS) — distributed, no master.
  • DDS Security plugins (Authentication, Access Control, Cryptographic) provide PKI-based identity, signed permissions, AES-GCM encryption.
  • Exposed in ROS 2 as SROS2 CLI tooling: ros2 security create_keystore, create_enclave, etc.
  • Common failures: SROS2 disabled in dev/prod, wrong ROS_DOMAIN_ID, missing access control policies, permissive governance.xml.
  • Reference: SROS2 docs, DDS Security spec (OMG).

Pentesting Tools for Robots & ROS

ROS-Specific

ToolPurposeLink
ROSPenToXML-RPC pentest tool for ROS Master & nodes — enumerates and manipulates the ROS graphgithub.com/jr-robotics/ROSPenTo
ROSploitTwo-phase recon + exploit framework for ROS 1github.com/seanrivera/rosploit
roschaosChaos engineering / fault injection across the ROS graphgithub.com/ruffsl/roschaos
Robosploit (Alurity)Robotics exploitation framework by Alias Roboticsaliasrobotics.com/alurity.php
HAROSStatic analysis framework for ROS C++/Python codebasesgithub.com/git-afsantos/haros
rosmapAuto-discovers ROS Master endpointsgithub.com/aliasrobotics/aztarna
aztarnaFootprinting tool for ROS, SROS, industrial routersgithub.com/aliasrobotics/aztarna
RVDPRobot Vulnerability Database CLIgithub.com/aliasrobotics/RVD
RSF (Robot Security Framework)Methodology + tooling for robot assessmentsgithub.com/aliasrobotics/RSF

Exploitation Frameworks

Network / DDS Analysis

Hardware Pentesting

Static & SBOM

Fuzzing


Robot Pentesting Checklists

1. Network & ROS Graph

  • Identify ROS version (ROS 1 vs ROS 2) and middleware (Fast-DDS, Cyclone, RTI Connext).
  • Scan for ROS Master XML-RPC on TCP 11311.
  • Enumerate all topics, services, parameters: rostopic list, rosservice list, rosparam list.
  • List active nodes and inspect their connections: rosnode list / rosnode info.
  • For ROS 2: probe RTPS discovery on UDP 7400-7500; enumerate participants with ros2 node list, ros2 topic list.
  • Check ROS_DOMAIN_ID segregation and cross-domain leakage.
  • Verify whether SROS2 / DDS-Security is enabled and policies (governance/permissions XML) are signed.
  • Attempt node spoofing: register a malicious node with the Master and intercept topics.
  • Attempt topic poisoning: publish on safety-critical topics (/cmd_vel, /joint_states).
  • Test MITM on TCPROS / RTPS where no encryption is enforced.

2. Hardware

  • Identify and probe JTAG, SWD, UART, USB-OTG, SD card interfaces.
  • Attempt firmware dump via debug interface or SPI flash readout.
  • Probe CAN / CANopen / EtherCAT buses for unauthenticated motion commands.
  • Inspect I²C / SPI sensor lines for tamper / spoofing potential.
  • Check for secure boot, signed firmware, and TPM/secure-element presence.

3. Firmware & OS

  • Fingerprint OS (Ubuntu, Yocto, ROS distro).
  • Test for default or hardcoded credentials (vendor, SSH, web UI).
  • Look for SUID binaries, world-writable dirs, lax sudoers (CWE-276).
  • Check for outdated apt/pip/rosdep packages with known CVEs.
  • Verify SBOM exists and is current; run Syft + Grype.
  • Test for race conditions in init scripts (CWE-362).
  • Inspect /etc/ros/, ~/.ros/, and launch files for hardcoded secrets.

4. Application & ROS Graph (Logic)

  • Parameter server poisoning — read/write sensitive params (/rosparam).
  • Launch file injection — substitute .launch / .yaml to load attacker nodes.
  • Deserialization — fuzz custom .msg parsers (esp. user-defined types).
  • DoS — topic flooding, parameter storms, RTPS announcement spam.
  • Service abuse — enumerate rosservice endpoints for unauthenticated command exec, e-stop bypass, motion override.
  • Check for command injection in service handlers shelling out (os.system, subprocess).

5. Auth, Access Control & Web

  • Verify ROS 1 deployment is on an isolated, segmented network.
  • Confirm SROS2 enclaves are scoped to least privilege.
  • Robot web dashboard / REST / WebSocket bridge (rosbridge_suite) — apply OWASP Top 10 (authN/Z, CSRF, IDOR, SSRF).
  • Test rosbridge WebSocket on port 9090 for unauthenticated topic publishing.
  • Check TLS hygiene on every HTTPS/MQTT endpoint.

6. AI / Perception

  • Inventory perception models (object detection, SLAM, voice).
  • Test adversarial robustness of camera/LiDAR pipelines.
  • Verify model file integrity (signatures, hashes) on disk.
  • Check for unprotected model update / OTA channels.

Known CVEs & Robot Vulnerabilities

ROS 1 Core

IDDescriptionReference
RVD#87Lack of authentication in ROS computational graph — node impersonation & topic hijackRVD#87
RVD#88Lack of encryption in ROS comms — plaintext sniffing of all topicsRVD#88
CVE-2019-13445ROS ros_comm denial-of-service via crafted XMLRPCNVD

ROS 2 / Nav2 / DDS

IDComponentDescriptionReference
CVE-2024-37861nav2_amcl (Nav2 Humble)Buffer overflow via crafted .yaml triggering RCENVD
CVE-2024-41648navigation2 (Humble)Insecure file permissions enable arbitrary code executionNVD
CVE-2022-30262 ... 30276eProsima Fast-DDS, RTI Connext, OpenDDSSeries of DDS RTPS implementation bugs (parsing, DoS, memory)Alias Robotics DDS

MiR Industrial Mobile Robots

IDDescriptionReference
CVE-2020-10264 ... 10280Bundle of MiR controller flaws: insecure Ubuntu defaults, race conditions (CWE-362), permission errors (CWE-276), default creds, exposed servicesCVE-2020-10279

Universal Robots (UR3 / UR5 / UR10)

IDDescriptionReference
CVE-2020-10266Insecure default settings on UR controllersNVD
CVE-2020-10290Unauthenticated remote code execution on UR endpoint — used in red-team chains to fully compromise ROS networkNVD
CVE-2020-10291 / 10292Missing authentication & weak crypto on URCaps/Modbus interfacesAlias UR study
RVD#1495UR robot endpoint code execution, ROS pivotRVD

ABB Industrial Robots

IDDescriptionReference
CVE-2020-10281 ... 10287ABB controller / RobotWare flaws — missing auth, weak protocols, control parameter tamperingAlias CNA

Softbank NAO / Pepper Social Robots

IDDescriptionReference
CVE-2020-10268, 10275 ... 10289NAOqi services exposed without authentication; remote takeover of social robotsAlias CNA

Other Notables

  • Trend Micro "Rogue Robots" (2017) — first major paper showing how to tamper with control parameters, calibration, and safety logic on ABB/Kuka/Fanuc/Yaskawa. Report
  • Boston Dynamics Spot — rosbridge exposure research — see talks at DEF CON / Black Hat (2022-2024).
  • Tesla Optimus, Unitree G1/H1 — recent reverse engineering and firmware analysis efforts by independent researchers.

📚 Authoritative registry: Robot Vulnerability Database (RVD) — 280+ flaws, 236+ ROS 2 weaknesses.


Notable Robot Security Incidents & Research

YearIncident / PaperSummaryLink
2017Trend Micro — Rogue RobotsFirst end-to-end attack chain on industrial arms (ABB, Kuka)Paper
2018IOActive — Hacking Robots Before Skynet50+ flaws in NAO, Pepper, UR, BaxterIOActive
2019Alias Robotics — Robot Vulnerability Database launchFirst public robot CVE registryDiscourse
2020MiR / UR / ABB CVE waveCoordinated disclosure of dozens of robot CVEsAlias as CNA
2022DDS RTPS bug classSeries of CVEs across all major DDS vendorsAlias DDS
2024Nav2 buffer overflow (CVE-2024-37861)First RCE in ROS 2 Nav stack via crafted YAMLNVD
2024-2025Humanoid robot reversingIndependent researchers reversing Unitree G1, Tesla Optimus firmware(various talks)

AI / Perception Layer Attacks

Modern robots run ML for vision, planning, and dialog. New attack classes:

  • Adversarial examples — physical-world patches that fool object detectors (e.g., stop-sign attacks on autonomous robots).
  • Sensor spoofing — laser glare on LiDAR, ultrasonic injection on MEMS, GPS spoofing on outdoor robots.
  • Data poisoning — manipulating training datasets for fleet-learned models.
  • Model integrity attacks — tampering with on-device .onnx / .pt / .engine files; missing signatures.
  • Prompt injection on LLM-controlled robots — emerging issue for VLA (Vision-Language-Action) models like RT-2, Figure-01 stack, OpenVLA.
  • Backdoored foundation models — trojan triggers in pretrained vision/LLM backbones.

Reading:


Industrial Robot Specifics

  • Remote modification of control parameters / calibration — tiny offsets cause defective parts or unsafe motion (Trend Micro).
  • Safety PLC bypass — light curtains, e-stops, and safety zones controlled by separately certified safety PLCs; check whether they can be reached or overridden from the standard network.
  • Network pivot — a compromised cell controller is often the bridge from IT to the deep OT network.
  • Vendor remote-access tools (KUKA WorkVisual, ABB RobotStudio, Fanuc Roboguide) — historically weak auth, often exposed for "remote support".
  • Fieldbuses: EtherCAT, PROFINET, CANopen, EtherNet/IP — typically unauthenticated; treat as inside the trust boundary.

Pivot reading: ICS Security guide in this repo.


Standards, Frameworks & Hardening

Standard / FrameworkScopeLink
ISO 10218-1/-2Industrial robot safetyISO 10218
ISO/TS 15066Collaborative robots (cobots) safetyISO 15066
IEC 62443Industrial automation & control systems securityIEC 62443
NIST SP 800-82 Rev.3Guide to OT security (covers robotics)NIST
MITRE ATT&CK for ICSTTPs applicable to industrial robotsattack.mitre.org/matrices/ics
SROS2 / DDS-SecurityNative ROS 2 security modelSROS2
Robot Security Framework (RSF)Methodology for robot security assessmentsgithub.com/aliasrobotics/RSF
OWASP IoT Top 10Applies to robot web/cloud surfacesOWASP IoT
ENISA — RoboticsEU agency guidanceENISA Robotics

Hardening Quick Wins

  • Disable ROS 1 in production; if unavoidable, air-gap or VPN-only.
  • Enable SROS2 with signed governance / permissions XML.
  • Pin a unique non-default ROS_DOMAIN_ID per deployment.
  • Disable rosbridge or front it with auth + TLS.
  • Secure boot + signed firmware; encrypted filesystem on removable media.
  • Network segmentation: separate safety, control, perception, cloud VLANs.
  • Continuous SBOM scanning (Syft + Grype).
  • Subscribe to ROS Security Vulnerability Disclosures (REP-2006).

Research Papers


Communities & Disclosure


Ultimate Robotics Security Resources

Books

  • Robot Operating System (ROS) for Absolute Beginners — Lentin Joseph.
  • Hands-On ROS for Robotics Programming — Bernardo Ronquillo Japón.
  • Industrial Cybersecurity — Pascal Ackerman (covers OT/robotics).

Courses & Trainings

CTFs & Labs

  • Alurity — modular toolbox for robot cybersecurity labs.
  • ROS-Industrial Training — base for security lab builds.
  • Gazebo + custom red-team scenarios for safe robot exploitation practice.

Newsletters / Blogs


🤝 Contribute: PRs welcome — add CVEs, tools, write-ups, or new research. See CONTRIBUTING.md.

🛡️ Maintained as part of Awesome Connected Things Security by IOTSRG.