addrbookFor publishers
← The evidence ledger

Evidence row 52025

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.shane-js/ghostfree
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
964c0a6383f27415dbb7fb8ba79854603cf36ab6dc40d9ef03447a1f36b06e72
Leaf
0x2cb5c8a3b78a8c6a5f2279f31f3d3f038b15a51be74b08b7ed01bf6ccea5a99a

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/shane-js/ghostfree"
    ]
  ],
  "name": "GhostFree",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-04-07T01:48:43.139412Z",
        "status": "active",
        "statusChangedAt": "2026-04-07T01:48:43.139412Z",
        "updatedAt": "2026-04-07T01:48:43.139412Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "MCP server that scans your repo's dependencies for security vulnerabilities based on published CVEs.",
      "icons": [
        {
          "mimeType": "image/png",
          "sizes": [
            "512x512"
          ],
          "src": "https://raw.githubusercontent.com/shane-js/ghostfree/main/icon.png"
        }
      ],
      "name": "io.github.shane-js/ghostfree",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Override the directory where GhostFree stores its data files (accepted-risks.yml, config.yml). Defaults to .ghostfree/ in the scanned repository root.",
              "format": "filepath",
              "name": "GHOSTFREE_DIR"
            },
            {
              "choices": [
                "CRITICAL",
                "HIGH",
                "MEDIUM",
                "LOW"
              ],
              "default": "MEDIUM",
              "description": "Minimum CVE severity level to surface. One of: CRITICAL, HIGH, MEDIUM (default), LOW.",
              "format": "string",
              "name": "GHOSTFREE_MIN_SEVERITY"
            },
            {
              "description": "Optional NVD API key for higher rate limits when enriching CVE details. Free to request at https://nvd.nist.gov/developers/request-an-api-key.",
              "format": "string",
              "isSecret": true,
              "name": "NVD_API_KEY"
            }
          ],
          "identifier": "ghostfree",
          "packageArguments": [
            {
              "description": "Absolute path to the repository to scan for vulnerable dependencies.",
              "format": "filepath",
              "isRequired": true,
              "name": "--repo-path",
              "type": "named"
            }
          ],
          "registryType": "npm",
          "runtimeArguments": [
            {
              "type": "positional",
              "value": "-y"
            }
          ],
          "runtimeHint": "npx",
          "transport": {
            "type": "stdio"
          },
          "version": "0.2.0"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/shane-js/ghostfree"
      },
      "title": "GhostFree",
      "version": "0.2.0",
      "websiteUrl": "https://github.com/shane-js/ghostfree#readme"
    }
  },
  "source": "mcp_registry",
  "summary": "MCP server that scans your repo's dependencies for security vulnerabilities based on published CVEs."
}

What the leaf hashes

{"body":"964c0a6383f27415dbb7fb8ba79854603cf36ab6dc40d9ef03447a1f36b06e72","id":52025,"kind":"listing","method":"baseline/1","observed_us":1793025418792792,"prev":null,"subject":"mcp_registry:io.github.shane-js/ghostfree","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x2cb5c44f8c080d6972d5c13ee59fa0cb90f14395e3b2a9bb18170160ccad76de
  2. 0x04187ab3a085d771c3508a9ee988bdaf9a2d11b675b65ed4f55d5d4d139a2433
  3. 0x44649f9c65e7c618b0ea5e5720a57fb62aaafe149cc3ec0f65564656d280c2fd
  4. 0x703b9eb7ecc20efa360221d1f3bcac566904bfd6b9cdb5508e0c9026b0550c11
  5. 0x5f828aefdd1703c9394426afe5ff1ba48b5ddb611e0feb07ca5f9eeb5292f542
  6. 0x31ab34346053c5fcaeb8c672ad9ea5f3e79ef79d6baeff4b8d6d69aef313bf04
  7. 0x8126ef519b438887a7a470f15bc0ffad257bc2637043f421417d923432e769d6
  8. 0x77e219a1ec47d7a67038790942570dddabbeb63f85292e369aec6b7eff228a63
  9. 0x39cf12493c25bd9e76484bc5beae16c8e1ce53107efd9ba3a98a8a4e59d2d502
  10. 0x92ae512ac303ebf33e234dd8900de38bc100cacd7e3e6d4585dab96308c421ca
  11. 0x9f7d3cc11f13fc54c5221c4babc2273f69d77c4b805c79df41df74cfb0975d6c
  12. 0xf89d9951e0a8e08b9cf11177a1f4e0fd86d9facc5dfecaabbfe564675ebefef7
  13. 0xb87e8b32cda179c9e632e227bbd8a6d1f6f61d9d81bb92dbd4dd835d2b3b5caa
  14. 0x683955a5b2250ad50568d022a6580d8739b6aff1356779d72a773b088e7c289c
  15. 0x610738e0c43687aded83c613c73de8b5226c73c375858a167436461c522ea213
  16. 0x06d71bfa7d8b41d62c8836efc2c601e1cc3772d9453596b2ae4950887f3310ca
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON