glitched docs

Describe a robot: what affects it?#

Describe your device once in plain terms (no CVE or EMB3D knowledge needed) and get a ranked list of the vulnerabilities that apply to it, each with the reason it applies. Run these after loading the threat intel (next section).

glitched onboard          # 1. answer ~15 yes/no questions -> writes glitch.yaml
glitched exposure         # 2. re-check any time; anything new is flagged NEW
glitched scan --profile glitch.yaml --host <robot-ip> \
  --authorization "self-owned lab device"   # 3. verify on a lab device, scoped to your profile

Add detail to the profile at any time (merging never removes anything):

glitched profile import-sbom sbom.json      # CycloneDX or SPDX JSON
glitched profile detect --host <robot-ip>   # connect-only port scan; you confirm each suggestion
glitched exposure --refresh                 # re-pull MITRE + research CVEs first

glitch.yaml is plain YAML, so you can write it by hand or check it into your repo:

name: warehouse-amr-v3
platforms: [ros, unitree]          # ros, universal-robots, unitree, lerobot
ros_distro: humble                 # for ROS robots: decides which ROS CVEs apply
interfaces: [wifi, bluetooth, mqtt]
ml: true                           # also match MITRE ATLAS ML techniques
properties: [PID-41, PID-275]      # EMB3D ids; the questionnaire fills these in

A CVE applies when it names a platform the device is built on, or when NVD lists one of the SBOM's components as affected - and, if the SBOM gives a version, that version is in NVD's affected range. ROS is an ecosystem rather than one product, so for ROS robots set the distro (ros_distro: humble in glitch.yaml, or the onboarding question): core ROS CVEs then apply by ROS generation and distro, while CVEs about one package (nav2, MoveIt, ...) apply only when the SBOM lists it (Debian names like ros-humble-navigation2 are understood).

You don't need a formal SBOM: on the robot, run dpkg-query -W (or dpkg -l, pip freeze, ros2 pkg list) and paste the output into Robot details in the UI, or save it to a file and run glitched profile import-sbom packages.txt. Debian versions are compared by their upstream part (1:1.3.11-1jammy… → 1.3.11). CVEs in other products that merely share a keyword (Wi-Fi, MQTT, "ROS") are hidden; glitched exposure --related lists them, each with why.