Malicious code in google-caja-bower (npm)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (e34339f1be6afb8a41b6dbe2f7d7c480d5a438a67ff119b235d1d98ffa2b2e4a) [email protected] declares scripts.preinstall = 'node index.js', so index.js runs automatically on npm install. index.js walks the installer's current working directory, builds a directory tree, enumerates up to 500 files (skipping only common binary/media extensions) up to 8MB each, and POSTs the tree plus each file's bytes as multipart uploads to two hardcoded Discord webhook URLs under discord.com/api/webhooks/. The payload also collects os.hostname(), process.env.USER / process.env.USERNAME, os.platform(), and process.cwd() and includes them in the webhook messages. Because the file filter excludes only binary/media types, credential-bearing text files present in the working tree (.env,.npmrc, ssh configs, cloud credentials, source code) are uploaded verbatim. The package name impersonates the Google Caja / Bower namespace and its own package description self-labels the behavior as 'collect and send system information to a remote endpoint'; the webhook message body identifies the campaign as 'Dependency Confusion Crawler'. ## Source: ghsa-malware (4d307e63a5313eaae94ececb230bbd43410bc6fbd020b9f55d968bcb7f6c29f6) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
AI Analysis
Technical Summary
The google-caja-bower npm package version 1000.801.20 (and several other exact versions) includes a preinstall script that runs index.js automatically during npm install. This script enumerates up to 500 files (excluding common binary/media types) up to 8MB each from the current working directory and uploads their contents along with system metadata (hostname, user environment variables, platform, current directory) to two hardcoded Discord webhook URLs. The files uploaded may include sensitive credential files such as .env, .npmrc, SSH configs, and cloud credentials. The package name mimics the Google Caja/Bower namespace and self-describes its behavior as a 'Dependency Confusion Crawler,' indicating intentional malicious data exfiltration.
Potential Impact
Sensitive information including environment variables, configuration files, and source code can be exfiltrated from the installer's system to an attacker-controlled endpoint. This can lead to credential compromise, unauthorized access, and further exploitation of affected systems. The automatic execution on install increases the risk of widespread impact if the package is used in development or deployment pipelines.
Mitigation Recommendations
No official patch or remediation is currently documented. Users should avoid installing the google-caja-bower package in any version listed. Verify package authenticity before installation and prefer official, verified packages from trusted sources. Monitor for and remove any instances of this package from projects and dependency trees. Since this is not a cloud service, remediation depends on user action to remove or block the malicious package.
Malicious code in google-caja-bower (npm)
Description
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (e34339f1be6afb8a41b6dbe2f7d7c480d5a438a67ff119b235d1d98ffa2b2e4a) [email protected] declares scripts.preinstall = 'node index.js', so index.js runs automatically on npm install. index.js walks the installer's current working directory, builds a directory tree, enumerates up to 500 files (skipping only common binary/media extensions) up to 8MB each, and POSTs the tree plus each file's bytes as multipart uploads to two hardcoded Discord webhook URLs under discord.com/api/webhooks/. The payload also collects os.hostname(), process.env.USER / process.env.USERNAME, os.platform(), and process.cwd() and includes them in the webhook messages. Because the file filter excludes only binary/media types, credential-bearing text files present in the working tree (.env,.npmrc, ssh configs, cloud credentials, source code) are uploaded verbatim. The package name impersonates the Google Caja / Bower namespace and its own package description self-labels the behavior as 'collect and send system information to a remote endpoint'; the webhook message body identifies the campaign as 'Dependency Confusion Crawler'. ## Source: ghsa-malware (4d307e63a5313eaae94ececb230bbd43410bc6fbd020b9f55d968bcb7f6c29f6) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
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 google-caja-bower npm package version 1000.801.20 (and several other exact versions) includes a preinstall script that runs index.js automatically during npm install. This script enumerates up to 500 files (excluding common binary/media types) up to 8MB each from the current working directory and uploads their contents along with system metadata (hostname, user environment variables, platform, current directory) to two hardcoded Discord webhook URLs. The files uploaded may include sensitive credential files such as .env, .npmrc, SSH configs, and cloud credentials. The package name mimics the Google Caja/Bower namespace and self-describes its behavior as a 'Dependency Confusion Crawler,' indicating intentional malicious data exfiltration.
Potential Impact
Sensitive information including environment variables, configuration files, and source code can be exfiltrated from the installer's system to an attacker-controlled endpoint. This can lead to credential compromise, unauthorized access, and further exploitation of affected systems. The automatic execution on install increases the risk of widespread impact if the package is used in development or deployment pipelines.
Mitigation Recommendations
No official patch or remediation is currently documented. Users should avoid installing the google-caja-bower package in any version listed. Verify package authenticity before installation and prefer official, verified packages from trusted sources. Monitor for and remove any instances of this package from projects and dependency trees. Since this is not a cloud service, remediation depends on user action to remove or block the malicious package.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-10186
- Osv Schema Version
- 1.7.4
- Aliases
- []
- Ecosystems
- ["npm"]
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a535c0068715ace43ad5437
Added to database: 07/12/2026, 09:18:56 UTC
Last enriched: 07/12/2026, 09:22:24 UTC
Last updated: 07/30/2026, 04:52:58 UTC
Views: 59
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.
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.