registry  /  @npmresearch4/bench-cbb7  /  1.0.0

@npmresearch4/bench-cbb7@1.0.0

Authorized security-research probe. Contact nicholas@curran.tech.

AI Security Review

scanned 3h ago · by lpm-firewall-ai

Installation automatically executes `run.js` on non-Windows systems. It harvests ECS/AWS credentials and host/container information, probes DynamoDB permissions, then sends the payload to a remote Cloudflare tunnel.

Static reason
One or more suspicious static signals were detected.
Trigger
npm preinstall or postinstall on a non-Windows host
Impact
Compromises ECS/AWS credentials and environment metadata; can access and mutate a configured DynamoDB table under the victim role.
Mechanism
install-time credential harvesting, cloud-permission probing, and HTTPS exfiltration
Attack narrative
During npm installation, `run.js` collects environment, host, container, and network details. If ECS credentials are available, it queries the link-local credential endpoint and stores the access key, secret key, and token. It also executes a Python `boto3` script to enumerate, read, and test write/update/delete access against `DYNAMO_TABLE`, then POSTs the gathered data to a third-party Cloudflare tunnel.
Rationale
The package contains concrete, automatic install-time credential theft and remote exfiltration behavior, with additional cloud-database probing. Its research label does not remove the unconsented attack chain.
Evidence
package.jsonrun.jsREADME.md/.dockerenv/proc/1/cgroup/proc/1/cmdline/proc/mounts/proc/self/status/var/run/docker.sock/entrypoint.sh/proc/1/fd/255/tmp/pkg//tmp/pkg/node_modules/
Network endpoints2
169.254.170.2curves-highly-arbor-displayed.trycloudflare.com/beacon

Decision evidence

public snapshot
AI called this Malicious at 99.0% confidence as Malware with low false-positive risk.
Evidence for block
  • `package.json` runs `node run.js` in both `preinstall` and `postinstall`.
  • `run.js` fetches ECS task-role credentials from `169.254.170.2`, including secret key and token.
  • `run.js` collects AWS environment credentials, host/user/network data, and container/process details.
  • `run.js` runs shell commands to inspect mounts, capabilities, entrypoint data, and package directories.
  • `run.js` executes a Python DynamoDB permission audit that reads table records and attempts writes, updates, and deletes.
  • `run.js` POSTs the collected payload to `curves-highly-arbor-displayed.trycloudflare.com`.
Evidence against
  • No AI-agent control-surface files or configuration writes were found.
  • No secondary payload download or dynamic code-loading path was found.
Behavioral surface
Source
ChildProcessEnvironmentVarsFilesystemNetwork
Supply chain
HighEntropyStrings
ManifestNo manifest risk signals triggered.
scanned 1 file(s), 10.2 KB of source

Source & flagged code

4 flagged · loading source
package.jsonView file
scripts.preinstall = node run.js
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
run.jsView file
13const https = require('https'); L14: const { exec } = require('child_process'); L15:
High
Child Process

Package source references child process execution.

run.jsView on unpkg · L13
11const path = require('path'); L12: const http = require('http'); L13: const https = require('https'); L14: const { exec } = require('child_process'); L15: ... L25: const MARKER = 'tss-linux-july-2026'; L26: const PHASE = process.env.npm[redacted] || 'run'; L27:
High
Same File Env Network Execution

A single source file combines environment access, network access, and code or shell execution; review context before blocking.

run.jsView on unpkg · L11
11const path = require('path'); L12: const http = require('http'); L13: const https = require('https'); L14: const { exec } = require('child_process'); L15: ... L25: const MARKER = 'tss-linux-july-2026'; L26: const PHASE = process.env.npm[redacted] || 'run'; L27: ... L51: L52: payload.hostname = os.hostname(); L53: payload.user = os.userInfo().username; ... L73: try {
High
Cloud Metadata Access

Source reaches cloud instance metadata or link-local credential endpoints.

run.jsView on unpkg · L11

Findings

4 High3 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
HighChild Processrun.js
HighSame File Env Network Executionrun.js
HighCloud Metadata Accessrun.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings