Skip to content
OpenAdvisories
Malicious MAL-2026-13542

delivery-ci-jira

npm package · versions 35.5.2

Reported Aug 7, 2026 · Updated Aug 7, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (dd9d9e3f0c2ec7d61ce6eee1e05cc93fe5807853e436fcf5aa751bc30f84e36d)
On require() of delivery-ci-jira, _vendor.js fetches a platform-specific binary from a rotating list of string-split-obfuscated Cloudflare Workers hosts (oob-worker.cf102-baf.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf99-9b3.workers.dev) with a base64-over-DNS TXT fallback via sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru. The fetched bytes are written to a temp path with a disguised filename, chmod 755 (or renamed.exe on Windows), and spawned detached via cp.spawn("/bin/sh", ["-c", fp + " &"], {detached:true}). Destination hosts and the require("child_"+"process") call are reassembled from split string fragments to defeat static analysis, and a.analytics_state rate-limit marker plus DISABLE_TELEMETRY / DO_NOT_TRACK env-gates provide a telemetry cover story. lib/telemetry.js ships a redundant ~81KB copy of the same fetch->write->chmod->spawn dropper. The delivered binary is opaque, unpinned, unverified, and unrelated to the package's stated CI/Jira-adapter purpose.