{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "robotmcp-ros-mcp-server",
  "component": "ros-mcp",
  "generated_at": "2026-09-25T02:17:32.956Z",
  "tracking_since": "2026-07-27",
  "counts": {
    "critical": 3,
    "security": 19,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0d1ad-906a-76e5-a869-29fae778be44",
      "kind": "check.verdict",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.none",
      "to_code": "cve.unpatched_critical",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "critical",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "path": "fastmcp",
        "refs": "[\"CVE-2026-32871\",\"CVE-2026-32871\"]",
        "seen": "85",
        "direct": "1",
        "package": "fastmcp",
        "version": "2.14.7",
        "assessed": "86",
        "resolved": "85",
        "severity": "high",
        "vulnerable": "[{\"name\":\"fastmcp\",\"version\":\"2.14.7\",\"depth\":1,\"path\":[\"fastmcp\"],\"refs\":[\"CVE-2025-64340\",\"CVE-2026-27124\",\"CVE-2026-32871\",\"CVE-2025-64340\",\"CVE-2026-27124\",\"CVE-2026-32871\"]}]",
        "tree_source": "registry",
        "tree_status": "resolved"
      },
      "occurred_on": "2026-09-24",
      "occurred_at": "2026-09-24 04:30:07.840851+00",
      "observed_since": "2026-09-23",
      "source": "scan",
      "summary": "Known CVEs (pass → fail)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a0d1ad-906a-76e5-a869-29fae778be44"
    },
    {
      "id": "chg_01a0d1ad-906b-788c-bf1e-ab2ac1eaf293",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2026-32871",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.unpatched_critical",
      "from_value": null,
      "to_value": "high",
      "materiality": "critical",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "CVE-2026-32871",
        "severity": "high"
      },
      "occurred_on": "2026-09-24",
      "occurred_at": "2026-09-24 04:30:07.840851+00",
      "observed_since": "2026-09-23",
      "source": "scan",
      "summary": "CVE-2026-32871 affects this package (high)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a0d1ad-906b-788c-bf1e-ab2ac1eaf293"
    },
    {
      "id": "chg_01a0d1ad-906c-7a5c-98e8-66ae03fa0c54",
      "kind": "score.status_changed",
      "family": "",
      "subject_kind": "score",
      "subject": "status",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": "scored",
      "to_value": "failed",
      "materiality": "critical",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "to": "failed",
        "from": "scored"
      },
      "occurred_on": "2026-09-24",
      "occurred_at": "2026-09-24 04:30:07.840851+00",
      "observed_since": "2026-09-23",
      "source": "scan",
      "summary": "Score status (scored → failed)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a0d1ad-906c-7a5c-98e8-66ae03fa0c54"
    },
    {
      "id": "chg_01a07a1c-16b8-7e19-9622-856c7932fb3d",
      "kind": "check.unverifiable",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_clean",
      "to_code": "supplychain.malware_inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "vendor_no_verdict"
      },
      "occurred_on": "2026-09-07",
      "occurred_at": "2026-09-07 04:24:16.13172+00",
      "observed_since": "2026-09-06",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a07a1c-16b8-7e19-9622-856c7932fb3d"
    },
    {
      "id": "chg_01a06f5e-431e-7683-be7e-aaf800c5851f",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-05",
      "occurred_at": "2026-09-05 02:20:43.573699+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a06f5e-431e-7683-be7e-aaf800c5851f"
    },
    {
      "id": "chg_01a06057-c81a-7d60-9415-d3916a507e7e",
      "kind": "check.verdict",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.tree_partial",
      "to_code": "cve.none",
      "from_value": "partial",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "seen": "43",
        "assessed": "44",
        "resolved": "43",
        "tree_source": "registry",
        "tree_status": "resolved"
      },
      "occurred_on": "2026-09-02",
      "occurred_at": "2026-09-02 04:19:20.581849+00",
      "observed_since": "2026-09-01",
      "source": "scan",
      "summary": "Known CVEs (partial → pass)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a06057-c81a-7d60-9415-d3916a507e7e"
    },
    {
      "id": "chg_01a05b34-2dff-7ea7-8eb5-1f421c81086f",
      "kind": "check.unverifiable",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_clean",
      "to_code": "supplychain.malware_inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "vendor_no_verdict"
      },
      "occurred_on": "2026-09-01",
      "occurred_at": "2026-09-01 04:22:21.390173+00",
      "observed_since": "2026-08-31",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a05b34-2dff-7ea7-8eb5-1f421c81086f"
    },
    {
      "id": "chg_01a05b34-2e00-7c60-9b2d-b87ae4b63da8",
      "kind": "check.verdict",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.none",
      "to_code": "cve.tree_partial",
      "from_value": "pass",
      "to_value": "partial",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "seen": "43",
        "assessed": "38",
        "resolved": "37",
        "unresolved": "6",
        "tree_source": "registry",
        "tree_status": "partial"
      },
      "occurred_on": "2026-09-01",
      "occurred_at": "2026-09-01 04:22:21.390173+00",
      "observed_since": "2026-08-31",
      "source": "scan",
      "summary": "Known CVEs (pass → partial)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a05b34-2e00-7c60-9b2d-b87ae4b63da8"
    },
    {
      "id": "chg_01a04b4f-6427-755c-88fb-266ec16f53d4",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-29",
      "occurred_at": "2026-08-29 02:18:09.200306+00",
      "observed_since": "2026-08-28",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a04b4f-6427-755c-88fb-266ec16f53d4"
    },
    {
      "id": "chg_01a04170-7505-7ec4-b0ff-11b3bcd5f823",
      "kind": "check.unverifiable",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_clean",
      "to_code": "supplychain.malware_inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "vendor_no_verdict"
      },
      "occurred_on": "2026-08-27",
      "occurred_at": "2026-08-27 04:18:04.110386+00",
      "observed_since": "2026-08-26",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_01a04170-7505-7ec4-b0ff-11b3bcd5f823"
    },
    {
      "id": "chg_019fdf03-cada-7c6a-a878-baf7a9bacf4d",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 01:36:35.508571+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fdf03-cada-7c6a-a878-baf7a9bacf4d"
    },
    {
      "id": "chg_019fca6c-3e2a-7de0-b0d3-e9900330c72e",
      "kind": "check.reverified",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.inconclusive",
      "to_code": "cve.none",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "seen": "43",
        "assessed": "44",
        "resolved": "43",
        "tree_source": "registry",
        "tree_status": "resolved"
      },
      "occurred_on": "2026-08-04",
      "occurred_at": "2026-08-04 01:38:39.241778+00",
      "observed_since": "2026-08-03",
      "source": "scan",
      "summary": "Known CVEs (unverified → pass)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fca6c-3e2a-7de0-b0d3-e9900330c72e"
    },
    {
      "id": "chg_019fc1ee-bed0-7b7d-8940-a0de21b1077f",
      "kind": "check.unverifiable",
      "family": "build-provenance",
      "subject_kind": "check",
      "subject": "build-provenance",
      "subject_child": "",
      "from_code": "provenance.none",
      "to_code": "provenance.inconclusive",
      "from_value": "fail",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 10:04:36.931942+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Provenance (fail → unverified)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fc1ee-bed0-7b7d-8940-a0de21b1077f"
    },
    {
      "id": "chg_019fc1ee-bed1-74cd-a229-567c9108e778",
      "kind": "check.unverifiable",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.none",
      "to_code": "cve.inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "resolver_unavailable"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 10:04:36.931942+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Known CVEs (pass → unverified)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fc1ee-bed1-74cd-a229-567c9108e778"
    },
    {
      "id": "chg_019fc1ee-bed1-79d9-852b-0fab1a7753de",
      "kind": "check.unverifiable",
      "family": "install-scripts",
      "subject_kind": "check",
      "subject": "install-scripts",
      "subject_child": "",
      "from_code": "installscript.allowlisted",
      "to_code": "installscript.inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 10:04:36.931942+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Install scripts (pass → unverified)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fc1ee-bed1-79d9-852b-0fab1a7753de"
    },
    {
      "id": "chg_019fc1ee-bed1-7e38-b215-1e2f0eb36334",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 10:04:36.931942+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fc1ee-bed1-7e38-b215-1e2f0eb36334"
    },
    {
      "id": "chg_019fc1ee-bed2-7293-a3b9-9984c06696a6",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_failed",
      "to_code": "stability.sandbox_pending",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 10:04:36.931942+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fc1ee-bed2-7293-a3b9-9984c06696a6"
    },
    {
      "id": "chg_019fc1ee-bed2-76eb-9117-ca640d87faca",
      "kind": "installscript.hooks_changed",
      "family": "install-scripts",
      "subject_kind": "package",
      "subject": "hooks",
      "subject_child": "",
      "from_code": "installscript.allowlisted",
      "to_code": "installscript.inconclusive",
      "from_value": "build_backend",
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "to": "",
        "from": "build_backend"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 10:04:36.931942+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "The scripts that run when this package is installed changed (build_backend)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fc1ee-bed2-76eb-9117-ca640d87faca"
    },
    {
      "id": "chg_019fbccf-e7ae-71d9-ad38-f8ef762d0e66",
      "kind": "check.reverified",
      "family": "build-provenance",
      "subject_kind": "check",
      "subject": "build-provenance",
      "subject_child": "",
      "from_code": "provenance.inconclusive",
      "to_code": "provenance.none",
      "from_value": "unverified",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-01",
      "occurred_at": "2026-08-01 10:12:49.69974+00",
      "observed_since": "2026-07-31",
      "source": "scan",
      "summary": "Provenance (unverified → fail)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fbccf-e7ae-71d9-ad38-f8ef762d0e66"
    },
    {
      "id": "chg_019fbccf-e7ae-78d5-a869-4ebecaf37940",
      "kind": "check.reverified",
      "family": "install-scripts",
      "subject_kind": "check",
      "subject": "install-scripts",
      "subject_child": "",
      "from_code": "installscript.inconclusive",
      "to_code": "installscript.allowlisted",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "hook": "build_backend",
        "tier": "allowlisted",
        "tool": "setuptools.build_meta",
        "hooks": "build_backend"
      },
      "occurred_on": "2026-08-01",
      "occurred_at": "2026-08-01 10:12:49.69974+00",
      "observed_since": "2026-07-31",
      "source": "scan",
      "summary": "Install scripts (unverified → pass)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fbccf-e7ae-78d5-a869-4ebecaf37940"
    },
    {
      "id": "chg_019fbccf-e7ae-7d17-a9c2-2d3eb2fe23a0",
      "kind": "installscript.hooks_changed",
      "family": "install-scripts",
      "subject_kind": "package",
      "subject": "hooks",
      "subject_child": "",
      "from_code": "installscript.inconclusive",
      "to_code": "installscript.allowlisted",
      "from_value": null,
      "to_value": "build_backend",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "to": "build_backend",
        "from": ""
      },
      "occurred_on": "2026-08-01",
      "occurred_at": "2026-08-01 10:12:49.69974+00",
      "observed_since": "2026-07-31",
      "source": "scan",
      "summary": "The scripts that run when this package is installed changed (build_backend)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fbccf-e7ae-7d17-a9c2-2d3eb2fe23a0"
    },
    {
      "id": "chg_019fb1cd-1edd-7a27-a11b-8d20a2103a3c",
      "kind": "check.unverifiable",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_clean",
      "to_code": "supplychain.malware_inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-07-30",
      "occurred_at": "2026-07-30 06:53:57.838021+00",
      "observed_since": "2026-07-28",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/robotmcp-ros-mcp-server/ros-mcp#chg-chg_019fb1cd-1edd-7a27-a11b-8d20a2103a3c"
    }
  ],
  "days": [
    {
      "date": "2026-09-24",
      "total": 0,
      "delta": -21,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 4
    },
    {
      "date": "2026-09-07",
      "total": 21,
      "delta": -15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-06",
      "total": 36,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-05",
      "total": 36,
      "delta": 15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    },
    {
      "date": "2026-09-02",
      "total": 21,
      "delta": 1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    },
    {
      "date": "2026-09-01",
      "total": 20,
      "delta": -16,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 3
    },
    {
      "date": "2026-08-29",
      "total": 36,
      "delta": 15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-27",
      "total": 21,
      "delta": -15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}