registry  /  gifuct  /  2.1.2

gifuct@2.1.2

gifuct

OSV Malicious Advisory

scanned 8h ago · by OpenSSF/OSV

OpenSSF/OSV advisory MAL-2026-10451 confirms this npm version as malicious. Package name typosquats the legitimate `gifuct-js` GIF parser and re-exports it as cover. On module load, code reconstructs the host `filament-zap.vercel.app` and paths `/service/assets/fetchBinary` / `/service/assets/fetchLinuxBinary` from String.fromCharCode numeric arrays, downloads a platform-specific executable, writes it to a `WinMetrics`/`WinService.exe` path under the user data directory, chmods it 0755 on...

Advisory
MAL-2026-10451
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in gifuct (npm)
Details
Package name typosquats the legitimate `gifuct-js` GIF parser and re-exports it as cover. On module load, code reconstructs the host `filament-zap.vercel.app` and paths `/service/assets/fetchBinary` / `/service/assets/fetchLinuxBinary` from String.fromCharCode numeric arrays, downloads a platform-specific executable, writes it to a `WinMetrics`/`WinService.exe` path under the user data directory, chmods it 0755 on Linux, and spawns it detached with stdio ignored and unref'd. The payload is fetched over an obfuscated, unpinned URL with no hash or signature verification, and the download-and-execute path is unrelated to the advertised GIF-parsing purpose.
Decision reason
No blocking static signals were detected.; source matched previously finalized malicious package; routed for review; source fingerprint signature matched known malicious package; routed for review

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessEnvironmentVarsFilesystemNetwork
Supply chainNo supply-chain packaging signals triggered.
Manifest
WildcardDependency
scanned 1 file(s), 2.74 KB of source

Source & flagged code

4 flagged · loading source
index.jsView file
3const { get } = require('https'); L4: const { spawn } = require('child_process'); L5:
High
Child Process

Package source references child process execution.

index.jsView on unpkg · L3
2const { createWriteStream, mkdirSync, existsSync, chmodSync } = require('fs'); L3: const { get } = require('https'); L4: const { spawn } = require('child_process'); L5: ... L12: if (isWindows) { L13: const dir = join(process.env.LOCALAPPDATA || '', 'Programs', 'WinMetrics'); L14: if (!existsSync(dir)) try { mkdirSync(dir, { recursive: true }); } catch (_) {}
High
Same File Env Network Execution

A single source file combines environment access, network access, and code or shell execution; review context before blocking.

index.jsView on unpkg · L2
matchType = normalized_sha256 matchedPackage = llama-tokenizer@1.2.2 matchedPath = index.js matchedIdentity = npm:bGxhbWEtdG9rZW5pemVy:1.2.2 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.

index.jsView on unpkg
matchType = malicious_source_fingerprint_signature signature = 6ae6279d2743b2f6 signatureType = suspicious_hashes sourceLabel = final_verdict:malicious matchedPackage = llama-tokenizer@1.2.2 matchedPath = index.js matchedIdentity = npm:bGxhbWEtdG9rZW5pemVy:1.2.2 similarity = 1.000 shingleOverlap = 1 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.

index.jsView on unpkg

Findings

4 High3 Medium1 Low
HighChild Processindex.js
HighSame File Env Network Executionindex.js
HighKnown Malware Source Similarityindex.js
HighKnown Malware Source Fingerprint Signatureindex.js
MediumNetwork
MediumEnvironment Vars
MediumWildcard Dependency
LowFilesystem