registry  /  @vibecook/truffle  /  0.4.8

@vibecook/truffle@0.4.8

Mesh networking for local-first apps, built on Tailscale

AI Security Review

scanned 2h ago · by lpm-firewall-ai

Unresolved supply-chain risk: install fallback can place an unpinned remote executable into the package when optional platform packages are missing. No confirmed malicious behavior or exfiltration is present in the inspected source.

Static reason
One or more suspicious static signals were detected.
Trigger
npm install with postinstall running and platform optionalDependency sidecar absent
Impact
Could install a tampered sidecar if the GitHub release/CDN path is compromised or serves unexpected bytes; otherwise package behavior is aligned with mesh networking sidecar distribution.
Mechanism
HTTPS download of package sidecar binary without a 0.4.8 pinned checksum
Rationale
This is not enough to call malicious because the behavior is package-aligned, visible, version-scoped, and lacks exfiltration or stealth execution. It is still a warn-worthy staged executable carrier because install-time fallback can download an unpinned binary for 0.4.8.
Evidence
package.jsonscripts/postinstall.cjssidecar-checksums.jsondist/index.jsdist/sidecar.jsdist/create-mesh-node.jsbin/sidecar-slimbin/sidecar-slim.exenode_modules/@vibecook/truffle-sidecar-*/bin/sidecar-slim
Network endpoints1
github.com/jamesyong-42/truffle/releases/download/v0.4.8/{asset}

Decision evidence

public snapshot
AI called this Suspicious at 84.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
  • package.json defines postinstall: node scripts/postinstall.cjs
  • scripts/postinstall.cjs downloads a platform sidecar executable from GitHub when optionalDependency binary is absent
  • sidecar-checksums.json contains only _comment/_example and no 0.4.8 checksum, so fallback download is not pinned for this version
  • postinstall writes bin/sidecar-slim or sidecar-slim.exe and chmods it executable
Evidence against
  • Download URL is package-aligned: github.com/jamesyong-42/truffle releases for the package version
  • No credential, env, home directory, SSH, or secret harvesting found by source grep
  • No install-time execution of the downloaded binary; install script only resolves/downloads/chmods
  • Runtime child_process use in dist/create-mesh-node.js uses execFile with fixed browser opener commands and http(s)-only URL guard
  • Main entrypoint only re-exports native addon APIs and sidecar resolution
Behavioral surface
Source
ChildProcessCryptoFilesystemNetworkShell
Supply chain
UrlStrings
ManifestNo manifest risk signals triggered.
scanned 4 file(s), 14.9 KB of source, external domains: github.com

Source & flagged code

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

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = node scripts/postinstall.cjs
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