Malicious Packages, Hijacked Code, and Phishing: Why Open Source Developers Are Facing a Growing Supply-Chain Nightmare

chain link

Image by Kaley Dykstra on Unsplash

It’s been a rough week for open source software users—and an even tougher one for developers. Supply-chain attacks are making waves again, this time hitting trusted packages on npm and PyPI that thousands of people rely on.

Here’s what went down, and why it should make anyone building with open source take notice.

Toptal’s GitHub Was Hijacked. Malicious npm Packages Followed.

two bullet surveillance cameras attached on wall

Image by Scott Webb on Unsplash

Security firm Socket has revealed that the GitHub organization for Toptal—a global talent agency—was compromised. Attackers used that access to push 10 malicious npm packages that were downloaded by around 5,000 users before being detected and removed.

The malicious packages came from @toptal and included:

  • @toptal/picasso-tailwind
  • @toptal/picasso-charts
  • @toptal/picasso-shared
  • @toptal/picasso-provider
  • @toptal/picasso-select
  • @toptal/picasso-quote
  • @toptal/picasso-forms
  • @toptal/picasso-utils
  • @toptal/picasso-typography
  • @xene/core

Once installed, these packages didn’t just sit quietly. They extracted the user’s GitHub authentication token—using a curl command—and sent it to an attacker-controlled endpoint. With that token, attackers could access private repos and potentially launch more supply-chain attacks.

Then came part two: the payload tried to destroy everything on the user’s device.

On Unix systems, it executed a sudo rm -rf --no-preserve-root / command. On Windows, it used a command that would wipe the filesystem too. Basically, it tried to burn everything to the ground.

But That Was Just One Part of a Bigger Attack Campaign

person using black laptop computer

Image by Moritz Kindler on Unsplash

Toptal’s hijack was just one of three major attacks Socket flagged in a single week.

A separate attack used phishing to target npm users. Victims received emails asking them to log in to “npnjs.com”—a fake version of the real npmjs.com. The site captured their login tokens and then used them to plant malicious code in several popular packages including:

  • is (versions 3.3.1 and 5.0.0)
  • got-fetch (versions 5.1.11 and 5.1.12)
  • eslint-config-prettier (versions 8.10.1, 9.1.1, 10.1.6, 10.1.7)
  • eslint-plugin-prettier (versions 4.2.2, 4.2.3)
  • synckit (version 0.11.9)
  • @pkgr/core (version 0.2.8)
  • napi-postinstall (version 0.3.1)

These packages didn’t just include destructive code. Some collected surveillance data—keylogging, screen capture, webcam access, credential theft—the kind of stuff that gives you chills.

Socket called it “surveillance malware,” which fits. The code was covert, and it was designed to steal data quietly over time, not just destroy files on contact.

Why This Matters for Every Developer Using Open Source

This isn’t just fodder for security blogs. Most open source developers rely heavily on third-party packages. And that makes supply-chain attacks incredibly dangerous.

A seemingly innocent dependency can carry a destructive payload, or worse—silently steal your credentials and data.

Because many toolchains automatically integrate new versions of dependencies, malicious updates can slip into actual code fast. Before a developer even has time to review what changed, that code could be live.

So What Can Developers Do?

If you’re working with any of the packages listed earlier, double-check what versions you’re using. Even if nothing looks off, here are a few steps to reduce risk going forward:

  • Monitor repositories for strange changes in package visibility or publishing behavior
  • Always review lifecycle scripts in package.json files before installing
  • Use automated security scanners in CI/CD pipelines
  • Rotate tokens regularly
  • Turn on multi-factor authentication (MFA) for every account that supports it

And if you’re maintaining a repo? If you haven’t made MFA mandatory for contributors yet, now’s the time.

Final Thoughts

It’s easy to forget how deeply interconnected software development has become. One hijacked account, one malicious token, can echo through thousands of projects.

The open source ecosystem thrives on trust. But trust doesn’t mean leaving the door open. As these attacks show, even the most familiar packages can be hiding something harmful.

Stay vigilant. Keep your tools locked down. And next time you npm install something—pause for a second and take a look under the hood.

— Written for Yugto.io, where we make sense of tech and data.

Keywords: open source, supply-chain attacks, github, npm, PyPI, phishing


Read more of our stuff here!

Leave a Comment

Your email address will not be published. Required fields are marked *