By NHI Mgmt Group Editorial TeamDomain: Breaches & IncidentsSource: XygeniPublished May 22, 2026

TL;DR: A typosquatted npm package, @jaggle/resizeobserves, shipped a Python-based clipboard hijacker, registered cross-platform persistence, and replaced copied crypto wallet addresses locally with attacker-controlled wallets, according to Xygeni. The case shows how package impersonation, postinstall execution, and persistence can turn a routine dependency install into a stealthy credential-and-value theft path, with the real risk sitting in developer workstations and supply-chain trust rather than network beaconing.


At a glance

What this is: A typosquatted npm package was used to deliver a local clipboard hijacker that overwrote copied crypto wallet addresses and established cross-platform persistence.

Why it matters: It matters because software supply-chain compromise increasingly intersects with identity and secrets governance, especially where developer endpoints, build pipelines, and stored credentials can be abused without outbound signalling.

By the numbers:

👉 Read Xygeni's analysis of the @jaggle/resizeobserves npm typosquat


Context

Typosquatted open-source packages exploit the gap between what developers expect to install and what actually runs during installation. In this case, the risk is not limited to package integrity. A postinstall hook executed a Python payload that created persistence and altered clipboard contents, which means the compromise moved beyond dependency hygiene into endpoint control and transaction integrity.

For identity and access teams, the important issue is that software supply-chain attacks often depend on weak governance around developer privileges, secret exposure, and trusted installation paths. When a package install can trigger code that survives removal of the package directory, conventional clean-up assumptions fail. That makes this case typical of modern supply-chain abuse, not an isolated anomaly.


Key questions

Q: What breaks when malicious npm packages execute during CI/CD installs?

A: The main failure is that package installation becomes code execution inside a trusted build context. That lets attacker-controlled scripts read memory, steal secrets, and potentially publish more malicious artifacts before defenders notice. The control that breaks is the assumption that dependency installation is operationally harmless. Treat install-time execution as a governed security boundary, not a routine developer convenience.

Q: Why are typosquatted packages especially dangerous for developer workstations?

A: Developer workstations often hold credentials, source repositories, build tokens, and high-trust tooling, so a small package change can have outsized impact. A typosquat does not need broad distribution if it reaches the right developer or CI environment. Once installed, it can persist locally and alter transactions or secret material without obvious network indicators.

Q: How do security teams detect local malware that does not beacon out?

A: They need endpoint-level detections that focus on behaviour, not just traffic. Useful signals include suspicious persistence entries, process-title disguises, clipboard polling, and unexpected runtime installers launched from package managers. If defenders only watch network telemetry, a local clipper can operate entirely inside the host and still succeed.

Q: What should teams do after a malicious package is discovered in the registry?

A: Contain the exposure by identifying every repository, build cache, and environment that resolved the affected versions, then rotate any credentials that may have been present on those systems. After that, tighten package-install controls and publish-token scope so the same compromise pattern cannot repeat.


Technical breakdown

How npm postinstall hooks become an execution path

npm postinstall hooks run automatically after dependency resolution, which makes them a high-leverage execution path for hostile packages. In this campaign, the JavaScript installer acted as a wrapper that launched pip, installed a bundled Python payload, and enabled platform-specific persistence. That pattern matters because the attack did not rely on sophisticated obfuscation. It relied on installer trust, developer context, and the fact that package managers often execute code before defenders review the payload. The result is a supply-chain pathway that bypasses normal source-code scrutiny and lands directly on the workstation or build host.

Practical implication: Treat postinstall execution as a high-risk control point and require explicit policy exceptions for any package that invokes another language runtime.

Why local clipboard hijacking bypasses network-based detection

A clipboard hijacker does not need command-and-control traffic to be effective. The payload polls the clipboard locally, matches wallet address patterns, and swaps in attacker-controlled values before the user pastes them into a transaction flow. Because the theft happens in-band, defenders looking for beaconing, exfiltration, or suspicious DNS activity may see nothing unusual. This is one reason endpoint telemetry matters more than perimeter assumptions in supply-chain cases that target transaction integrity. The attack also shows that local malware can be economically useful even when it never reaches out to an external server.

Practical implication: Extend endpoint monitoring to clipboard manipulation, process naming, and suspicious persistence rather than relying on network detections alone.

How platform-native persistence names reduce human detection

The malware used names that mimic legitimate platform components, such as a Linux systemd user service, a macOS LaunchAgent, and a Windows scheduled task with a runtime-broker style label. The technique is simple but effective because defenders often scan service lists visually and filter out names that look routine. The stealth is social and operational rather than technical. It exploits the review process itself, especially where administrators assume a service name indicates legitimacy. That makes persistence review a governance problem as much as a detection problem.

Practical implication: Audit user-level persistence on developer endpoints and automate allowlists for known-good service, task, and LaunchAgent names.


Threat narrative

Attacker objective: Steal cryptocurrency by silently redirecting outbound transfers from infected developer or operator machines.

  1. Entry occurs when a developer installs a typosquatted npm package that looks like a legitimate polyfill but contains a malicious postinstall hook.
  2. Credential access and abuse happen locally when the payload monitors copied wallet addresses and substitutes attacker-controlled addresses at paste time.
  3. Impact is achieved when funds are transferred to the attacker’s wallet without any network beaconing or visible exfiltration.
  • LiteLLM PyPI package breach — LiteLLM PyPI supply chain attack, credentials stolen from users.
  • PyPI Breach — Python Package Index (PyPI) breach exposes developer secrets and enables supply chain attacks.

Read our 52 NHI Breaches Analysis report for a comprehensive view of breaches impacting Non-Human Identities including AI Agents.


NHI Mgmt Group analysis

Supply-chain abuse is increasingly an identity problem, not just a code-signing problem. When a package install can execute code, install persistence, and alter transaction data on a developer endpoint, the real control failure is trust in unaudited installation paths. That places endpoint execution, secrets handling, and privileged developer workflows into the same governance frame. Practitioners should stop treating package integrity as a narrow DevOps concern and treat it as part of identity and access control.

Clipboard substitution is a governance blind spot because it targets the human action between authentication and transaction finality. The attacker does not need to break authentication if they can tamper with what the user pastes into a wallet or sending dialog. This is a reminder that identity assurance does not end at login. It extends to the integrity of the actions that follow, especially on high-trust developer and finance-adjacent endpoints.

Platform-native persistence names create a detection debt that many teams are not budgeting for. The service names in this case were chosen to resemble legitimate runtime helpers, which makes manual review unreliable at scale. That is a named pattern worth tracking as persistence camouflage: adversaries use believable OS-native labels to hide user-level auto-start mechanisms from routine audit. Practitioners should treat name plausibility as insufficient evidence of legitimacy.

Developer machines now sit at the intersection of secrets exposure and transaction fraud. The same environment that holds source code, tokens, and build credentials can also be used to tamper with wallet destinations or other high-value copy-paste workflows. That means IAM, PAM, and NHI governance need to extend beyond servers and cloud workloads to the endpoints where privileged human and machine actions converge.

From our research:

  • 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.
  • Organisations maintain an average of 6 distinct secrets manager instances, creating fragmentation that undermines centralised control.
  • From our research: The State of Secrets in AppSec shows that only 44% of developers are reported to follow security best practices for secrets management, which helps explain how supply-chain abuse reaches build and endpoint workflows.

What this signals

Persistence camouflage: attackers increasingly rely on believable service names and user-level auto-start mechanisms rather than heavy obfuscation. That shifts the control burden toward endpoint inventory, service-name baselining, and review of developer workstations where routine admin assumptions are weakest. Teams that already map privileged access to endpoint activity will be better placed to catch these patterns early.

The broader signal for identity programmes is that credential protection now depends on the integrity of the workstation that handles copy-paste operations, not just on vaulting and rotation. Where developer and treasury workflows overlap, the boundary between secrets governance and transaction fraud becomes thin. That makes endpoint telemetry and access policy part of the same control story, especially when human identity and machine-delivered code interact.


For practitioners

  • Block postinstall execution for untrusted packages Enforce package-manager policy that flags any npm dependency invoking pip, shell installers, or other runtime bootstraps during install. This is a strong signal of supply-chain abuse in developer environments.
  • Audit user-level persistence on developer endpoints Check systemd user units, LaunchAgents, and scheduled tasks for plausible but unfamiliar runtime-helper names such as python3-dbus-helper or similar camouflage patterns.
  • Monitor clipboard integrity on high-trust workstations Use endpoint telemetry that can detect repeated clipboard polling, sudden address substitution, and process-title disguises on machines handling wallet or treasury transactions.
  • Hunt for package-specific infection artefacts Search for clipboard-guardian config files and bundled payload paths across build caches, developer laptops, and sandbox environments, because removing the package alone does not remove persistence.
  • Pin trusted dependencies and verify typosquat resistance Lock legitimate package names in dependency manifests and review one-character lookalikes in workflows that do not use deterministic lockfile enforcement.

Key takeaways

  • Typosquatted packages can turn install time into execution time, persistence time, and theft time in one workflow.
  • A local clipboard hijacker can steal value without network beaconing, which makes endpoint behaviour the critical detection layer.
  • Developer machine governance now needs to cover package policy, user-level persistence, and the integrity of copy-paste transaction flows.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

MITRE ATT&CK address the attack surface, NIST CSF 2.0, NIST SP 800-53 Rev 5 and CIS Controls v8 set the technical controls, and ISO/IEC 27001:2022 define the regulatory obligations.

FrameworkControl / ReferenceRelevance
MITRE ATT&CKTA0001 , Initial Access; TA0003 , Persistence; TA0009 , Collection; TA0010 , ExfiltrationThe campaign uses package installation, persistence, clipboard collection, and value diversion.
NIST CSF 2.0PR.AC-4Trusted installation paths and user-level access controls are central to this supply-chain abuse.
NIST SP 800-53 Rev 5CM-7The case depends on unnecessary software execution during package installation.
CIS Controls v8CIS-4 , Secure Configuration of Enterprise Assets and SoftwareUser-level persistence and package integrity both depend on hardened endpoint configuration.
ISO/IEC 27001:2022A.8.7Malware protection controls apply because the package installs a local stealer and persistence.

Apply malware protection and endpoint hardening to user devices and build hosts handling software installs.


Key terms

  • Typosquat Package: A typosquat package is a malicious or misleading package name designed to resemble a legitimate dependency. Attackers rely on typing mistakes, autocomplete, or familiarity to get developers to install it, then use the trusted package manager path to deliver payloads or steal data.
  • Postinstall Hook: A postinstall hook is code that runs automatically after a package manager finishes installing a dependency. In hostile packages, it becomes an execution path that can launch other runtimes, modify the host, or install persistence before defenders inspect the package contents.
  • Clipboard Hijacker: A clipboard hijacker is malware that monitors copied text and substitutes attacker-chosen content before it is pasted. In financial or crypto workflows, that can redirect transfers without any network exfiltration, making the attack hard to detect with perimeter-only controls.
  • Persistence Camouflage: Persistence camouflage is the use of believable service, task, or agent names to hide auto-start mechanisms on a host. The technique works because administrators often scan for obviously malicious names, while plausible labels blend into routine operating system noise.

What's in the full analysis

Xygeni's full analysis covers the operational detail this post intentionally leaves for the source:

  • Per-version publish timeline and indicator set for the nine malicious releases
  • File hashes, paths, and host artefacts that help with endpoint hunting
  • Cross-platform persistence implementation details for Linux, macOS, and Windows
  • Attacker wallet bundle and address-based hunting guidance for treasury teams

👉 Xygeni's full post covers the package artefacts, persistence paths, and wallet indicators defenders need

Deepen your knowledge

The NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, machine identity security, and secrets management in practical terms. It helps practitioners connect identity controls to the broader attack paths that matter in modern software supply chains.
NHIMG Editorial Note
Published by the NHIMG editorial team on August 20, 2026.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org