registry  /  @luminarycloudinternal/lcvis-st  /  9999.0.1

@luminarycloudinternal/lcvis-st@9999.0.1

Security research placeholder (Bugcrowd luminarycloud-mbb-od2, submission 10d62a7c). Benign dependency-confusion canary held by researcher account mdpsec. No functional code. Will be unpublished or transferred to Luminary Cloud on request.

AI Security Review

scanned 2h ago · by lpm-firewall-ai

The package has an install-time beacon that reports CI/build metadata and host name to an external callback endpoint. This is concrete unconsented telemetry on npm install despite no persistence or destructive behavior.

Static reason
One or more suspicious static signals were detected.
Trigger
npm install lifecycle postinstall
Impact
External party can learn that a consumer resolved this internal-looking package name and receive repository/build identifiers.
Mechanism
install-time HTTPS callback with environment and host metadata
Attack narrative
On installation, npm runs postinstall.js. The script collects package name/version, npm user agent, CI flags, GitHub Actions repository, runner, SHA, ref, workflow, and host name, then sends them as query parameters to a testingboxes.com HTTPS callback. This matches a dependency-confusion canary and does not persist or read secrets, but it still performs unconsented install-time data exfiltration to an external researcher endpoint.
Rationale
Source inspection confirms an install lifecycle script that exfiltrates CI/build identifiers and hostname to an external callback, so this is not merely a scanner false positive. The limited data scope lowers severity compared with credential theft, but the concrete unconsented postinstall beacon warrants blocking for an upstream firewall.
Evidence
package.jsonpostinstall.jsREADME.mdpostinstall.js executed by package.json postinstall
Network endpoints1
poc-luminary-npm-1782987043.testingboxes.com/cb/5457161feaa0f110e5790adead3a652e0a2f40773c6cfb40

Decision evidence

public snapshot
AI called this Malicious at 94.0% confidence as Malware with low false-positive risk.
Evidence for block
  • package.json runs postinstall: node postinstall.js
  • postinstall.js reads npm and CI env identifiers plus os.hostname()
  • postinstall.js sends install-time HTTPS GET to researcher-controlled testingboxes.com callback URL
  • README.md/package description state this is a dependency-confusion canary for an internal-looking scope
Evidence against
  • No child_process, eval, dynamic code loading, persistence, or file writes found
  • No credential-specific env names or filesystem secret reads found
  • Only three package files present: package.json, README.md, postinstall.js
Behavioral surface
Source
EnvironmentVarsNetwork
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 1 file(s), 1.25 KB of source, external domains: poc-luminary-npm-1782987043.testingboxes.com

Source & flagged code

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

Package defines install-time lifecycle scripts.

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

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

package.jsonView on unpkg

Findings

1 High3 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
LowScripts Present
LowHigh Entropy Strings
LowUrl Strings