{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "bruchris-canvas-lms-mcp",
  "component": "canvas-lms-mcp",
  "generated_at": "2026-09-27T08:36:18.446Z",
  "tracking_since": "2026-07-27",
  "counts": {
    "critical": 0,
    "security": 35,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0bc65-01c3-768a-b459-46ed904552bb",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_pending",
      "to_code": "stability.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "needs_declared_env",
        "status": "unreachable"
      },
      "occurred_on": "2026-09-20",
      "occurred_at": "2026-09-20 01:18:51.266447+00",
      "observed_since": "2026-09-19",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: this server's registry entry declares environment variables (an API key or similar) that our sandbox does not supply, so we have no schema to compare.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a0bc65-01c3-768a-b459-46ed904552bb"
    },
    {
      "id": "chg_01a0bc65-01c4-7e0d-bbdb-69f898bd452b",
      "kind": "check.reason",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.sandbox_pending",
      "to_code": "toolsafety.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "needs_declared_env",
        "status": "unreachable"
      },
      "occurred_on": "2026-09-20",
      "occurred_at": "2026-09-20 01:18:51.266447+00",
      "observed_since": "2026-09-19",
      "source": "scan",
      "summary": "Tool safety (Tool safety not yet verified: this server's registry entry declares environment variables (an API key or similar) that our sandbox does not supply, so we have no tool text to scan.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a0bc65-01c4-7e0d-bbdb-69f898bd452b"
    },
    {
      "id": "chg_01a0ba9c-9393-712b-8c9f-884c40b1a058",
      "kind": "check.reason",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.sandbox_failed",
      "to_code": "toolsafety.sandbox_pending",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-09-19",
      "occurred_at": "2026-09-19 17:00:18.627672+00",
      "observed_since": "2026-09-18",
      "source": "scan",
      "summary": "Tool safety (Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a0ba9c-9393-712b-8c9f-884c40b1a058"
    },
    {
      "id": "chg_01a0ba9c-9395-7a87-8439-8d874f84ac25",
      "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": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-09-19",
      "occurred_at": "2026-09-19 17:00:18.627672+00",
      "observed_since": "2026-09-18",
      "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/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a0ba9c-9395-7a87-8439-8d874f84ac25"
    },
    {
      "id": "chg_01a09333-45cc-75b9-875c-25ec9b426f84",
      "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-12",
      "occurred_at": "2026-09-12 01:20:06.002166+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a09333-45cc-75b9-875c-25ec9b426f84"
    },
    {
      "id": "chg_01a09333-45d7-75c9-b210-e66be9a67501",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_pending",
      "to_code": "stability.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "needs_declared_env",
        "status": "unreachable"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 01:20:06.002166+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: this server's registry entry declares environment variables (an API key or similar) that our sandbox does not supply, so we have no schema to compare.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a09333-45d7-75c9-b210-e66be9a67501"
    },
    {
      "id": "chg_01a09333-45d8-774f-99e2-b8a46e3d8e50",
      "kind": "check.reason",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.sandbox_pending",
      "to_code": "toolsafety.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "needs_declared_env",
        "status": "unreachable"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 01:20:06.002166+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Tool safety (Tool safety not yet verified: this server's registry entry declares environment variables (an API key or similar) that our sandbox does not supply, so we have no tool text to scan.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a09333-45d8-774f-99e2-b8a46e3d8e50"
    },
    {
      "id": "chg_01a09133-3bcd-73d7-ad1a-6e36a8124ed6",
      "kind": "check.reason",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.sandbox_failed",
      "to_code": "toolsafety.sandbox_pending",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 16:00:48.78316+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Tool safety (Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a09133-3bcd-73d7-ad1a-6e36a8124ed6"
    },
    {
      "id": "chg_01a09133-3bd1-7511-93ff-4c14b22e5544",
      "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": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 16:00:48.78316+00",
      "observed_since": "2026-09-10",
      "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/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a09133-3bd1-7511-93ff-4c14b22e5544"
    },
    {
      "id": "chg_01a08e0c-7a49-7ca8-a26f-8b15d7f999e4",
      "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-11",
      "occurred_at": "2026-09-11 01:19:37.481588+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a08e0c-7a49-7ca8-a26f-8b15d7f999e4"
    },
    {
      "id": "chg_01a08c43-59ab-703c-b49a-33779d3f47c8",
      "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-10",
      "occurred_at": "2026-09-10 17:00:18.961103+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a08c43-59ab-703c-b49a-33779d3f47c8"
    },
    {
      "id": "chg_01a05a89-cd26-713d-9c18-bb70ef2676a4",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_pending",
      "to_code": "stability.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "needs_declared_env",
        "status": "unreachable"
      },
      "occurred_on": "2026-09-01",
      "occurred_at": "2026-09-01 01:16:15.497404+00",
      "observed_since": "2026-08-31",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: this server's registry entry declares environment variables (an API key or similar) that our sandbox does not supply, so we have no schema to compare.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a05a89-cd26-713d-9c18-bb70ef2676a4"
    },
    {
      "id": "chg_01a05a89-cd26-7dc6-af9c-13573536a139",
      "kind": "check.reason",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.sandbox_pending",
      "to_code": "toolsafety.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "needs_declared_env",
        "status": "unreachable"
      },
      "occurred_on": "2026-09-01",
      "occurred_at": "2026-09-01 01:16:15.497404+00",
      "observed_since": "2026-08-31",
      "source": "scan",
      "summary": "Tool safety (Tool safety not yet verified: this server's registry entry declares environment variables (an API key or similar) that our sandbox does not supply, so we have no tool text to scan.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a05a89-cd26-7dc6-af9c-13573536a139"
    },
    {
      "id": "chg_01a0588d-50a2-72b8-a21d-47146acd3fbc",
      "kind": "check.reason",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.sandbox_failed",
      "to_code": "toolsafety.sandbox_pending",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-08-31",
      "occurred_at": "2026-08-31 16:00:51.102921+00",
      "observed_since": "2026-08-30",
      "source": "scan",
      "summary": "Tool safety (Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a0588d-50a2-72b8-a21d-47146acd3fbc"
    },
    {
      "id": "chg_01a0588d-50a3-7060-be21-3d072155dd04",
      "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": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-08-31",
      "occurred_at": "2026-08-31 16:00:51.102921+00",
      "observed_since": "2026-08-30",
      "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/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a0588d-50a3-7060-be21-3d072155dd04"
    },
    {
      "id": "chg_01a04b21-69e8-78ac-aea6-5a83bc506a62",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_pending",
      "to_code": "stability.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "needs_declared_env",
        "status": "unreachable"
      },
      "occurred_on": "2026-08-29",
      "occurred_at": "2026-08-29 01:27:56.045993+00",
      "observed_since": "2026-08-28",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: this server's registry entry declares environment variables (an API key or similar) that our sandbox does not supply, so we have no schema to compare.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a04b21-69e8-78ac-aea6-5a83bc506a62"
    },
    {
      "id": "chg_01a04b21-69eb-705e-9831-bec2f834311d",
      "kind": "check.reason",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.sandbox_pending",
      "to_code": "toolsafety.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "needs_declared_env",
        "status": "unreachable"
      },
      "occurred_on": "2026-08-29",
      "occurred_at": "2026-08-29 01:27:56.045993+00",
      "observed_since": "2026-08-28",
      "source": "scan",
      "summary": "Tool safety (Tool safety not yet verified: this server's registry entry declares environment variables (an API key or similar) that our sandbox does not supply, so we have no tool text to scan.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a04b21-69eb-705e-9831-bec2f834311d"
    },
    {
      "id": "chg_01a04919-c97c-70ed-89fc-7057cba4dc51",
      "kind": "check.reason",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.sandbox_failed",
      "to_code": "toolsafety.sandbox_pending",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-08-28",
      "occurred_at": "2026-08-28 16:00:21.518906+00",
      "observed_since": "2026-08-27",
      "source": "scan",
      "summary": "Tool safety (Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a04919-c97c-70ed-89fc-7057cba4dc51"
    },
    {
      "id": "chg_01a04919-c97d-768e-91ec-10bc94b6d0b5",
      "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": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-08-28",
      "occurred_at": "2026-08-28 16:00:21.518906+00",
      "observed_since": "2026-08-27",
      "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/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_01a04919-c97d-768e-91ec-10bc94b6d0b5"
    },
    {
      "id": "chg_019fdef1-9704-7d8c-b736-b7065336768c",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_pending",
      "to_code": "stability.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "startup_failure",
        "status": "unreachable"
      },
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 01:16:42.593685+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: this package installed, but its server did not start, so we have no schema to compare.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fdef1-9704-7d8c-b736-b7065336768c"
    },
    {
      "id": "chg_019fdc18-72fb-79ca-b0e0-b1996783d5a1",
      "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": "99",
        "assessed": "100",
        "resolved": "99",
        "tree_source": "registry",
        "tree_status": "resolved"
      },
      "occurred_on": "2026-08-07",
      "occurred_at": "2026-08-07 12:00:17.6175+00",
      "observed_since": "2026-08-06",
      "source": "scan",
      "summary": "Known CVEs (partial → pass)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fdc18-72fb-79ca-b0e0-b1996783d5a1"
    },
    {
      "id": "chg_019fd9c8-8927-7ab5-b40d-56f1ebec0c31",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_pending",
      "to_code": "stability.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "reason": "startup_failure",
        "status": "unreachable"
      },
      "occurred_on": "2026-08-07",
      "occurred_at": "2026-08-07 01:13:45.991754+00",
      "observed_since": "2026-08-06",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: this package installed, but its server did not start, so we have no schema to compare.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fd9c8-8927-7ab5-b40d-56f1ebec0c31"
    },
    {
      "id": "chg_019fd3f1-1c46-7a94-80a1-67ebb6d5e25c",
      "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-05",
      "occurred_at": "2026-08-05 22:00:21.808643+00",
      "observed_since": "2026-08-04",
      "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/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fd3f1-1c46-7a94-80a1-67ebb6d5e25c"
    },
    {
      "id": "chg_019fcf8c-0e36-79ff-8023-b0d9df5d1f36",
      "kind": "advisory.resolved",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2026-69207",
      "subject_child": "",
      "from_code": "cve.transitive",
      "to_code": "cve.tree_partial",
      "from_value": "medium",
      "to_value": null,
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "id": "CVE-2026-69207"
      },
      "occurred_on": "2026-08-05",
      "occurred_at": "2026-08-05 01:31:30.202461+00",
      "observed_since": "2026-08-04",
      "source": "scan",
      "summary": "CVE-2026-69207 no longer affects this package",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fcf8c-0e36-79ff-8023-b0d9df5d1f36"
    },
    {
      "id": "chg_019fcf8c-0e37-7b6e-8b0d-56f962192f86",
      "kind": "check.verdict",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.transitive",
      "to_code": "cve.tree_partial",
      "from_value": "fail",
      "to_value": "partial",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "seen": "102",
        "assessed": "99",
        "resolved": "98",
        "unresolved": "4",
        "tree_source": "registry",
        "tree_status": "partial"
      },
      "occurred_on": "2026-08-05",
      "occurred_at": "2026-08-05 01:31:30.202461+00",
      "observed_since": "2026-08-04",
      "source": "scan",
      "summary": "Known CVEs (fail → partial)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fcf8c-0e37-7b6e-8b0d-56f962192f86"
    },
    {
      "id": "chg_019fca56-c0a8-7162-8940-cb9d7767c953",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2026-69207",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.transitive",
      "from_value": null,
      "to_value": "medium",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "CVE-2026-69207",
        "severity": "medium"
      },
      "occurred_on": "2026-08-04",
      "occurred_at": "2026-08-04 01:15:10.862594+00",
      "observed_since": "2026-08-03",
      "source": "scan",
      "summary": "CVE-2026-69207 affects this package (medium)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fca56-c0a8-7162-8940-cb9d7767c953"
    },
    {
      "id": "chg_019fca56-c0a9-7138-b586-4c42f4b94d6e",
      "kind": "check.verdict",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.tree_partial",
      "to_code": "cve.transitive",
      "from_value": "partial",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "path": "@modelcontextprotocol/sdk > hono",
        "refs": "[\"CVE-2026-69207\"]",
        "seen": "102",
        "package": "hono",
        "version": "4.12.33",
        "assessed": "99",
        "resolved": "98",
        "severity": "medium",
        "transitive": "1",
        "unresolved": "4",
        "vulnerable": "[{\"name\":\"hono\",\"version\":\"4.12.33\",\"depth\":2,\"path\":[\"@modelcontextprotocol/sdk\",\"hono\"],\"refs\":[\"CVE-2026-69207\"]}]",
        "tree_source": "registry",
        "tree_status": "partial"
      },
      "occurred_on": "2026-08-04",
      "occurred_at": "2026-08-04 01:15:10.862594+00",
      "observed_since": "2026-08-03",
      "source": "scan",
      "summary": "Known CVEs (partial → fail)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fca56-c0a9-7138-b586-4c42f4b94d6e"
    },
    {
      "id": "chg_019fc477-6dd4-7c42-baac-9ffe8a30f8f4",
      "kind": "check.reverified",
      "family": "install-scripts",
      "subject_kind": "check",
      "subject": "install-scripts",
      "subject_child": "",
      "from_code": "installscript.inconclusive",
      "to_code": "installscript.none",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "tier": "none"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 21:53:09.023285+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Install scripts (unverified → pass)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fc477-6dd4-7c42-baac-9ffe8a30f8f4"
    },
    {
      "id": "chg_019fc477-6dd7-7e7f-aba2-90bdc43f4c52",
      "kind": "check.reverified",
      "family": "build-provenance",
      "subject_kind": "check",
      "subject": "build-provenance",
      "subject_child": "",
      "from_code": "provenance.inconclusive",
      "to_code": "provenance.verified",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "repo": "bruchris/canvas-lms-mcp"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 21:53:09.023285+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Provenance (unverified → pass)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fc477-6dd7-7e7f-aba2-90bdc43f4c52"
    },
    {
      "id": "chg_019fc477-6dd8-7e78-b0c1-7d6f93ed4770",
      "kind": "check.reverified",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.inconclusive",
      "to_code": "cve.tree_partial",
      "from_value": "unverified",
      "to_value": "partial",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "seen": "102",
        "assessed": "99",
        "resolved": "98",
        "unresolved": "4",
        "tree_source": "registry",
        "tree_status": "partial"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 21:53:09.023285+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Known CVEs (unverified → partial)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fc477-6dd8-7e78-b0c1-7d6f93ed4770"
    },
    {
      "id": "chg_019fc477-6dd9-78c6-9cb5-9f672202a46d",
      "kind": "provenance.repo_changed",
      "family": "build-provenance",
      "subject_kind": "package",
      "subject": "repo",
      "subject_child": "",
      "from_code": "provenance.inconclusive",
      "to_code": "provenance.verified",
      "from_value": null,
      "to_value": "bruchris/canvas-lms-mcp",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "to": "bruchris/canvas-lms-mcp",
        "from": ""
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 21:53:09.023285+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "The attested source repository moved (bruchris/canvas-lms-mcp)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fc477-6dd9-78c6-9cb5-9f672202a46d"
    },
    {
      "id": "chg_019fc1ef-c784-78f7-92dd-b7f44c11c4a6",
      "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:05:44.691175+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fc1ef-c784-78f7-92dd-b7f44c11c4a6"
    },
    {
      "id": "chg_019fc1ef-c785-77be-a5bd-e0c20a88d33f",
      "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:05:44.691175+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/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fc1ef-c785-77be-a5bd-e0c20a88d33f"
    },
    {
      "id": "chg_019fbcab-91c1-7f2e-87e9-38dcf8342acb",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_pending",
      "to_code": "stability.sandbox_failed",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "status": "unreachable"
      },
      "occurred_on": "2026-08-01",
      "occurred_at": "2026-08-01 09:33:08.404987+00",
      "observed_since": "2026-07-31",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare.)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fbcab-91c1-7f2e-87e9-38dcf8342acb"
    },
    {
      "id": "chg_019fb198-b238-7e98-863f-5dcd15f3180c",
      "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 05:56:42.160371+00",
      "observed_since": "2026-07-28",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/bruchris-canvas-lms-mcp/canvas-lms-mcp#chg-chg_019fb198-b238-7e98-863f-5dcd15f3180c"
    }
  ],
  "days": [
    {
      "date": "2026-09-26",
      "total": 49,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-25",
      "total": 49,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-24",
      "total": 49,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-23",
      "total": 49,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-20",
      "total": 49,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-19",
      "total": 49,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 6
    },
    {
      "date": "2026-09-16",
      "total": 49,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-15",
      "total": 49,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}