registry  /  abuden221  /  2.0.0

abuden221@2.0.0

AI Security Review

scanned 2h ago · by lpm-firewall-ai

Opening the HTML application automatically starts a same-origin service worker-backed web proxy. The controller routes selected browser traffic over a remote WebSocket and can relay request metadata, bodies, and cookies.

Static reason
One or more suspicious static signals were detected.; source matched previously finalized malicious package; routed for review; source fingerprint signature matched known malicious package; routed for review
Trigger
A user opens `index.html` in a browser and the obfuscated application initializes.
Impact
Browser requests routed under the proxy prefix can be mediated by the remote endpoint, including request headers, bodies, and cookie-setting responses.
Mechanism
Service-worker interception with remote WebSocket proxy transport.
Rationale
This is not install-time malware, but the package automatically deploys an obfuscated service-worker proxy with an unrelated remote backend and third-party script. Those runtime capabilities are materially risky without a verified benign purpose.
Evidence
package.jsonindex.htmlassets/index-CJm_PfL2.jsassets/boot-CVPGRFHh.jsj6k3y8.jsct1tl/jmqwjq.jsct1tl/csbzam.jsassets/ChatPage-zoA8Z6RX.jsct1tl/pap3do.js
Network endpoints4
c.vipersfutbol.com/script.jswss://21baseballacademy.com/fairs/www.googletagmanager.com/gtag/js?id=G-0VL3ZSBXDHm1.openfpcdn.io/fingerprintjs/v5.2.0/npm-monitoring

OSV Corroboration

OpenSSF/OSV
Advisory
MAL-2026-6130
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in abuden221 (npm)
Details
The tarball is a static-site / web-proxy build (index.html, /assets/*.js bundles with obfuscated names, a.well-known/discord verification file, branding) rather than a Node.js library. package.json declares main: sw.js, but sw.js is a browser ServiceWorker that calls importScripts('./8cfc2/hgshm.js') — a global that does not exist in Node, so require()-ing this package throws before any code runs. There are no preinstall/install/postinstall/prepare lifecycle hooks, no Node-reachable network I/O, credential reads, or shell execution, so installing the package does not produce installer-side harm. The bundled service worker is an Ultraviolet-style web proxy that, when deployed in a browser, injects a script into proxied HTML responses to redirect window.open / anchor clicks / form submits via postMessage — hostile to users of a deployed proxy site, not to npm installers. The tarball also ships auto-publish.sh, a loop that copies the project to a temp dir, rewrites package.json.name through 10 sequential names (ratelimitsucks, ratelimitsucks1..ratelimitsucks9), and runs `npm publish --silent` in parallel — registry-namespace-spam tooling. The script is not wired to any lifecycle hook and does not run on install. Obfuscated bundles under assets/ are typical for a deployed proxy frontend and do not execute in Node. Routed to human review because the package is misusing npm as static hosting and documents intent to mass-publish duplicates under sequential names; this is registry abuse worth a maintainer/registry response, but not a supply-chain attack against installers. ## Source: ghsa-malware (07c54aeba293b636c4a9b161088533a90eb5393d39d0192b93e9e918b4bdcd2d) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Decision evidence

public snapshot
AI called this Suspicious at 90.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for block
  • `index.html` loads an unrelated remote script from `c.vipersfutbol.com`.
  • `assets/index-CJm_PfL2.js` imports and invokes `bootController()` at browser runtime.
  • `assets/boot-CVPGRFHh.js` registers `j6k3y8.js` as a service worker and configures `wss://21baseballacademy.com/fairs/`.
  • `j6k3y8.js` and `ct1tl/jmqwjq.js` claim clients and intercept routed fetches.
  • `ct1tl/csbzam.js` forwards proxied requests, headers, bodies, and cookies through a controller transport.
  • Core application bundles, including `assets/ChatPage-zoA8Z6RX.js`, are heavily obfuscated.
Evidence against
  • `package.json` has no lifecycle scripts or Node execution entrypoint.
  • No source evidence of filesystem harvesting, subprocess execution, or npm-install mutation.
  • The service worker is registered only after the browser application loads, not during package installation.
  • `assets/fingerprint-Y5nV5FVa.js` monitoring points to a recognizable FingerprintJS endpoint rather than a package-specific exfiltration host.
Behavioral surface
Source
ChildProcessDynamicRequireFilesystemNetworkWebSocket
Supply chain
HighEntropyStringsMinifiedObfuscatedProtestwareUrlStrings
Manifest
NoLicense
scanned 24 file(s), 7.27 MB of source, external domains: 127.0.0.1, aomediacodec.github.io, cdn.jsdelivr.net, cloud-api.livekit.io, curl.se, emscripten.org, fingerprint.com, github.com, m1.openfpcdn.io, react.dev, sj-cache.invalid, twemoji.maxcdn.com, www.w3.org, www.zlib.net

Source & flagged code

9 flagged · loading source
assets/proxy-runtime-1NyFshf9.jsView file
1patternName = aws_access_key severity = critical line = 1 matchedText = var OQ=O...B+=`
Critical
Critical Secret

Package contains a critical-looking secret pattern.

assets/proxy-runtime-1NyFshf9.jsView on unpkg · L1
1patternName = aws_access_key severity = critical line = 1 matchedText = var OQ=O...B+=`
Critical
Secret Pattern

AWS access key ID in assets/proxy-runtime-1NyFshf9.js

assets/proxy-runtime-1NyFshf9.jsView on unpkg · L1
bfjdx/757lr8.jsView file
17L18: //# sourceURL=${A}`)();n=c,o=l}else n=g.z$,o=g.Mt;r.construct&&(l.construct=function(e,t,i){let n,s=!1,a={fn:e,this:null,args:t,newTarget:i,return:e=>{s=!0,n=e},call:()=>(s=!0,n=o(... L19: //# sourceURL=${r.url.href}`),n}return o.body;case"style":return(0,i.sM)(await o.text(),e.context,r.meta);case"sharedworker":case"worker":return(0,i.iP)(new Uint8Array(await o.arra...
Medium
Dynamic Require

Package source references dynamic require/import behavior.

bfjdx/757lr8.jsView on unpkg · L17
assets/ChatPage-zoA8Z6RX.jsView file
1(function(_0x31bba3,_0x379132){const _0x159e7b={_0x26fc34:0x358,_0x56fc24:0x70c,_0x216b69:0x578,_0x22d6fc:0x60b,_0x33af41:0x2a6,_0x514b56:0x7f9,_0x4ccc4c:0x9d1,_0x35dd24:0xfdf,_0x1...
High
Obfuscated Payload Loader

Source contains an obfuscator-style string-array loader that reconstructs and executes hidden code.

assets/ChatPage-zoA8Z6RX.jsView on unpkg · L1
matchType = malicious_source_fingerprint_signature signature = 2d82bc066e3c546d signatureType = suspicious_hashes sourceLabel = final_verdict:malicious matchedPackage = captainindia@2.0.0 matchedPath = assets/ChatPage-zoA8Z6RX.js matchedIdentity = npm:Y2FwdGFpbmluZGlh:2.0.0 similarity = 1.000 shingleOverlap = 14 summary = package final verdict is malicious
High
Known Malware Source Fingerprint Signature

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

assets/ChatPage-zoA8Z6RX.jsView on unpkg
bfjdx/w7m632.wasmView file
path = bfjdx/w7m632.wasm kind = wasm_module sizeBytes = 586279 magicHex = [redacted]
Medium
Ships Wasm Module

Package ships WebAssembly modules.

bfjdx/w7m632.wasmView on unpkg
assets/KaTeX_Script-Regular-D3wIWfF6.woff2View file
path = assets/KaTeX_Script-Regular-D3wIWfF6.woff2 kind = high_entropy_blob sizeBytes = 9644 magicHex = [redacted]
High
Ships High Entropy Blob

Package ships high-entropy non-source blobs.

assets/KaTeX_Script-Regular-D3wIWfF6.woff2View on unpkg
assets/fingerprint-Y5nV5FVa.jsView file
matchType = normalized_sha256 matchedPackage = captainindia@2.0.0 matchedPath = assets/fingerprint-Y5nV5FVa.js matchedIdentity = npm:Y2FwdGFpbmluZGlh:2.0.0 similarity = 1.000 summary = normalized source hash matched finalized malicious source
High
Known Malware Source Similarity

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

assets/fingerprint-Y5nV5FVa.jsView on unpkg
assets/livekit-C0E_jLSz.jsView file
13patternName = generic_password severity = medium line = 13 matchedText = `},e.par...+`\r
Medium
Secret Pattern

Hardcoded password in assets/livekit-C0E_jLSz.js

assets/livekit-C0E_jLSz.jsView on unpkg · L13

Findings

2 Critical5 High6 Medium4 Low
CriticalCritical Secretassets/proxy-runtime-1NyFshf9.js
CriticalSecret Patternassets/proxy-runtime-1NyFshf9.js
HighObfuscated Payload Loaderassets/ChatPage-zoA8Z6RX.js
HighObfuscated
HighShips High Entropy Blobassets/KaTeX_Script-Regular-D3wIWfF6.woff2
HighKnown Malware Source Similarityassets/fingerprint-Y5nV5FVa.js
HighKnown Malware Source Fingerprint Signatureassets/ChatPage-zoA8Z6RX.js
MediumDynamic Requirebfjdx/757lr8.js
MediumNetwork
MediumProtestware
MediumShips Wasm Modulebfjdx/w7m632.wasm
MediumStructural Risk Force Deep Review
MediumSecret Patternassets/livekit-C0E_jLSz.js
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowNo License