{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "cyanheads-protein-mcp-server",
  "component": "protein-mcp-server",
  "generated_at": "2026-09-21T00:36:38.491Z",
  "tracking_since": "2026-07-27",
  "counts": {
    "critical": 0,
    "security": 17,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0b306-6ab5-72b1-9925-2883dcdecfc7",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.stable",
      "from_value": "0.97",
      "to_value": "pass",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-18",
      "occurred_at": "2026-09-18 05:38:57.085475+00",
      "observed_since": "2026-09-17",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_01a0b306-6ab5-72b1-9925-2883dcdecfc7"
    },
    {
      "id": "chg_01a08eea-3ef8-7483-acf3-21c6051c6d12",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.stable",
      "from_value": "0.97",
      "to_value": "pass",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 05:21:51.223688+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_01a08eea-3ef8-7483-acf3-21c6051c6d12"
    },
    {
      "id": "chg_01a06ada-781f-753f-b005-0f9e74458fbb",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.stable",
      "from_value": "0.97",
      "to_value": "pass",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-04",
      "occurred_at": "2026-09-04 05:18:17.530381+00",
      "observed_since": "2026-09-03",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_01a06ada-781f-753f-b005-0f9e74458fbb"
    },
    {
      "id": "chg_019ff98b-481c-74ff-a415-b7c548a722c8",
      "kind": "advisory.resolved",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "GHSA-frvp-7c67-39w9",
      "subject_child": "",
      "from_code": "cve.direct",
      "to_code": "cve.direct",
      "from_value": "high",
      "to_value": null,
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "id": "GHSA-frvp-7c67-39w9"
      },
      "occurred_on": "2026-08-13",
      "occurred_at": "2026-08-13 05:14:42.492197+00",
      "observed_since": "2026-08-12",
      "source": "scan",
      "summary": "GHSA-frvp-7c67-39w9 no longer affects this package",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019ff98b-481c-74ff-a415-b7c548a722c8"
    },
    {
      "id": "chg_019fdaa4-3acc-7e12-bb97-057a7e979186",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2026-41907",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.direct",
      "from_value": null,
      "to_value": "high",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "CVE-2026-41907",
        "severity": "high"
      },
      "occurred_on": "2026-08-07",
      "occurred_at": "2026-08-07 05:13:43.793171+00",
      "observed_since": "2026-08-06",
      "source": "scan",
      "summary": "CVE-2026-41907 affects this package (high)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fdaa4-3acc-7e12-bb97-057a7e979186"
    },
    {
      "id": "chg_019fd591-65f8-703c-b234-d97aadab46c9",
      "kind": "check.reason",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.sandbox_failed",
      "to_code": "stability.insufficient_history",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-06",
      "occurred_at": "2026-08-06 05:35:03.59513+00",
      "observed_since": "2026-08-05",
      "source": "scan",
      "summary": "Stability (Stability not yet verified: not enough scan history yet (needs a 30-day window).)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fd591-65f8-703c-b234-d97aadab46c9"
    },
    {
      "id": "chg_019fc4e8-b959-7a07-a4b4-344c3f683b44",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2025-12758",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.direct",
      "from_value": null,
      "to_value": "high",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "CVE-2025-12758",
        "severity": "high"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "CVE-2025-12758 affects this package (high)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b959-7a07-a4b4-344c3f683b44"
    },
    {
      "id": "chg_019fc4e8-b95b-7ad9-91f7-cbdc3a510a3c",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2025-56200",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.direct",
      "from_value": null,
      "to_value": "high",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "CVE-2025-56200",
        "severity": "high"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "CVE-2025-56200 affects this package (high)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b95b-7ad9-91f7-cbdc3a510a3c"
    },
    {
      "id": "chg_019fc4e8-b95c-7d93-a75d-9e8d4bdb9450",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2026-59892",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.direct",
      "from_value": null,
      "to_value": "high",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "CVE-2026-59892",
        "severity": "high"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "CVE-2026-59892 affects this package (high)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b95c-7d93-a75d-9e8d4bdb9450"
    },
    {
      "id": "chg_019fc4e8-b95d-763f-b24d-024787362fee",
      "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-02",
      "occurred_at": "2026-08-02 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Provenance (unverified → fail)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b95d-763f-b24d-024787362fee"
    },
    {
      "id": "chg_019fc4e8-b95d-7c96-9bcf-7f7c2a042f85",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2026-54285",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.direct",
      "from_value": null,
      "to_value": "high",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "CVE-2026-54285",
        "severity": "high"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "CVE-2026-54285 affects this package (high)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b95d-7c96-9bcf-7f7c2a042f85"
    },
    {
      "id": "chg_019fc4e8-b963-790b-9ec7-9a12ab184759",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "GHSA-frvp-7c67-39w9",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.direct",
      "from_value": null,
      "to_value": "high",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "GHSA-frvp-7c67-39w9",
        "severity": "high"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "GHSA-frvp-7c67-39w9 affects this package (high)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b963-790b-9ec7-9a12ab184759"
    },
    {
      "id": "chg_019fc4e8-b964-7173-be0c-9de814ae8585",
      "kind": "check.reverified",
      "family": "vulnerabilities",
      "subject_kind": "check",
      "subject": "vulnerabilities",
      "subject_child": "",
      "from_code": "cve.inconclusive",
      "to_code": "cve.direct",
      "from_value": "unverified",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "path": "@opentelemetry/auto-instrumentations-node",
        "refs": "[\"GHSA-frvp-7c67-39w9\",\"CVE-2026-44902\",\"CVE-2026-54285\",\"CVE-2026-44902\",\"CVE-2026-59892\",\"CVE-2026-44902\",\"CVE-2025-56200\",\"CVE-2025-12758\"]",
        "seen": "463",
        "direct": "4",
        "package": "@opentelemetry/auto-instrumentations-node",
        "version": "0.64.6",
        "assessed": "251",
        "resolved": "250",
        "severity": "high",
        "transitive": "3",
        "unresolved": "213",
        "vulnerable": "[{\"name\":\"@hono/node-server\",\"version\":\"1.19.17\",\"depth\":1,\"path\":[\"@hono/node-server\"],\"refs\":[\"GHSA-frvp-7c67-39w9\"]},{\"name\":\"@opentelemetry/auto-instrumentations-node\",\"version\":\"0.64.6\",\"depth\":1,\"path\":[\"@opentelemetry/auto-instrumentations-node\"],\"refs\":[\"CVE-2026-44902\"]},{\"name\":\"@opentelemetry/core\",\"version\":\"2.1.0\",\"depth\":2,\"path\":[\"@opentelemetry/exporter-metrics-otlp-http\",\"@opentelemetry/core\"],\"refs\":[\"CVE-2026-54285\"]},{\"name\":\"@opentelemetry/exporter-prometheus\",\"version\":\"0.205.0\",\"depth",
        "tree_source": "registry",
        "tree_status": "partial"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Known CVEs (unverified → fail)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b964-7173-be0c-9de814ae8585"
    },
    {
      "id": "chg_019fc4e8-b965-722f-bee5-61bca5c8afb1",
      "kind": "advisory.identified",
      "family": "vulnerabilities",
      "subject_kind": "advisory",
      "subject": "CVE-2026-44902",
      "subject_child": "",
      "from_code": null,
      "to_code": "cve.direct",
      "from_value": null,
      "to_value": "high",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "id": "CVE-2026-44902",
        "severity": "high"
      },
      "occurred_on": "2026-08-02",
      "occurred_at": "2026-08-02 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "CVE-2026-44902 affects this package (high)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b965-722f-bee5-61bca5c8afb1"
    },
    {
      "id": "chg_019fc4e8-b967-77a0-ae84-24c2711006e8",
      "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 23:56:53.954849+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Install scripts (unverified → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc4e8-b967-77a0-ae84-24c2711006e8"
    },
    {
      "id": "chg_019fc2a8-4566-7307-9312-fb6c204adf41",
      "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 13:27:15.543416+00",
      "observed_since": "2026-08-01",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fc2a8-4566-7307-9312-fb6c204adf41"
    },
    {
      "id": "chg_019fb569-0d29-7596-bcd4-9416854c761c",
      "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 23:43:08.55928+00",
      "observed_since": "2026-07-29",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/cyanheads-protein-mcp-server/protein-mcp-server#chg-chg_019fb569-0d29-7596-bcd4-9416854c761c"
    }
  ],
  "days": [
    {
      "date": "2026-09-20",
      "total": 76,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-19",
      "total": 76,
      "delta": -3,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-18",
      "total": 79,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-17",
      "total": 79,
      "delta": 1,
      "tracked": true,
      "explained": false,
      "beyond_event_horizon": false,
      "attribution": {
        "category": "Stability & Change Management",
        "from": 93,
        "to": 97,
        "delta": 4,
        "others": [],
        "accrual": {
          "code": "stability.building_history",
          "from_days": 28,
          "to_days": 29
        },
        "partial": false,
        "compared_to": "2026-09-16",
        "summary": "No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes."
      },
      "event_count": 0
    },
    {
      "date": "2026-09-16",
      "total": 78,
      "delta": 2,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    },
    {
      "date": "2026-09-14",
      "total": 76,
      "delta": 1,
      "tracked": true,
      "explained": false,
      "beyond_event_horizon": false,
      "attribution": {
        "category": "Stability & Change Management",
        "from": 83,
        "to": 87,
        "delta": 4,
        "others": [],
        "accrual": {
          "code": "stability.building_history",
          "from_days": 25,
          "to_days": 26
        },
        "partial": false,
        "compared_to": "2026-09-13",
        "summary": "No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes."
      },
      "event_count": 0
    },
    {
      "date": "2026-09-12",
      "total": 75,
      "delta": -2,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-11",
      "total": 77,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}