Summary
Togoder Security scanned the npm package string.prototype.matchall@4.1.0 on Oct 6, 2026. An AI review of 7 source files produced 3 medium severity findings. The overall verdict is medium: the findings flag risky but common patterns (dynamic code, unsafe defaults, broad file or network access) rather than confirmed malware.
Findings 3
Indirect code execution via module import
NPS-887FA03EFC32
The file immediately invokes the exported function from './shim' at top-level (require-time). Since './shim' is not shown, this shim module can execute arbitrary code upon loading, including installing hooks, monkey-patching globals, harvesting environment variables/credentials, or performing network requests. Top-level execution on import is a common vector for malicious npm packages.
Potential global environment modification
NPS-D82F03A40BD5
The term 'shim' typically implies modifying global objects or built-ins (e.g. patching process, console, require, or other prototypes). Such behavior can silently alter runtime semantics for the entire application, enabling interception of sensitive data or stealthy execution.
Opaque dependency
NPS-31409DFFBCB2
The actual behavior cannot be verified from this file alone — all logic resides in './shim'. The entry point provides no indication of what the shim does, which is a common obfuscation/encapsulation pattern in malicious packages.
Files reviewed
| File | Verdict | What the reviewer saw |
|---|---|---|
| auto.js | medium | The file is a thin wrapper that immediately executes an unspecified shim module at require-time, which is a potential vector for hidden malicious behavior such as credential harvesting, monkey-patching, or code execution, though no direct malicious code is visible. |
| implementation.js | safe | This is a legitimate ES-shim polyfill implementation for String.prototype.matchAll with no malicious patterns detected. |
| index.js | safe | Cleared by Jev triage; no further analysis needed |
| polyfill-regexp-matchall.js | safe | Cleared by Jev triage; no further analysis needed |
| polyfill.js | safe | No malicious activity detected; the code is a standard polyfill for String.prototype.matchAll that performs feature detection and wraps native implementations without any data exfiltration, credential harvesting, obfuscation, network access, or filesystem manipulation. |
| regexp-matchall.js | safe | Cleared by Jev triage; no further analysis needed |
| shim.js | safe | This is a legitimate polyfill shim for String.prototype.matchAll and Symbol.matchAll that only modifies built-in prototypes and does not exhibit any malicious patterns. |
Frequently asked questions
Is string.prototype.matchall safe to use?
No confirmed malware was found in string.prototype.matchall@4.1.0, but the review flagged 3 medium severity findings for risky patterns worth checking before you rely on it.
Does string.prototype.matchall contain malware?
No malware was identified in string.prototype.matchall@4.1.0 when Togoder Security scanned it on Oct 6, 2026. A new version can still introduce malicious code, so scan the exact versions in your lockfile.
How was string.prototype.matchall checked?
Togoder Security downloaded the published npm package and had an AI model read its 7 source files, looking for install scripts, credential access, network exfiltration, obfuscation, backdoors and crypto-wallet theft. The results are cached by file hash and shown here.
How do I scan string.prototype.matchall together with the rest of my dependencies?
Upload your lockfile at https://security.togoder.click/scan or call the API documented at https://security.togoder.click/api-docs. Files that have already been scanned, like the ones in string.prototype.matchall@4.1.0, cost nothing.