@yugabytedb/meko-mcp
Single-line installer for Meko MCP Server across Claude and Cursor clients
Supply chain provenance
Status for the latest visible version.
Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| semgrep | semgrep:env-spread | AI (semgrep): env spread is used to pass environment to a subprocess in migrate.mjs, not for exfiltration; stable pattern for this package. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): Installer/migration tool legitimately uses execFileSync to run system commands; expected for this package's purpose. | ai |
Versions (showing 7 of 7)
| Version | Deps | Published |
|---|---|---|
| 1.2.0 | 0 / 0 | |
| 1.1.0 | 0 / 0 | |
| 1.0.8 | 0 / 0 | |
| 1.0.6 | 0 / 0 | |
| 1.0.5 | 0 / 0 | |
| 1.0.4 | 0 / 0 | |
| 1.0.3 | 0 / 0 |
v1.2.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.0.8
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/yugabyte/meko-mcp-server/blob/be11fd1a2c1af7ebfbbfbd4802b5e4dba3cf81f1/lib/migrate.mjs#L160 158 | if (opts.rate) passthrough.push("--rate", String(opts.rate)); 159 | > 160 | const env = { ...process.env }; 161 | if (opts.apiKey) env.MEKO_API_KEY = opts.apiKey; 162 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.6
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/yugabyte/meko-mcp-server/blob/399703d1c85b300895b7199cdaa2e1f826109db7/lib/migrate.mjs#L160 158 | if (opts.rate) passthrough.push("--rate", String(opts.rate)); 159 | > 160 | const env = { ...process.env }; 161 | if (opts.apiKey) env.MEKO_API_KEY = opts.apiKey; 162 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.5
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/yugabyte/meko-mcp-server/blob/7e52884ce5e43d02f11a8c84f6bddfb989d2de34/lib/migrate.mjs#L160 158 | if (opts.rate) passthrough.push("--rate", String(opts.rate)); 159 | > 160 | const env = { ...process.env }; 161 | if (opts.apiKey) env.MEKO_API_KEY = opts.apiKey; 162 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.4
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/yugabyte/meko-mcp-server/blob/4369bf47ce84365d64bdd35bd342a8c3d07291dd/lib/migrate.mjs#L159 157 | if (opts.rate) passthrough.push("--rate", String(opts.rate)); 158 | > 159 | const env = { ...process.env }; 160 | if (opts.apiKey) env.MEKO_API_KEY = opts.apiKey; 161 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.3
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/yugabyte/meko-mcp-server/blob/4d1fd1b4272beff3846ae28f91c8d1978ce33971/lib/migrate.mjs#L159 157 | if (opts.rate) passthrough.push("--rate", String(opts.rate)); 158 | > 159 | const env = { ...process.env }; 160 | if (opts.apiKey) env.MEKO_API_KEY = opts.apiKey; 161 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.