robotics-security

Harden ROS2 robot systems with SROS2 encryption, network segmentation, and safety isolation.

Updated Aug 16, 2026
One-click install
npx skills add https://github.com/three1324/yeonjinautomotive --skill robotics-security-three1324
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: robotics-security
Source: https://github.com/three1324/yeonjinautomotive/tree/main/.claude/skills/robotics-security
Command: npx skills add https://github.com/three1324/yeonjinautomotive --skill robotics-security-three1324

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Robots running default ROS2 configurations expose unauthenticated command topics, open DDS discovery ports, and hardcoded credentials, turning cyber vulnerabilities into physical safety risks. This Skill provides concrete configurations and code to secure robot communications, hosts, containers, and safety systems. ## Core Features & Use Cases - SROS2 and DDS Security: Generate keystores and per-node enclaves, write governance and permissions XML, and enforce least-privilege topic access control. - Network and Host Hardening: Segment control, data, and management planes with VLANs and iptables rules, disable DDS multicast, and lock down SSH with key-only auth and fail2ban. - Physical-Cyber Safety: Design hardwired e-stop circuits, isolated safety controllers, velocity validation gates, and hardware watchdogs that survive software compromise. - Use Case: Before deploying a fleet of ROS2 Humble robots, use this Skill to enable SROS2 with Enforce strategy, configure per-node permissions so a compromised camera driver cannot publish to /cmd_vel, and set up automated monthly certificate rotation. ## Quick Start Ask the assistant to generate an SROS2 keystore with per-node enclaves and least-privilege permissions XML for your robot's nodes.

Frequently Asked Questions about robotics-security

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enable SROS2 security on ROS2 nodes?

Create a keystore with ros2 security create_keystore, generate per-node enclaves, then set ROS_SECURITY_KEYSTORE, ROS_SECURITY_ENABLE=true, and ROS_SECURITY_STRATEGY=Enforce in your launch file's environment. Enforce rejects unauthenticated participants at the DDS layer.

How do I restrict which nodes can publish to /cmd_vel?

Write a permissions XML granting publish rights on /cmd_vel only to authorized enclaves like teleop and navigation, with default DENY. Under SROS2 Enforce, a compromised node such as a camera driver cannot publish velocity commands.

Should I disable DDS multicast in production robot networks?

Yes. Multicast auto-discovery exposes the full topic graph to any passive listener. Configure CycloneDDS with AllowMulticast false and explicit unicast peer lists, or set initialPeersList in FastDDS.

Why did my ROS2 nodes stop discovering each other after enabling security?

A common cause is expired certificate validity in the permissions XML. Once not_after passes, participants are rejected at discovery time with no topic-level error. Track expiry like TLS certificates and rotate enclaves on a schedule.

Can a software e-stop over a ROS2 topic be the only safety mechanism?

No. A network or compute failure would disable the stop path. The e-stop must be a hardwired circuit that cuts motor power through a safety relay, with software triggers only as an additional layer.

How do I run ROS2 containers securely?

Use a non-root USER, read_only root filesystem, no-new-privileges, drop all capabilities, and mount only the node's keystore enclave read-only. Scan images with trivy and sign them with cosign before deployment.