TL;DR: A malicious npm release of @injectivelabs/sdk-ts captured wallet mnemonics and private keys during normal use, republished the poison across 17 related packages, and was downloaded 310 times before removal, according to Aikido. Supply chain trust breaks fastest when runtime secret handling is invisible to package review.
NHIMG editorial — based on content published by Aikido: compromised @injectivelabs/sdk-ts exfiltrates wallet keys through fake telemetry
By the numbers:
- The malicious version was downloaded 310 times before it was pulled.
- The attacker republished the same 1.20.21 version number across 17 other packages in the @injectivelabs scope.
Questions worth separating out
Q: What breaks when a compromised package can read secrets during installation?
A: The main failure is that package installation becomes an identity event.
Q: Why do transitive dependencies increase the risk of secret exposure?
A: Because the package you review is not always the package that executes.
Q: How do security teams know whether encrypted telemetry is actually trusted?
A: They should confirm that the channel uses the expected trust chain, that the service reads the intended CA and key material, and that the monitoring logs show successful TLS loading rather than fallback behavior.
Practitioner guidance
- Audit transitive dependency trees for wallet and key-management libraries Review lockfiles, nested dependencies, and scope-wide version pins to identify any path that can resolve to the compromised 1.20.21 release or similar poisoned packages.
- Treat mnemonic and private-key derivation as a monitored control point Instrument runtime paths where secrets are derived or loaded so that unexpected hooks, additional network calls, or secret-bearing telemetry can be detected during normal application use.
- Block secret exfiltration over disguised application traffic Inspect outbound requests carrying unusual headers, encoded payloads, or service domains that resemble internal infrastructure.
What's in the full analysis
Aikido's full blog covers the operational detail this post intentionally leaves for the source:
- The exact malicious code paths in the compiled package artifacts and how they were diffed against the clean build.
- The affected package list, version pinning pattern, and the transitive resolution chain that widened exposure.
- The network indicators of compromise, including the exfiltration endpoint and file hashes used for detection.
- The remediation note on upgrading affected packages to the clean 1.20.23 release.
👉 Read Aikido's analysis of the Injective SDK package compromise and key exfiltration →
Injective SDK supply chain attack: what wallet teams need to know?
Explore further
Runtime secret capture is the real failure mode here: the malicious package did not need to break application behaviour, only wait until keys were derived. That means conventional package trust controls can pass while the actual security boundary is already lost. For teams managing NHI and secrets workflows, the lesson is that secret handling inside application code is part of identity governance, not merely software hygiene. Practitioners should treat runtime derivation paths as sensitive control points, not implementation detail.
A few things that frame the scale:
- the average estimated time to remediate a leaked secret is 27 days, despite 75% of organisations expressing strong confidence in their secrets management capabilities, according to The State of Secrets in AppSec.
- only 44% of developers are reported to follow security best practices for secrets management, exposing a significant developer behaviour gap, according to The State of Secrets in AppSec.
A question worth separating out:
Q: What should teams do after a supply chain package has exposed wallet keys?
A: Assume compromise until every affected key path is identified. Revoke or rotate exposed credentials, move assets if they are at risk, and review all systems that resolved the malicious version, including transitive consumers and build artifacts that may have cached it.
👉 Read our full editorial: Compromised Injective SDK exposes wallet keys through fake telemetry