registry  /  @rein-industries/rein  /  0.1.39

@rein-industries/rein@0.1.39

Control your coding agents (Claude Code, Codex, Gemini, opencode, Grok) from your phone. Installs the rein bridge daemon.

AI Security Review

scanned 2h ago · by lpm-firewall-ai

Install-time code fetches and unpacks an opaque native bridge payload. The launcher later executes that payload; its behavior cannot be established from this package source.

Static reason
One or more suspicious static signals were detected.
Trigger
npm postinstall, or invoking `rein` after an ignored/failed install
Impact
A compromised release endpoint or environment override can supply code later executed as the invoking user.
Mechanism
remote native payload download, extraction, and runtime execution
Rationale
Source shows automatic remote native-payload acquisition and later execution, but no confirmed credential theft, destructive action, or foreign AI-agent control-surface mutation. Treat as unresolved staged-payload risk rather than a confirmed malicious package.
Evidence
package.jsonscripts/postinstall.mjsbin/rein.jsREADME.mdvendor/reinvendor/spawn-helpervendor/.rein-managed-by
Network endpoints2
github.com/rein-industries/rein/releases/download/v0.1.39REINS_RELEASE_BASE

Decision evidence

public snapshot
AI called this Suspicious at 88.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
  • `package.json` runs `postinstall` automatically.
  • `scripts/postinstall.mjs` downloads a platform tarball during install.
  • Download base can be overridden with `REINS_RELEASE_BASE`.
  • Checksum file and executable payload come from the same remote release.
  • `bin/rein.js` executes downloaded `vendor/rein` with inherited stdio.
Evidence against
  • Fetched assets are version-derived from package version by default.
  • Postinstall extracts only under package-local `vendor/`.
  • Source verifies SHA-256 before extraction.
  • No source evidence of credential harvesting, exfiltration, or AI-config writes.
  • Install download failure is non-fatal and no payload executes in postinstall.
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
Supply chain
UrlStrings
Manifest
NoLicense
scanned 2 file(s), 5.92 KB of source, external domains: github.com

Source & flagged code

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

Package defines install-time lifecycle scripts.

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

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

package.jsonView on unpkg

Findings

1 High3 Medium4 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowUrl Strings
LowNo License