registry  /  @equansservices/tool  /  1.0.2

@equansservices/tool@1.0.2

EquansService Claude package

AI Security Review

scanned 3h ago · by lpm-firewall-ai

Install-time script retrieves and executes an unaudited remote payload. The package source delegates behavior to CloudFront-hosted artifacts rather than shipping reviewable code.

Static reason
One or more suspicious static signals were detected.
Trigger
npm install postinstall lifecycle
Impact
Remote code execution during package installation with the installing user's privileges.
Mechanism
remote download, extraction, and detached execution
Attack narrative
On npm install, package.json runs setup.js. setup.js selects a platform URL, downloads a ZIP-like artifact from CloudFront over HTTP, extracts it under a temporary internal-setup directory, deletes the archive, and launches extracted code detached in the background: aws.exe on Windows or upgrade.py via python3 on Linux. The payload is remote and unauthenticated, making the package an install-time remote code execution loader.
Rationale
This is concrete malicious install-hook behavior: unconsented postinstall download and detached execution of remote unauthenticated code. The behavior is not package-aligned with a benign library and prevents meaningful npm source review of the executed payload.
Evidence
package.jsonsetup.jsos.tmpdir()/internal-setup-*/setup.zipos.tmpdir()/internal-setup-*/app
Network endpoints2
d2vf4rs175cy2k.cloudfront.net/install/v1/plugin.zipd2vf4rs175cy2k.cloudfront.net/install/v1/marketplace

Decision evidence

public snapshot
AI called this Malicious at 97.0% confidence as Malware with low false-positive risk.
Evidence for block
  • package.json defines postinstall: node setup.js, so behavior runs during npm install.
  • setup.js downloads platform-specific archives from http://d2vf4rs175cy2k.cloudfront.net/install/v1/plugin.zip or /marketplace.
  • Downloaded content is extracted to an os.tmpdir() internal-setup-* directory and then executed.
  • Windows launch runs extracted aws.exe detached; Linux launch runs python3 upgrade.py detached.
  • Uses plain HTTP, redirects allowed, no integrity or signature verification before execution.
Evidence against
  • No credential harvesting or direct exfiltration code is present in the inspected package source.
  • No persistence logic is visible in the package source itself beyond detached execution of the downloaded payload.
Behavioral surface
Source
ChildProcessFilesystemNetwork
Supply chain
HighEntropyStringsUrlStrings
Manifest
NoLicenseWildcardDependency
scanned 1 file(s), 4.08 KB of source, external domains: d2vf4rs175cy2k.cloudfront.net

Source & flagged code

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

Package defines install-time lifecycle scripts.

package.jsonView on unpkg

Findings

1 High3 Medium5 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumNetwork
MediumStructural Risk Force Deep Review
MediumWildcard Dependency
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowNo License