registry  /  @gbrandtio/rw-git-mcp  /  3.4.3

@gbrandtio/rw-git-mcp@3.4.3

Model Context Protocol (MCP) server for rw-git, a git intelligence library and MCP server, designed to provide deep intelligence via research-backed algorithms.

AI Security Review

scanned 2h ago · by lpm-firewall-ai

Install-time code fetches an unsigned platform executable, then the CLI executes it on later user invocation. The bundled binary path currently contains HTML, so runtime behavior depends on the remote replacement.

Static reason
One or more suspicious static signals were detected.
Trigger
npm installation runs `postinstall`; invoking `rw-git-mcp` runs the downloaded executable.
Impact
A compromised or substituted release artifact/redirect target could execute arbitrary code as the installing user.
Mechanism
unsigned remote binary download followed by CLI process execution
Rationale
Source inspection confirms an unverified postinstall binary bootstrap and later execution path, which warrants a warning. It does not establish a concrete malicious chain or unconsented foreign AI-agent control-surface mutation.
Evidence
package.jsoninstall.jsbin/cli.jsbin/rw-git-mcp-binskills/rw-git-mcp-installation/SKILL.md
Network endpoints1
github.com

Decision evidence

public snapshot
AI called this Suspicious at 90.0% confidence as Dangerous Capability with low false-positive risk.
Evidence for warning
  • `package.json` runs `node install.js` as `postinstall`.
  • `install.js` downloads a platform executable from `github.com` without checksum/signature verification.
  • `install.js` follows redirect locations and writes/chmods the result as `bin/rw-git-mcp-bin`.
  • `bin/cli.js` executes that downloaded file with inherited stdio.
  • Bundled `bin/rw-git-mcp-bin` is HTML, not a native executable.
Evidence against
  • No credential, environment, or project-file harvesting appears in JavaScript sources.
  • No exfiltration, destructive commands, eval, or shell execution appears in inspected sources.
  • Agent configuration guidance is documentation and is activated only by an explicit install/setup request.
Behavioral surface
Source
ChildProcessFilesystemNetwork
Supply chain
UrlStrings
ManifestNo manifest risk signals triggered.
scanned 2 file(s), 3.54 KB of source, external domains: github.com

Source & flagged code

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

Package defines install-time lifecycle scripts.

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

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

package.jsonView on unpkg

Findings

1 High2 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
LowScripts Present
LowFilesystem
LowUrl Strings