{
  "artifact": {
    "artifact_id": "github-com-grafana-mcp-grafana-9e46c3d7e1",
    "artifact_name": "grafana/mcp-grafana",
    "canonical_url": "https://github.com/grafana/mcp-grafana",
    "artifact_url": "https://www.rightshold.com/resource-scans/github-com-grafana-mcp-grafana-9e46c3d7e1",
    "receipt_count": 1,
    "versions": 1,
    "current_sha256": "43e42e3d03ed16c49b9ee06dfb8ba24b3090ffc9a4321557138c52ac2b787974",
    "version_note": "Every receipt for this artifact so far names the same SHA-256: the bytes have not changed between scans.",
    "latest_receipt": {
      "id": "rsc_2f5990afac9e872601b80765",
      "artifact_id": "github-com-grafana-mcp-grafana-9e46c3d7e1",
      "artifact_name": "grafana/mcp-grafana",
      "canonical_url": "https://github.com/grafana/mcp-grafana",
      "fetched_from": "https://raw.githubusercontent.com/grafana/mcp-grafana/HEAD/README.md",
      "sha256": "43e42e3d03ed16c49b9ee06dfb8ba24b3090ffc9a4321557138c52ac2b787974",
      "byte_size": 153974,
      "scanner_version": "resource-scan-v1",
      "scanned_at": "2026-10-27T12:21:33.867Z",
      "checks": [
        {
          "id": "network",
          "label": "Outbound network references",
          "status": "flag",
          "findings": [
            "The scanned bytes reference outbound network activity to these domains: archestra.ai, docs.astral.sh, donottrack.sh, github.com, grafana.com, grafana.github.io, grafana.internal, mise.jdx.dev, modelcontextprotocol.io, myinstance.grafana.net, one.example.com, opentelemetry.io, pkg.go.dev, secure-grafana.example.com, tempo-us-central1.grafana.net, two.example.com. Any resource that reaches the network can send data out as well as bring data in; the findings name what the bytes reference, and the reader decides whether that fits the resource's stated purpose."
          ],
          "evidence": [
            "domain: archestra.ai",
            "domain: docs.astral.sh",
            "domain: donottrack.sh",
            "domain: github.com",
            "domain: grafana.com",
            "domain: grafana.github.io",
            "domain: grafana.internal",
            "domain: mise.jdx.dev",
            "domain: modelcontextprotocol.io",
            "domain: myinstance.grafana.net",
            "domain: one.example.com",
            "domain: opentelemetry.io",
            "domain: pkg.go.dev",
            "domain: secure-grafana.example.com",
            "domain: tempo-us-central1.grafana.net",
            "domain: two.example.com"
          ]
        },
        {
          "id": "credentials",
          "label": "Credential and environment access",
          "status": "flag",
          "findings": [
            "The scanned bytes contain credential or environment access patterns: secret-named variables (API_KEY, SECRET, TOKEN, PASSWORD and similar names); authorization headers and bearer values. The receipt names the pattern kinds only; no credential value is reproduced here."
          ],
          "evidence": [
            "secret-named variables (API_KEY, SECRET, TOKEN, PASSWORD and similar names)",
            "authorization headers and bearer values"
          ]
        },
        {
          "id": "install_hooks",
          "label": "Install and postinstall hooks",
          "status": "pass",
          "findings": [
            "No install or postinstall hooks were found in the scanned bytes."
          ],
          "evidence": []
        },
        {
          "id": "obfuscation",
          "label": "Obfuscation and encoded payloads",
          "status": "pass",
          "findings": [
            "No obfuscation or encoded-payload signs were found in the scanned bytes."
          ],
          "evidence": []
        },
        {
          "id": "shell_and_download",
          "label": "Shell-outs and download-and-execute",
          "status": "flag",
          "findings": [
            "The scanned bytes contain shell-out or download patterns: shell command tools named in the bytes (curl, wget, powershell). Code that runs shell commands acts with the full permissions of whoever runs it."
          ],
          "evidence": [
            "shell command tools named in the bytes (curl, wget, powershell)"
          ]
        },
        {
          "id": "permission_vs_behavior",
          "label": "Permission declarations vs behavior",
          "status": "pass",
          "findings": [
            "The bytes show network, credentials behavior, and a permissions declaration is present in the bytes: read`, `datasources.permissions:read`, `folders.permissions:read`, `serviceaccounts.permissions:read`, `teams.permissions:read`, `users.permissions:read`"
          ],
          "evidence": [
            "behavior: network",
            "behavior: credentials",
            "declared: read`, `datasources.permissions:read`, `folders.permissions:read`, `serviceaccounts.permissions:read`, `teams.permissions:read`, `users.permissions:read`"
          ]
        },
        {
          "id": "known_bad",
          "label": "Known-bad indicators",
          "status": "pass",
          "findings": [
            "None of the scanner's published known-bad indicator patterns matched the scanned bytes."
          ],
          "evidence": []
        },
        {
          "id": "provenance",
          "label": "Provenance facts (weak signals)",
          "status": "pass",
          "findings": [
            "Provenance facts, labeled weak signals — they say where the bytes sit, not what the bytes do: source host: github.com; repository: grafana/mcp-grafana; bytes scanned: 153974; fetched from: https://raw.githubusercontent.com/grafana/mcp-grafana/HEAD/README.md."
          ],
          "evidence": [
            "source host: github.com",
            "repository: grafana/mcp-grafana",
            "bytes scanned: 153974",
            "fetched from: https://raw.githubusercontent.com/grafana/mcp-grafana/HEAD/README.md"
          ]
        }
      ],
      "checks_total": 8,
      "checks_flagged": 3,
      "summary": "3 of 8 checks flagged",
      "ledger_seq": 1553,
      "receipt_url": "https://www.rightshold.com/resource-scans/github-com-grafana-mcp-grafana-9e46c3d7e1"
    },
    "history": [
      {
        "id": "rsc_2f5990afac9e872601b80765",
        "artifact_id": "github-com-grafana-mcp-grafana-9e46c3d7e1",
        "artifact_name": "grafana/mcp-grafana",
        "canonical_url": "https://github.com/grafana/mcp-grafana",
        "fetched_from": "https://raw.githubusercontent.com/grafana/mcp-grafana/HEAD/README.md",
        "sha256": "43e42e3d03ed16c49b9ee06dfb8ba24b3090ffc9a4321557138c52ac2b787974",
        "byte_size": 153974,
        "scanner_version": "resource-scan-v1",
        "scanned_at": "2026-10-27T12:21:33.867Z",
        "checks": [
          {
            "id": "network",
            "label": "Outbound network references",
            "status": "flag",
            "findings": [
              "The scanned bytes reference outbound network activity to these domains: archestra.ai, docs.astral.sh, donottrack.sh, github.com, grafana.com, grafana.github.io, grafana.internal, mise.jdx.dev, modelcontextprotocol.io, myinstance.grafana.net, one.example.com, opentelemetry.io, pkg.go.dev, secure-grafana.example.com, tempo-us-central1.grafana.net, two.example.com. Any resource that reaches the network can send data out as well as bring data in; the findings name what the bytes reference, and the reader decides whether that fits the resource's stated purpose."
            ],
            "evidence": [
              "domain: archestra.ai",
              "domain: docs.astral.sh",
              "domain: donottrack.sh",
              "domain: github.com",
              "domain: grafana.com",
              "domain: grafana.github.io",
              "domain: grafana.internal",
              "domain: mise.jdx.dev",
              "domain: modelcontextprotocol.io",
              "domain: myinstance.grafana.net",
              "domain: one.example.com",
              "domain: opentelemetry.io",
              "domain: pkg.go.dev",
              "domain: secure-grafana.example.com",
              "domain: tempo-us-central1.grafana.net",
              "domain: two.example.com"
            ]
          },
          {
            "id": "credentials",
            "label": "Credential and environment access",
            "status": "flag",
            "findings": [
              "The scanned bytes contain credential or environment access patterns: secret-named variables (API_KEY, SECRET, TOKEN, PASSWORD and similar names); authorization headers and bearer values. The receipt names the pattern kinds only; no credential value is reproduced here."
            ],
            "evidence": [
              "secret-named variables (API_KEY, SECRET, TOKEN, PASSWORD and similar names)",
              "authorization headers and bearer values"
            ]
          },
          {
            "id": "install_hooks",
            "label": "Install and postinstall hooks",
            "status": "pass",
            "findings": [
              "No install or postinstall hooks were found in the scanned bytes."
            ],
            "evidence": []
          },
          {
            "id": "obfuscation",
            "label": "Obfuscation and encoded payloads",
            "status": "pass",
            "findings": [
              "No obfuscation or encoded-payload signs were found in the scanned bytes."
            ],
            "evidence": []
          },
          {
            "id": "shell_and_download",
            "label": "Shell-outs and download-and-execute",
            "status": "flag",
            "findings": [
              "The scanned bytes contain shell-out or download patterns: shell command tools named in the bytes (curl, wget, powershell). Code that runs shell commands acts with the full permissions of whoever runs it."
            ],
            "evidence": [
              "shell command tools named in the bytes (curl, wget, powershell)"
            ]
          },
          {
            "id": "permission_vs_behavior",
            "label": "Permission declarations vs behavior",
            "status": "pass",
            "findings": [
              "The bytes show network, credentials behavior, and a permissions declaration is present in the bytes: read`, `datasources.permissions:read`, `folders.permissions:read`, `serviceaccounts.permissions:read`, `teams.permissions:read`, `users.permissions:read`"
            ],
            "evidence": [
              "behavior: network",
              "behavior: credentials",
              "declared: read`, `datasources.permissions:read`, `folders.permissions:read`, `serviceaccounts.permissions:read`, `teams.permissions:read`, `users.permissions:read`"
            ]
          },
          {
            "id": "known_bad",
            "label": "Known-bad indicators",
            "status": "pass",
            "findings": [
              "None of the scanner's published known-bad indicator patterns matched the scanned bytes."
            ],
            "evidence": []
          },
          {
            "id": "provenance",
            "label": "Provenance facts (weak signals)",
            "status": "pass",
            "findings": [
              "Provenance facts, labeled weak signals — they say where the bytes sit, not what the bytes do: source host: github.com; repository: grafana/mcp-grafana; bytes scanned: 153974; fetched from: https://raw.githubusercontent.com/grafana/mcp-grafana/HEAD/README.md."
            ],
            "evidence": [
              "source host: github.com",
              "repository: grafana/mcp-grafana",
              "bytes scanned: 153974",
              "fetched from: https://raw.githubusercontent.com/grafana/mcp-grafana/HEAD/README.md"
            ]
          }
        ],
        "checks_total": 8,
        "checks_flagged": 3,
        "summary": "3 of 8 checks flagged",
        "ledger_seq": 1553,
        "receipt_url": "https://www.rightshold.com/resource-scans/github-com-grafana-mcp-grafana-9e46c3d7e1"
      }
    ]
  }
}