Skip to content
Data Breach

Hackers Use Fake Paysafe, Skrill, and Neteller Packages to Harvest API Keys and Tokens

Security researchers have uncovered a coordinated malware campaign hiding inside fake developer packages pretending to be official tools for Paysafe, Skrill, and Neteller, three widely used online payment platforms. The malicious code was built to quietly harvest API keys, tokens, and other sensitiv...

· Jul 09, 2026 · 5 min read · 👁 3 views
Hackers Use Fake Paysafe, Skrill, and Neteller Packages to Harvest API Keys and Tokens

Security researchers have uncovered a coordinated malware campaign hiding inside fake developer packages pretending to be official tools for Paysafe, Skrill, and Neteller, three widely used online payment platforms.

The malicious code was built to quietly harvest API keys, tokens, and other sensitive credentials from developer machines. Stolen data was sent to attacker controlled servers, putting financial infrastructure and payment flows at risk.

The campaign involved seventeen malicious packages spread across npm and PyPI, published within a short window of each other.

Each package was designed to look like a genuine software development kit, complete with realistic function names and API structures mimicking the real Paysafe, Skrill, and Neteller libraries.

Developers who unknowingly installed these packages while building payment integrations exposed their systems to silent credential theft.

Researchers from Socket.dev identified the campaign and noted that the packages performed no real payment processing at all, instead returning fake success responses to avoid suspicion while stealing data in the background.

Socket said in a report shared with Cyber Security News (CSN) that its automated scanner flagged the packages within minutes of publication, showing how quickly modern detection systems can catch such threats.

Still, the packages remained live long enough to pose a real risk to developers. The attackers showed real sophistication, using different obfuscation keys for nearly every file so no two packages shared identical signatures.

This made it harder for antivirus tools to flag the code through simple pattern matching. Combined with sandbox evasion tricks, the campaign reflects an actor familiar with the open source ecosystem and its defenses.

Hackers Use Fake Paysafe, Skrill, and Neteller Packages

Each malicious package, such as the npm package paysafe-node, exported a class resembling a real payment client, reading environment variables like PAYSAFE_API_KEY and logging every request.

Instead of calling real Paysafe endpoints, the code returned a fake success message while a hidden function collected the developer’s hostname, username, working directory, and environment variables containing words like KEY, SECRET, TOKEN, PASS, AUTH, or API.

This meant the malware could scoop up far more than Paysafe credentials, capable of grabbing AWS secret keys, GitHub tokens, npm publishing tokens, and other sensitive values in the same environment.

The stolen information was packaged into a JSON payload and sent to a remote server over HTTPS, while the fake SDK appeared to work normally.

The PyPI versions behaved almost identically, though they activated automatically once imported rather than waiting for an API key to be set.

This made the Python packages arguably more dangerous, since they could trigger data theft even in testing environments where no live credentials were expected.

Evasion Tactics and Command Infrastructure

To avoid detection during automated analysis, the malware checked for signs it was running inside a sandbox or virtual machine before sending stolen data.

It looked at the number of available CPU cores and scanned the hostname and username for words like sandbox, analyzer, cuckoo, or vmware, quietly skipping exfiltration if any were detected.

The command and control address was hidden behind multiple layers of encoding, requiring an XOR operation, a character shift, and a string reversal before the real domain became readable.

That domain was built on ngrok, a legitimate tunneling service popular among cybercriminals because it can mask a server’s true location.

Researchers also noted that the IP address behind this ngrok hostname had previously been linked to command and control activity for other known credential stealing malware, suggesting the attacker may share infrastructure with established cybercrime groups.

This raises the possibility the campaign was part of a broader, reusable toolkit rather than a one off effort.

Socket’s researchers recommend that anyone who installed these packages immediately rotate every secret that may have been exposed, particularly variables matching the harvested patterns.

Teams should also scan dependency trees for the known malicious package names, block them at the registry proxy level, and audit build logs for outbound connections to ngrok-free.dev domains.

Indicators of Compromise (IoCs):-

TypeIndicatorDescription
Domaincaliber-spinner-finishing[.]ngrok-free[.]devCommand and control domain used for exfiltrating stolen credentials 
URLhxxps://caliber-spinner-finishing[.]ngrok-free[.]dev:443/Endpoint used to receive exfiltrated JSON payloads via HTTPS POST 
Package namenpm/paysafe-checkoutMalicious npm package typosquatting the Paysafe SDK 
Package namenpm/paysafe-vaultMalicious npm package typosquatting the Paysafe SDK 
Package namenpm/netellerMalicious npm package typosquatting the Neteller SDK 
Package namenpm/skrill-paymentsMalicious npm package typosquatting the Skrill SDK 
Package namenpm/paysafe-jsMalicious npm package typosquatting the Paysafe SDK 
Package namenpm/paysafe-apiMalicious npm package typosquatting the Paysafe SDK 
Package namenpm/paysafe-nodeMalicious npm package containing the fake PaysafeClient facade 
Package namenpm/paysafe-cardsMalicious npm package typosquatting the Paysafe SDK 
Package namenpm/paysafe-fraudMalicious npm package typosquatting the Paysafe SDK 
Package namenpm/paysafe-kycMalicious npm package typosquatting the Paysafe SDK 
Package namenpm/skrillMalicious npm package typosquatting the Skrill SDK 
Package namenpm/skrill-sdkMalicious npm package typosquatting the Skrill SDK 
Package namenpm/paysafe-paymentsMalicious npm package typosquatting the Paysafe SDK 
Package namepypi/paysafe-kycMalicious PyPI package typosquatting the Paysafe SDK 
Package namepypi/paysafe-paymentsMalicious PyPI package typosquatting the Paysafe SDK 
Package namepypi/paysafe-sdkMalicious PyPI package containing the credential stealing routine 
Package namepypi/paysafe-apiMalicious PyPI package typosquatting the Paysafe SDK 
File nameindex.jsMalicious file present in npm packages, associated with multiple unique SHA-256 hashes due to per-file obfuscation 
File name_init_.pyMalicious file present in PyPI packages, associated with multiple unique SHA-256 hashes 

Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.

Source: CybersecurityNews.com

Follow ShomoySoft for more: Follow on Facebook

💬 Comments (0)

Login to join the discussion.

No comments yet. Be the first!

Recommended for you