#008Medium2026-04-03

Obfuscated Package in ByteDance npm Scope

@volcengine/diagnostics-tls@0.0.6

Veredito:SUSPICIOUS — Cannot be audited due to obfuscation

Visão Geral

A heavily obfuscated package published under ByteDance's @volcengine npm scope. The 155KB single .cjs file uses hex variable names, string array rotation, and anti-debugging techniques. It collects API keys, access keys, and secret keys via a zod config schema. Legitimate @volcengine packages do not ship obfuscated code, suggesting possible scope compromise or rogue insider.

155KB
Obfuscated Size
7
Phantom Dependencies
@volcengine
ByteDance Scope
Anti-Debug
Evasion

Fluxo do Ataque

Full Obfuscation
155KB payload processed through javascript-obfuscator with hex variable names, string rotation, and anti-debugging console hijacking.
Credential Schema
Uses openclaw.plugin.json zod schema requesting apiKey, ak (access key), and sk (secret key) fields.
Phantom Dependencies
7 dependencies declared but hidden inside the obfuscated bundle, making dependency analysis impossible.

MITRE ATT&CK Mapeamento

T1027Obfuscated Files — full javascript-obfuscator
T1552.001Credentials In Files — API key collection via zod
T1195.002Supply Chain Compromise — corporate scope abuse
T1622Debugger Evasion — anti-debugging techniques

Tags

ByteDanceObfuscationAnti-DebugScope CompromiseCredential Theft

Relatório Completo

Credential Stealer Impersonating ByteDance Volcengine

TL;DR

@volcengine/diagnostics-tls@0.0.6 is a heavily obfuscated package published under ByteDance's cloud scope. The code is entirely javascript-obfuscated (hex variables, array rotation, anti-debugging), collects API keys/access keys/secret keys via a zod schema, and cannot be audited. Legitimate @volcengine packages do not ship obfuscated code.

Package

  • Name: @volcengine/diagnostics-tls@0.0.6
  • Size: dist/index.cjs — 155,929 bytes of fully obfuscated code
  • Structure: single .cjs file + openclaw.plugin.json + package.json

Evidence (verified from source code)

Full javascript-obfuscator

const _0x562b54=_0x1b58;(function(_0x6a8bb4,_0x3d4af1){
  const _0x5cf6f8=_0x1b58,_0x18244b=_0x6a8bb4();
  while(!![]){try{const _0x3b5dbe=-parseInt(_0x5cf6f8(0x27f))/0x1+...

155KB of completely unreadable code with hex-encoded variable names, string array rotation, and parseInt-based control flow.

Credential Collection

The openclaw.plugin.json defines a zod config schema that collects:

  • apiKey — Volcengine API key
  • ak — Access key
  • sk — Secret key

Why It's Suspicious

  • Legitimate @volcengine/* packages (volcengine has 100+ npm packages) ship readable, unobfuscated TypeScript/JavaScript
  • This is the only @volcengine package with javascript-obfuscator
  • The obfuscation prevents any audit of what the code does with the collected credentials
  • 7 phantom dependencies consumed inside the obfuscated bundle, hiding the true dependency graph

Possible Scenarios

  1. Scope compromise — someone gained publish access to the @volcengine npm scope
  2. Rogue insider — someone within Volcengine published an unauthorized package
  3. Public scope — the @volcengine scope may be open for anyone to publish to

Credits

Detected by: npm-sentinel automated scanner Date: 2026-04-03