Recently, security researchers discovered a campaign that introduced malicious packages into the npm record posing as supplements to Strapi, the popular CMS of Node.js. The trap was not in a complex zero-day explosion, but in something much more insidious: packages with convincing names and a post-installation script that runs automatically when installing.
The detected packages shared an obvious pattern: names that started with "strapi-plugin" followed by terms such as "cron," "database" or "server," enough to confuse developers by looking for community extensions. That imitation was deliberate: Strapi's official supplements use a different scope (packed under @ strapi /), something that is often overlooked when quick searches are made in npm. If you want to check how Strapi documents the development of plugins, your official guide is available at docs.strapi.io.

The main abuse vector was the npm post-installation hook. The scripts associated with this phase are run automatically during "npm install" and inherit the user's permissions to the installation - which converts to environments with high privileges, such as CI / CD pipelines or Docker containers executed as root, in extremely valuable targets for attackers. The official documentation of npm on life cycle scripts explains this behavior and why it should be treated with caution: docs.npmjs.com.
The technical analysis of these packages shows a clear progression in the targets of the attacker. In early stages, it was sought to exploit locally accessible Reis instances to achieve remote command execution, injecting chronab entries that downloaded and executed scripts regularly. These scripts tried to leave web shells in Strapi public folders, deploy reverse shells through SSH and scan the disk for secrets, from service keys to cryptomoneda portfolio seeds.
When these attempts were insufficient in some environments, the campaign pivoted towards more diverse and stealth tactics: combining the exploitation of Reds with techniques to escape from Docker containers and write payloads outside the isolated environment; launching direct inverse shells in known ports; and, very relevant, seeking connection chains to PostgreSQL databases and embedded credentials that allow direct access to sensitive information.
Over time, the payloads became even more focused on the recognition and exfiltration of environment variables, the extraction of Strapi configurations, the dumping of Reis databases by commands such as INFO, DBSIZE and KEYS, and the collection of secrets from Docker and Kubernetes. In some cases the attackers used coded credentials to connect to PostgreSQL databases and consult Strapi's specific tables for data targeting digital assets - indicating that the operation may have been directed to cryptomoneda-related platforms.
Finally, there was a consolidation phase: deployment of a persistent implant aimed at a specific host, mechanisms to steal credentials from known routes and maintain continuous access through persistent shells. According to the researchers, the campaign showed a typical narrative: aggressive attempts at remote execution, followed by recognition when that did not yield what was expected, and culminating in persistent access and exfiltration.
This type of incident fits into a larger trend: the software supply chain has become a privileged target for resource actors. Industry reports highlight how attackers have engaged in packages and deployment flows to reach multiple victims at the same time. If you want to read a sectoral analysis of the evolution of these attacks, Group-IB published a report summarizing how anti-supply chain campaigns are changing the threat landscape: group-ib.com / blog.
What should a technical team do that finds out that it has used one of these units? The wise thing is to make a commitment: to rotate all affected credentials, to review and remove exposed keys and tokens, and to rebuild images and artifacts from sources of trust after cleaning or replacing dependencies. It is also recommended to audit CI / CD logs and access controls, as a script that was executed with high permissions may have planted back doors outside the scope of the repository.
In terms of detection and sanitation, it is appropriate to look for indicators such as packages with unofficial names that imitate a brand (e.g. plugins that do not use the official scope), checks of the integrity of the unit tree (package-lock.json, yarn.lock), and checks on lifecycle scripts in package.json. Specialized security tools for supply chain software, as well as unit scanners and open source security providers, help automate these checks; if you want to explore commercial and community solutions, projects like Snyk offer resources and practical guides: snyk.io.
In addition to hardening processes and tools, there are specific practices that reduce risk: restricting the execution of automatic scripts in sensitive environments, running buildings and containers with the least privilege possible, and setting up policies to prevent the installation of unverified packages in critical pipelines. GitHub and other platforms offer controls and recommendations to protect tokens and secrets in CI, and the OWASP community maintains resources to understand and mitigate risks in the supply chain: owasp.org.
This incident also recalls a basic but powerful rule: confidence in the package ecosystem is a door - and sometimes an open door -. To strengthen the hygiene of dependencies, to require review of third parties and to maintain the traceability of the origins are measures that will pay dividends when the next campaign tries to get dressed up in a harmless improvement.

If you manage projects using npm and Strapi, check your dependencies for suspicious names and check if someone installed packages with name patterns that mimic plugins. Cleaning the environment, rotating credentials, and rebuilding artifacts from reliable sources is the minimum response. To keep up with official vulnerabilities and warnings, you can also check the security ad databases, such as GitHub's: github.com / advisories, and the npm ad repository on your home page.
In short: we are seeing again how package distribution is used as an attack channel. The good news is that many of the defensive measures are known and feasible: minimum privilege policies, strict control of dependencies and immediate rotation of secrets will mitigate much of the impact. But to maintain the advantage, the entire sector - maintainers, platforms and software consumers - must continue to improve practices, share indicators and react quickly to these campaigns.
If you want to deepen the technical details of this kind of attacks and understand the recommendations to mitigate them, I suggest you start with the Strapi guidelines for plugin development, the npm documentation on scripts and the sectoral collections on supply chain available in the sources listed above.
Related
More news on the same subject.

18-year-old Ukrainian youth leads a network of infostealers that violated 28,000 accounts and left $250,000 in losses
The Ukrainian authorities, in coordination with US agents. They have focused on an operation of infostealer which, according to the Ukrainian Cyber Police, was allegedly adminis...

RAMPART and Clarity redefine the safety of IA agents with reproducible testing and governance from the start
Microsoft has presented two open source tools, RAMPART and Clarity, aimed at changing the way the safety of IA agents is tested: one that automates and standardizes technical te...

The digital signature is in check: Microsoft dismands a service that turned malware into apparently legitimate software
Microsoft announced the disarticulation of a "malware-signing-as-a-service" operation that exploited its device signature system to convert malicious code into seemingly legitim...

A single GitHub workflow token opened the door to the software supply chain
A single GitHub workflow token failed in the rotation and opened the door. This is the central conclusion of the incident in Grafana Labs following the recent wave of malicious ...

WebWorm 2025: the malware that is hidden in Discord and Microsoft Graphh to evade detection
The latest observations by cyber security researchers point to a change in worrying tactics of an actor linked to China known as WebWorm: in 2025 it has incorporated back doors ...

Identity is no longer enough: continuous verification of the device for real-time security
Identity remains the backbone of many security architectures, but today that column is cracking under new pressures: advanced phishing, real-time proxyan authentication kits and...

The dark matter of identity is changing the rules of corporate security
The Identity Gap: Snapshot 2026 report published by Orchid Security puts numbers to a dangerous trend: the "dark matter" of identity - accounts and credentials that are neither ...