registry  /  hashgraph-mcp  /  1.0.6

hashgraph-mcp@1.0.6

Deterministic Protocol Intelligence compiler for AI. Compiles smart contracts into Protocol Graphs via MCP.

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 13 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsFilesystemNetwork
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 9 file(s), 177 KB of source, external domains: api.anthropic.com, api.deepseek.com, api.openai.com, hashgraph-eight.vercel.app, hsk.blockscout.com, mainnet.hsk.xyz, www.4byte.directory

Source & flagged code

5 flagged · loading source
package.jsonView file
scripts.postinstall = node scripts/postinstall.js
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = node scripts/postinstall.js
Medium
Ambiguous Install Lifecycle Script

Install-time lifecycle script is not statically allowlisted and needs review.

package.jsonView on unpkg
scripts/postinstall.jsView file
9Manifest entrypoint (scripts.postinstall) carries capability families absent from dist/build output: environment+network, execution+network L9: L10: const { spawnSync } = require("child_process"); L11: const fs = require("fs"); ... L23: const r = spawnSync( L24: process.platform === "win32" ? "npm.cmd" : "npm", L25: ["rebuild", "better-sqlite3"], ... L27: stdio: "ignore", L28: cwd: path.resolve(__dirname, ".."), L29: env: process.env, L30: timeout: 120000, ... L41: if (process.env.CI || process.env.npm[redacted] === "silent") return; L42: if (!process.stdout.isTTY) return;
High
Entrypoint Build Divergence

Manifest entrypoint contains risky behavior absent from dist/build output.

scripts/postinstall.jsView on unpkg · L9
9L10: const { spawnSync } = require("child_process"); L11: const fs = require("fs"); ... L23: const r = spawnSync( L24: process.platform === "win32" ? "npm.cmd" : "npm", L25: ["rebuild", "better-sqlite3"], ... L27: stdio: "ignore", L28: cwd: path.resolve(__dirname, ".."), L29: env: process.env, L30: timeout: 120000, ... L41: if (process.env.CI || process.env.npm[redacted] === "silent") return; L42: if (!process.stdout.isTTY) return;
High
Sandbox Evasion Gated Capability

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

scripts/postinstall.jsView on unpkg · L9
dist/chunk-FKXKOZT4.mjsView file
170package = hashgraph-mcp; repositoryIdentity = hashgraph; dependency = better-sqlite3 L170: try { L171: const Database = __require("better-sqlite3"); L172: return new Database(dbPath);
High
Copied Package Dependency Bridge

Package metadata claims a different repository identity while copied source loads a runtime dependency bridge.

dist/chunk-FKXKOZT4.mjsView on unpkg · L170

Findings

4 High4 Medium5 Low
HighInstall Time Lifecycle Scriptspackage.json
HighEntrypoint Build Divergencescripts/postinstall.js
HighSandbox Evasion Gated Capabilityscripts/postinstall.js
HighCopied Package Dependency Bridgedist/chunk-FKXKOZT4.mjs
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings