VeloraDEX SDK installed macOS backdoor
@velora-dex/sdk 9.4.1 was published directly to npm with no matching source commit. Importing it fetched a macOS backdoor and registered launchctl persistence.
Story
On April 7, 2026, an attacker pushed a malicious release of @velora-dex/sdk, the JavaScript toolkit used to integrate with the VeloraDEX decentralized exchange, directly to npm without ever touching the corresponding GitHub repository. The compromised version, 9.4.1, was a registry-only attack: developers reviewing the project's default branch would have seen nothing wrong.
Aikido researcher Charlie Eriksen reported the package on the project's GitHub tracker, and StepSecurity published a teardown. The diff in the tarball was small. package.json carried the version bump, and dist/index.js gained three prepended lines that base64-decoded a shell command and ran it through child_process.exec() as soon as application code imported the SDK. The command used curl to pull install.sh from 89.36.224.5, suppressing all output.
On macOS, the script created ~/Library/Application Support/com.apple.Terminal/, fetched either an ARM64 or Intel build of a binary named profiler from the same host, made it executable, and registered it as a persistent user service through launchctl submit -l zsh.profiler. The naming borrowed from Apple's own bundle conventions to blend into a developer laptop.
The trigger here was not an npm lifecycle hook. Passing --ignore-scripts, a common defense against malicious postinstall payloads, did nothing, because the malicious code ran at require('@velora-dex/sdk') time. StepSecurity told downstream operators to pin to 9.4.0 or earlier, remove the launchctl service and the dropped binary, and rotate any secret reachable from an affected machine.
Affected Artifacts
- Observed
- 2026-04-07
- Compromised Versions
- Fixed
- Not listed
- Evidence
- distribution: npmjs.com/package/@velora-dex/sdk/v/9.4.1, file: dist/index.js, ip: 89.36.224.5, url: http://89.36.224.5/troubleshoot/mac/install.sh , +5 more
- StepSecurity identified 9.4.0 and earlier as safe versions; 9.4.1 was the compromised registry-only release.
Incident Context
- Motive
- Backdoor
- Cause
- Compromised Account Credentials
- Transitive
- Yes
External References
Source record: oss/attacks/velora-dex-sdk/meta.yaml