Search This Blog

Powered by Blogger.

Blog Archive

Labels

Footer About

Footer About

Labels

Showing posts with label Open Source Security. Show all posts

PyTorch Lightning and Intercom Client Users Exposed to Credential Stealing Campaign


 

Python's software supply chain has been compromised, which targeted the popular PyPI package Lightning and exposed downstream machine learning environments to covert credential theft through a sophisticated software supply chain compromise. 

In conjunction with Aikido Security, OX Security, Socket, and StepSecurity researchers, versions 2.6.2 and 2.6.3, both published on April 30, 2026, have been modified maliciously as part of a broader intrusion related to the "Mini Shai-Hulud" campaign. 

A day earlier, the attack emerged through compromised SAP-related npm packages, underlining an ongoing trend of coordinated cross-ecosystem supply chain threats targeting high-value development environments. As a result of this compromise, organizations that utilize PyTorch Lightning, an open-source abstraction layer over PyTorch with over 31,000 stars on Github, face significant risk. 

In addition to being frequently embedded in dependency trees facilitating image classification, fine-tuning of large language models, diffusion workloads, and forecasting, Lightning's ubiquity increased the scope of the attack. 

A standard pip install lightning command was sufficient for the activation of the malicious chain exploitation did not require a sophisticated trigger. Upon installation of the compromised package, a hidden _runtime directory containing obfuscated JavaScript was created and executed automatically upon module import. This behavior was embedded within the package's initialization logic, ensuring that no additional user interaction was required to execute the script. 

Upon receiving the payload, a Python script (start.py) downloaded the Bun JavaScript runtime from external sources, followed by an 11 MB obfuscated file (router_runtime.js) which carried out the attack sequence in stages. An execution model utilizing JavaScript within a Python package utilizing cross-language JavaScript marks a significant evolution in attacker tradecraft. This complicates detection mechanisms focusing on single-language threats.

The malware's primary objective was credential harvesting. Analysis indicates that the malware targeted GitHub tokens, cloud service credentials spanning Amazon Web Services (AWS), Google Cloud Platform (GCP), and Azure, SSH keys, NPM tokens, Kubernetes configurations, Docker credentials, and environment variables systematically. Moreover, it was also capable of accessing cryptocurrency wallets and developer secrets stored within local and continuous integration/continuous delivery environments. 

By exploiting compromised credentials, stolen data was exfiltrated, often by automating commits to attacker-controlled GitHub repositories, which effectively concealed malicious activity within legitimate developer workflows, effectively masking malicious activity. There were distinctive markers that linked the campaign to the "Shai-Hulud" identity. 

Infected environments were observed creating public repositories with unusual naming conventions, including EveryBoiWeBuildIsaWormBoi and descriptions such as "A Mini Shai-Hulud has appeared." Attackers seem to be able to track compromised systems using these artifacts both as infection indicators and as signalling mechanisms. 

An effort has been made to link the activity to a financial motivated threat group referred to as TeamPCP, who has consistently demonstrated a focus on credential-rich development environments. According to OX Security, approximately 8.3 million downloads are likely to have been exposed as a result of the incident. 

As a result of the attack, Intercom-Client was compromised on the same day, further demonstrating the coordinated nature of the campaign. These incidents are the culmination of a series of supply chain breaches affecting npm, PyPI, and Docker Hub occurring between April 21 and 23 that suggest that a deliberate and sustained effort was made to infiltrate widely trusted software distribution channels between April 21 and 23.

The router_runtime.js payload was further examined in order to uncover extensive obfuscation and a clear focus on credential access and repository manipulation. Approximately 700 references were found to process and environment variables, over 460 references were identified to authentication tokens, and approximately 330 references were found to code repositories. 

Shai-Hulud operations are closely related to these patterns, which emphasize code reuse and iterative refinement of attack techniques. Furthermore, the payload was also capable of poisoning GitHub repositories and propagating through npm packages, raising concerns about secondary infection vectors beyond data exfiltration. 

The Lightning-AI GitHub repository became aware of the compromise when a user reported suspicious behavior under issue #21689 titled “Possible supply chain attack on version 2.6.3.” The report described a hidden execution chain that involved downloading the Bun runtime and executing a large obfuscated payload during module import. Despite this, the issue was later closed without clarification, thereby creating uncertainty concerning the project's initial response to the matter. 

Following Socket's disclosure in the Lightning-AI/pytorch-lightning repository, an even more unusual outcome occurred. In a matter of seconds, an account identified as pl-ghost closed the issue warning about compromised versions, and then posted a meme entitled "SILENCE DEVELOPER." This behavior has raised immediate concerns about potential account compromise since it was seen as anomalous. 

It was discovered that additional suspicious activity was related to the same account, including six rapid branch creations and deletions across multiple repositories within approximately 70 minutes, which were associated with this account. Several of these branches followed random 10-character lowercase naming conventions, which is consistent with the behavior of the Shai-Hulud worm, which probes for write access. 

As well as the branch impersonating Dependabot, another contained inconsistencies such as a misspelled identifier and incorrect naming structure, and all branches were deleted within seconds of being created, and none of them triggered workflows, indicating that automated probing was not being used in development. This combined evidence strongly suggests that the maintainer account may have been compromised, possibly using the same stolen credentials that enabled the malicious package publication on PyPI to be published. 

Upon learning of the incident, Python Package Index administrators quarantined Lightning versions that may have been affected. According to the maintainers, an investigation is underway in order to determine the cause, as the compromised releases introduced functionality that was consistent with credential harvesting methods. 

In the meantime, it is highly recommended that developers remove versions 2.6.2 and 2.6.3 from their environments, downgrade to version 2.6.1, and rotate any potentially exposed credentials across multiple cloud and development platforms, including API keys, tokens, and access credentials. Besides Python, the campaign is evolving beyond Python.

Researchers have confirmed that version 7.0.4 of the intercom-client package within the Node ecosystem has also been compromised, using a preinstall hook to execute credentials-stealing malware. Packagist also has been affected by the attack, where the intercom/intercom-php package (version 5.0.2) has been altered to include a Composer plugin that downloads the Bun runtime using a shell script (setup-intercom.sh) and executes the same obfuscated payload during installation and updates. 

As a result of encryption and exfiltration of stolen data to a remote server endpoint, the campaign's adaptability across ecosystems was further demonstrated. It has been determined that the GitHub account "nhur" has likely been compromised, and that the malicious intercom-client package was published through an automated Continuous Integration workflow triggered by a now-deleted branch of GitHub.

It appears that technical overlap exists among the npm, PyPI, and PHP ecosystems, with similarities in exfiltration techniques based on GitHub, credential targeting patterns, and payload structures. Furthermore, researchers have found similarities between these attacks and previous ones affecting organizations such as Checkmarx, Bitwarden, Telnyx, LiteLLM, and Aqua Security's Trivy, which supports the hypothesis that a single threat actor is responsible. 

Upon suspension from mainstream platforms, TeamPCP reportedly launched an onion-based platform on the dark web to expand its presence. Additionally, the actors have publicly referenced their ties with other cybercriminal groups, including LAPSUS$, while marketing their own tooling infrastructure. 

The developments suggest that the threat landscape is becoming increasingly organized and persistent, with supply chain attacks not just isolated incidents but a broader strategy for infiltrating and monetizing developer ecosystems. Lightning and Intercom compromises remain a stark reminder of the fragility of modern software supply chains as investigations continue. 

In light of the increasingly capable of pivoting across ecosystems and exploiting trusted distribution channels by attackers, organizations operating in cloud-native environments and AI-based environments have become increasingly reliant on robust dependency auditing, real-time monitoring, and rapid incident response. 

The incident highlights a critical juncture in software supply chain security, at which trusted ecosystems are increasingly being weaponised through stealthy, cross-language attack chains that are emerging from across the globe. The coordinated compromises of PyPI, npm, and Packagist packages, together with evidence of maintainer account abuse and automated propagation techniques, demonstrate a high level of operational maturity that challenges traditional methods of detection and response. 

It is now necessary to take proactive measures to guard against threats such as TeamPCP, who have demonstrated their capability to infiltrate developer workflows on a large scale. These include rigorous dependency auditing, tighter access controls, and continuous monitoring of build environments. 

It is imperative to safeguard the integrity of open-source components in order to maintain confidence in modern software development in the present threat landscape.

Open Source Security Tools impacted by Microsoft Account Suspensions


 

Several widely trusted security tools have been affected by the disruption beyond routine enforcement, including the distribution pipelines. Microsoft suspended developer accounts associated with VeraCrypt, WireGuard, and Windscribe without any prior technical clarification, effectively preventing them from accessing Microsoft's code signing and update delivery systems. 

Practically, this disruption hinders the delivery of authenticated binaries, delays incremental updates, and restricts timely responses to emerging vulnerabilities. Since Windows environments are reliant on timely security updates to maintain their security, such a halt can pose a serious risk to users who utilize these tools for encryption, tunneling, and secure communication. 

As a result of the incident, open-source maintainers and contributors have stepped up to respond, raising concerns over opaque enforcement mechanisms and the lack of transparency in the remediation process. Microsoft acknowledges the issue in public forums following the escalation. A representative has stated that internal teams are actively reviewing the suspensions and working towards restoring the affected accounts. 

Still, there has been no clear indication of a timeline for doing so. This initial disruption set the stage for a deeper pattern that soon began to unfold across multiple projects. As the scope of the disruption became clearer, what initially appeared to be isolated enforcement actions began to reveal a broader and more coordinated pattern affecting multiple high-impact projects. 

Timeline of Account Suspension and Developer Impact

The sequence of events provides critical insight into how the disruption unfolded and why it quickly escalated beyond a routine compliance issue. Rather than being an isolated administrative action, the sequence of events underpinning the suspensions suggest a systemic enforcement anomaly. There was no preceding warning, audit flag, or remediation notice given to the maintainers of critical open-source security projects as to the sudden access restrictions across their Microsoft developer accounts in early April 2026. 

VeraCrypt's lead developer, Mouhinir Idrassi, first reported the problem, which involved the termination of his long-standing account that had previously been used to sign Windows drivers and bootloaders. The pattern became more evident as similar constraints began to surface across other critical projects. 

A similar barrier arose for Jason Donenfeld, the architect of WireGuard, as he attempted to push a significant Windows update that had been in development for a long time. Several similar accounts surfaced over the course of several years. As similar access loss confirmed by Windscribe, attention quickly shifted to the systems that govern these access controls.

While the timeline highlights the outward symptoms of the disruption, the underlying cause appears to originate from internal policy enforcement mechanisms. 

Policy Enforcement and Verification Breakdown

It is Microsoft's Windows Hardware Program, a critical trust framework governing kernel-mode driver distribution that is at the core of the disruption. 

Unless Windows systems are signed with cryptographic signatures, low-level drivers cannot be loaded, effectively halting deployment within the operating system. This dependency effectively places a centralized control layer over the distribution of low-level software, amplifying the impact of any disruption within the system. 

Developers have consistently denied receiving any formal notification regarding identity verification, despite statements made by Scott Hanselman that multiple communication attempts had been made over the preceding months, as a result of a policy revision introduced in late 2023. However, this assertion contrasts sharply with developer accounts, where no actionable or verifiable communication trail was observed. 

A notable point is that Donenfeld completed the required validation workflow through Microsoft’s designated third-party provider, which confirmed successful validation. However, his account remains inaccessible, raising concerns about inconsistencies between verification status and enforcement actions in Microsoft’s developer identity infrastructure. 

The inconsistencies further heightened scrutiny of the implementation of enforcement policies. Clarification emerging around the incident indicates the suspensions were not arbitrary, but linked to a tightening of Microsoft's compliance enforcement within its developer identity framework, even though critical communication and verification reconciliation gaps appear to have been exposed during the execution. 

Some maintainers have claimed that either the mandated verification steps were already complete or that no actionable notification was ever received, so affected parties have been forced to go through an extended appeals process that has reportedly lasted several weeks. As concerns escalated publicly, senior leadership intervention became necessary to address the growing uncertainty within the developer community.

As the situation became public, Pavan Davuluri responded directly, acknowledging the issue and informing us that internal teams are working on remediation. The enforcement is tied to an October policy update of the Windows Hardware Program, which required partners who had not re-verified their accounts since April 2024 to re-verify their identities. 

In spite of Microsoft's claims that multiple notification channels, including email alerts and in-platform prompts, were used to signal the transition, the company has concurrently conceded these mechanisms failed to reliably reach all stakeholders, particularly within open-source projects that have high impact. 

Moreover, Davuluri stated that Microsoft has contacted VeraCrypt and WireGuard developers directly in order to restore account access, framing the episode as a lapse in operational processes that will inform future policy changes. Despite the ongoing restoration efforts, signing capabilities are expected to be restored shortly, so users can resume getting security patches promptly.

However, beyond policy and process, the technical consequences of this disruption began to raise more immediate concerns. 

Security Implications and Systemic Risk Exposure 

It is important to note that the incident, in addition to interrupting update pipelines immediately, introduces a more consequential risk vector related to trust anchors and certificate lifecycle management within the Windows ecosystem. 

As Microsoft plans to revoke the certificate authority used to sign the VeraCrypt bootloader, existing trusted binaries may be invalidated, affecting system integrity. Users of VeraCrypt are facing a significant threat to system integrity. As a consequence of the revocation, encrypted systems may experience boot-time failures once the update takes effect unless timely access is provided to re-sign and redistribute an updated boot component, effectively locking users out of their environments.

Having highlighted the severity of this scenario, Mounir Idrassi notes that the inability to restore a valid trust chain could render the software non-viable for deployment on Windows. This marked the first publicly visible indication that the issue was not limited to routine account enforcement, but potentially rooted in deeper systemic controls. 

Moreover, the implications of the breach extend beyond encryption alone, extending into network security dependencies as a whole. This exposure is similar within the networking stack, since WireGuard underpins a wide range of privacy-focused services, including Mullvad, Proton VPN, and Tailscale implementations. It has been highlighted by Jason Donenfeld that any emerging security vulnerabilities within the Windows driver layer would not be patchable under current constraints, leaving a substantial user base at risk. 

While alternative platforms, such as Linux and macOS, are unaffected by the incident due to their independent distribution and signing models, the concentration of users on Windows greatly magnifies the effect, effectively isolating critical security updates from the largest segment of the install base. These risks together indicate a deeper architectural dependency within the Windows ecosystem, and more broadly, underscore a structural dependency embedded within the Windows security architecture. 

During kernel mode execution, compliance with Microsoft's driver signing requirements is enforced via centralized infrastructure and developer account controls through centralized infrastructure. MemTest86, a tool that goes beyond encryption and VPN software, suggests a systemic vulnerability rather than a domain-specific vulnerability. Any disruption within the Partner Center or associated identity systems may cascade into a complete halt to software deployment at the kernel level, which is incapable of returning to normal operation. 

For security practitioners, this reinforces a long-standing concern that critical open-source tools remain operationally dependent on a single vendor-controlled distribution and trust pipeline, despite being decentralized in development. In turn, this structural dependency frames the incident's broader impact on the industry as a whole. 

A wider reassessment of how critical security tools interact with centralized platform controls is likely to follow the episode, particularly in environments where a single security authority controls execution at the deepest layers of the system. Developers and security teams should be aware of the importance of operational resilience strategies, including diversifying distribution channels and contingency signing arrangements, as well as establishing clearer audit visibility into compliance status within vendor ecosystems. 

The rule also places renewed responsibility on platform providers to ensure that enforcement mechanisms are not only technically effective but also operationally transparent, with verifiable communication trails and fail-safe recovery mechanisms. In the midst of remediation, the industry's longer-term success will depend on whether these disruptions lead to structural improvements that balance platform security with the continuity of the tools that are designed to safeguard it.

Fraudulent Recruiters Target Developers with Malicious Coding Tests


 

If a software developer is accustomed to receiving unsolicited messages offering lucrative remote employment opportunities, the initial approach may appear routine—a brief introduction, a well-written job description, and an invitation to complete a small technical exercise. Nevertheless, behind the recent waves of such outreach lies a sophisticated operation. 

During the investigation, investigators have discovered a new version of the long-running fake recruiter campaign linked to North Korean threat actors. This campaign now targets JavaScript and Python developers with cryptocurrency-themed assignments. 

With a deliberate, modular design that makes it possible for operators to rapidly rebuild and re-deploy infrastructure when parts of the campaign are exposed or dismantled since at least May 2025. Several malicious packages were quietly published to the NPM and PyPI ecosystems, which developers utilize in routine work processes. 

Once executed within a developer's environment, the packages serve as downloaders that discreetly retrieve a remote access trojan. Researchers have compiled 192 packages associated with the campaign, which they have labeled Graphalgo, confirming the threat's scale and persistence. 

It has been determined that the operation is more than just opportunistic phishing and represents a carefully orchestrated social engineering campaign incorporated into legitimate hiring processes rather than just opportunistic phishing. 

A recruiting impersonator impersonates a recruiter from an established technology company, initiating communication through professional networking platforms and via email with job descriptions, technical prerequisites, and compensation information aligned with market trends. By cultivating trust over a number of exchanges, the operators resemble the cadence and tone of authentic recruitment cycles without relying on urgency or alarm. 

Following the establishment of legitimacy, they implement a coding assessment, typically a compressed archive, designed to provide a standard measure of the candidate's ability to solve problems or develop blockchain-related applications. 

In addition, the files provided contain embedded malware that is designed to execute once the developer tries to review or run the project locally. Using routine practices such as cloning repositories, installing dependencies, and executing test scripts, the attackers were able to circumvent conventional suspicion triggers associated with unsolicited attachments. 

The strategy demonstrates a deep understanding of developer behavior, technical interview conventions, and the implicit trust derived from structured hiring processes, according to researchers. The execution of the malicious project components in several observed cases enabled unauthorized system access, resulting in credential harvesting, lateral movement, as well as the possibility of exposing proprietary source code and corporate infrastructure to unauthorized access. 

A key component of the campaign's success is not exploiting software vulnerabilities, but rather manipulating professional norms—transforming recruitment itself into a delivery channel for compromise. Several ReversingLabs researchers have determined that the infrastructure supporting the campaign is intended to mirror legitimate activity within the blockchain and crypto-trading industries. 

Threat actors establish fictitious companies, post detailed job postings on professional and social platforms, such as LinkedIn, Facebook, and Reddit, and request candidates to complete technical assignments as part of the simulated interview process. The tasks are usually similar to routine coding evaluations, where candidates clone repositories, execute projects locally, resolve minor bugs, and submit improvements. 

Nevertheless, the critical objective is not the solution submitted, but the process of executing it. When running a project, a malicious dependency sourced from trusted ecosystems such as npm and PyPI is installed, thus allowing the payload to be introduced indirectly through dependency resolution processes. 

As investigators point out, the process of assembling such repositories is straightforward: a legitimate open-source template is modified to reference a compromised or weaponized package, following which the project appears technically sound and professionally structured. An example of a benign package called “bigmathutils,” which had accumulated approximately 10,000 downloads, was introduced into malicious functionality by version 1.1.0. 

A maneuver likely intended to limit forensic visibility followed by the deprecation and removal of the package soon thereafter. A more extensive campaign was later developed, dubbed Graphalgo for its frequent use of packages containing the term "graph" and their imitations of well-established libraries such as graphlib.

Researchers have observed a shift in package names that include the word "big" since December 2025, although there has not been a comprehensive identification of the recruitment infrastructure associated with that phase. As a means of giving structural legitimacy to their operations, actors utilize GitHub Organizations. The visible project files of GitHub repositories do not contain any overtly malicious code.

Instead, compromise occurs by resolving external dependencies -Graphalgo packages retrieved from npm or PyPI - thus separating the malicious logic from the repository, making detection more challenging. By executing the projects as instructed, developers inadvertently install a remote access trojan on their computer systems. Analysis of the malware indicates it is capable of enumerating processes, executing arbitrary commands via command-and-control channels, exfiltrating data and delivering secondary payloads. 

A clear financial motive associated with cryptocurrency asset theft is also evident from the fact that the RAT checks for the MetaMask browser extension. According to researchers, multiple developers were successfully compromised before the activity was discovered, demonstrating the operational effectiveness of embedding malicious logic within trusted mechanics in software development workflows.

According to a technical examination of the later infection stages, the intermediate payloads serve mainly as downloaders, retrieving the final remote access trojan from the attacker's infrastructure. Upon deployment, the RAT communicates periodically with its command-and-control server, polling it for tasking and executing the instructions given by the operator. 

The tool has a feature set that is consistent with mature post-exploitation tools: file uploading and downloading capabilities, process enumeration, and execution of arbitrary system commands. Additionally, communications with the C2 endpoint are token-protected, requiring a valid server-issued token when registering an agent or issuing a command command. 

It is believed that this additional authentication layer serves to restrict unsolicited interaction with the infrastructure and to reflect operational discipline previously observed in North Korean state-backed campaigns. In addition to detecting the MetaMask browser extension, the malware demonstrates a clear interest in crypto assets, aligning with financial motivations historically linked to Pyongyang-aligned groups as well as a clear interest in cryptocurrency assets. 

As part of their investigation, researchers identified three functionally equivalent variants of the final payload implemented in various languages. JavaScript and Python versions were distributed through malicious packages hosted on npm and PyPI, while a third variant was found independently using Visual Basic Script. 

As first noted in early February 2026, the VBS sample communicates with the same C2 infrastructure associated with earlier "graph"-named packages, as evidenced by the SHA1 hash dbb4031e9bb8f8821a5758a6c308932b88599f18. This suggests a parallel or yet to be identified recruitment frontend is part of the broader operation. North Korean activity in public open-source ecosystems has been documented in a number of cases. 

VMConnect, an operation later dubbed and attributed to the Lazarus Group, was detected by ReversingLabs in 2023 involving malicious PyPI impersonation operations. The attack involved weaponized packages linked to convincing GitHub repositories which were able to reinforce trust before delivering malware from attacker infrastructure.

In a year, researchers observed the VMConnect tradecraft continuing to be practiced, this time incorporating fabricated coding assessments associated with fraudulent job interviews. As in some instances, the actors assumed the identity of Capital One, further demonstrating their willingness to appropriate established corporate identities to legitimize outreach. Other security firms have confirmed the pattern through their reports. 

As of 2023, Phylum provided information about NPM malware campaigns that utilize token-based mechanisms and paired packages to avoid detection, while Unit 42 provided information about the methods North Korean state-sponsored actors used to distribute multi-stage malware through developer ecosystems. In addition to Veracode and Socket's disclosures during 2024 and 2025, further npm packages attributed to Lazarus-related activity were also identified, including second-stage payloads that erased forensic evidence upon execution of the package.

In the present campaign, attribution is based on a convergence of technical and operational indicators rather than a single artifact. Lazarus methodologies, such as using fake interviews to gain access, cryptocurrency-themed lures, multistage payload chains layered with obfuscation, and deliberately delaying the release of benign and malicious package versions, are similar to previously documented Lazarus methods. 

Moreover, token-protected C2 communications and Git commit timestamps aligned with GMT+9, North Korea's time zone, provide context alignment. These characteristics suggest a coordinated, state-sponsored effort rather than opportunistic cybercrime. Researchers cite the modular architecture of the campaign as a significant strength. By separating recruitment personas from backend payload infrastructure, operators can rotate the company names, job postings, and thematic branding without altering core delivery mechanisms.

Although a direct link has been established between "graph"-named packages and specific blockchain-based job offerings, the frontend elements for the newer "big"-named packages and the VBS RAT variant have not yet been identified in detail. 

ReversingLabs analyzed the Graphalgo activity and compiled an extensive set of indicators of compromise linked to the operation, including malicious package names, hashes, domains, and C2 endpoints as part of its investigation. This gap indicates that elements of the operation likely remain active and evolving. These artifacts are crucial in assisting organizations in the detection and response to incidents, since they enable them to identify exposures within development environments and within software supply chains.

Lazarus-related operations persisting across NPM and PyPI underscores a broader reality: open-source ecosystems remain strategically valuable target surfaces, while recruitment-themed social engineering has evolved into an extremely sophisticated intrusion vector that is capable of bypassing conventional defense measures. Those findings underscore the importance of reassessing the implicit trust placed in external code and recruitment-driven processes among development teams.

Besides email filtering and endpoint protection, security controls should include rigorous dependency monitoring, sandboxing of third-party projects, and stricter verification of unsolicited technical assessments in addition to traditional email filtering and endpoint protection. 

An organization should implement a software composition analysis, enforce a least-privilege development environment, and monitor anomalous outbound connections originating from the build system or developer workstations. As a result, awareness programs must be updated to address recruitment-themed social engineering, which incorporates professional credibility with technical deception in order to achieve effective recruitment results.

Threat actors are continuing to adapt their tactics to mimic legitimate industry practices, which is why defensive strategies should mature as well - treating development environments and open-source dependencies as critical security boundaries as opposed to mere conveniences.