oob-moika-tech-depconf-2026

Wave 2 (2026-05-29) of the oob-moika-tech dependency confusion campaign. A third npm account, t-in-one (email [email protected]), published 12 packages across three new scopes: @t-in-one (10 packages at 5.7.1), @capibar.chat/ui-kit (99.5.7), and @sber-ecom-core/sberpay-widget (99.5.8, impersonating Sberbank's SberPay payment widget). All Wave 2 packages reuse the exact C2 host (oob.moika.tech) and the same hardcoded X-Secret value (l95HdDaz3kQx1Zsg3WxH6HvKANf51RY1) as the May 27 Wave 1 packages published by mr.4nd3r50n and pik-libs, tying all three accounts to one operator. Unlike Wave 1's cleartext payload, Wave 2 ships a three-layer-obfuscated postinstall.js (obfuscator.io + custom base64 alphabet + integer-shuffle string table), a functional T_IN_ONE_NO_TELEMETRY kill switch, and a run-once guard at ~/.cache/._t-in-one_init/. The @capibar.chat and @sber-ecom-core scopes were pre-staged with benign 99.0.7 versions on 2026-05-04. See campaign--oob-moika-tech-depconf-2026 (Wave 1 record) for the original 164 packages.

discovered 2026-05-28

Objective

Exfiltrate developer and CI environment credentials (process.env) and deploy a persistent OS-aware second-stage agent via npm dependency confusion, extending the May 27 campaign to internal auth/token modules and a real bank's payment widget (Sberbank).

Packages

Indicators

Techniques

Read the full analysis →