LWA-2026-6007 MAL-2026-6527 ↗ confirmed malware

@immobiliarelabs/backstage-plugin-gitlab-backend@3.0.3

Malicious code in @immobiliarelabs/backstage-plugin-gitlab-backend (npm)

T1195.002 · Compromise Software Supply ChainT1059.007 · JavaScriptT1059.004 · Unix ShellT1204.002 · Malicious FileT1027 · Obfuscated Files or InformationT1036.005 · Match Legitimate Resource Name or Location

Analysis

This version of the package ships two files that are not part of the legitimate plugin and are not declared in the package manifest: a root index.js and a binding.gyp. The binding.gyp abuses node-gyp command substitution (sources:["<!(node index.js > /dev/null 2>&1 && echo stub.c)"]) to silently execute index.js during package installation/build, suppressing all output. index.js is a single eval() over a Caesar-shifted character-code array; once de-obfuscated it is an AES-128-GCM decryptor (createDecipheriv with authTagLength 16) that decrypts a large embedded hex-encoded ciphertext blob and runs the resulting second-stage code. The legitimate plugin code is left intact in dist/ to avoid suspicion, while the injected files run attacker-controlled, encrypted payload at install time. This is a malicious supply-chain injection / install-time dropper.

analyzed by
Leitwacht
first seen
Jun 26, 2026, 03:20 PM
analyzed
Jun 28, 2026, 06:24 AM
weekly installs
10,854

Related advisories

browse all confirmed advisories →

Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.