Malicious code in paysafe-kyc (npm)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (626046f7b80cd91ce41e057b4bdab7b5bbb30b7fbceb0284894287cfd441c624) The package presents itself as the Paysafe KYC identity verification SDK but does not call any Paysafe API. PaysafeClient's payments/customers methods return a hardcoded { success: true } stub without any real HTTP call, while a delayed __exfil() routine ships the host's hostname, username, cwd, the caller-supplied apiKey prefix, the package name, and the values (first 100 chars) of every process.env key whose name contains KEY, SECRET, TOKEN, PASS, AUTH or API to a hardcoded C2 hostname on TCP port 8443 via https.request. Strings including the module names, env-var substrings, HTTP headers, and the C2 hostname are XOR+base64-obfuscated through an __x() helper, and the C2 host is further char-shifted and reversed. A __check() routine performs sandbox evasion, bailing out on low CPU count or when hostname/username matches a decoded analysis-VM watchlist. The package name, description, and repository URL (github.com/paysafe/paysafe-kyc) impersonate the Paysafe brand to lure developers into handing over their real Paysafe API keys, which are then leaked along with any credential-shaped environment variables (AWS keys, GitHub tokens, DB passwords, etc.) present in the consuming process.
AI Analysis
Technical Summary
The paysafe-kyc npm package (version 1.0.0) masquerades as the official Paysafe KYC SDK but contains malicious code. Instead of calling Paysafe APIs, its PaysafeClient methods return hardcoded success responses. A delayed exfiltration routine collects the host's hostname, username, current working directory, the prefix of any supplied API key, the package name, and the first 100 characters of any environment variables containing sensitive substrings (KEY, SECRET, TOKEN, PASS, AUTH, API). This data is sent via an HTTPS request to a hardcoded command-and-control server on TCP port 8443. The package uses XOR and base64 obfuscation for strings and further obfuscates the C2 hostname. It includes sandbox evasion by checking CPU count and known analysis VM hostnames/usernames, aborting if detected. The package's metadata impersonates Paysafe to trick developers into supplying real Paysafe API keys and other credentials, which are then leaked.
Potential Impact
Sensitive credentials and environment variables, including Paysafe API keys and other secrets, can be exfiltrated to an attacker-controlled server. This compromises the confidentiality of credentials used by the affected system, potentially leading to unauthorized access to Paysafe services and other integrated systems. The malicious package also misleads developers by returning fake success responses, masking the exfiltration activity.
Mitigation Recommendations
No official patch or fix is currently available for this malicious package. The best mitigation is to immediately remove the paysafe-kyc package version 1.0.0 from all projects and dependency trees. Avoid using packages that impersonate trusted brands without verification. Audit environment variables and secrets for potential exposure and rotate any credentials that may have been compromised. Use trusted sources and verify package authenticity before installation.
Malicious code in paysafe-kyc (npm)
Description
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (626046f7b80cd91ce41e057b4bdab7b5bbb30b7fbceb0284894287cfd441c624) The package presents itself as the Paysafe KYC identity verification SDK but does not call any Paysafe API. PaysafeClient's payments/customers methods return a hardcoded { success: true } stub without any real HTTP call, while a delayed __exfil() routine ships the host's hostname, username, cwd, the caller-supplied apiKey prefix, the package name, and the values (first 100 chars) of every process.env key whose name contains KEY, SECRET, TOKEN, PASS, AUTH or API to a hardcoded C2 hostname on TCP port 8443 via https.request. Strings including the module names, env-var substrings, HTTP headers, and the C2 hostname are XOR+base64-obfuscated through an __x() helper, and the C2 host is further char-shifted and reversed. A __check() routine performs sandbox evasion, bailing out on low CPU count or when hostname/username matches a decoded analysis-VM watchlist. The package name, description, and repository URL (github.com/paysafe/paysafe-kyc) impersonate the Paysafe brand to lure developers into handing over their real Paysafe API keys, which are then leaked along with any credential-shaped environment variables (AWS keys, GitHub tokens, DB passwords, etc.) present in the consuming process.
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The paysafe-kyc npm package (version 1.0.0) masquerades as the official Paysafe KYC SDK but contains malicious code. Instead of calling Paysafe APIs, its PaysafeClient methods return hardcoded success responses. A delayed exfiltration routine collects the host's hostname, username, current working directory, the prefix of any supplied API key, the package name, and the first 100 characters of any environment variables containing sensitive substrings (KEY, SECRET, TOKEN, PASS, AUTH, API). This data is sent via an HTTPS request to a hardcoded command-and-control server on TCP port 8443. The package uses XOR and base64 obfuscation for strings and further obfuscates the C2 hostname. It includes sandbox evasion by checking CPU count and known analysis VM hostnames/usernames, aborting if detected. The package's metadata impersonates Paysafe to trick developers into supplying real Paysafe API keys and other credentials, which are then leaked.
Potential Impact
Sensitive credentials and environment variables, including Paysafe API keys and other secrets, can be exfiltrated to an attacker-controlled server. This compromises the confidentiality of credentials used by the affected system, potentially leading to unauthorized access to Paysafe services and other integrated systems. The malicious package also misleads developers by returning fake success responses, masking the exfiltration activity.
Mitigation Recommendations
No official patch or fix is currently available for this malicious package. The best mitigation is to immediately remove the paysafe-kyc package version 1.0.0 from all projects and dependency trees. Avoid using packages that impersonate trusted brands without verification. Audit environment variables and secrets for potential exposure and rotate any credentials that may have been compromised. Use trusted sources and verify package authenticity before installation.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-10170
- Osv Schema Version
- 1.7.4
- Aliases
- []
- Ecosystems
- ["npm"]
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a520ebf68715ace438f59a0
Added to database: 07/11/2026, 09:37:03 UTC
Last enriched: 07/11/2026, 09:54:21 UTC
Last updated: 07/27/2026, 06:34:13 UTC
Views: 41
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.