Togoder security

npm package security report

object.assign npm package: is it safe?

Risky patterns found that deserve a look.

Needs review Version 4.1.7 Files reviewed 7 Size 45.7 KB Scanned

Summary

Togoder Security scanned the npm package object.assign@4.1.7 on Oct 6, 2026. An AI review of 7 source files produced 3 medium, 1 low 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.

0
critical
0
high
3
medium
1
low

Findings 4

medium

Indirect code execution via module import

NPS-318DDDE6592A

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.

auto.js:3
medium

Potential global environment modification

NPS-33F10DD11C56

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.

auto.js:3
medium

Opaque dependency

NPS-1B651997C6D0

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.

auto.js:3
low

Harmless-looking but potentially deceptive shim implementation

NPS-2B361BBDE2D2

The function define is called but never imported or defined in the visible scope. In the original es-abstract / es-shim pattern, define is usually obtained via require('define-properties'). Here, it appears as a bare global or an implicitly resolved function, which could be intentionally done to obfuscate an abnormal dependency or a global monkey-patch. While not overtly malicious in isolation, this missing import is a notable inconsistency that could hide unexpected behavior.

shim.js:5

Files reviewed

FileVerdictWhat 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.
shim.js medium No direct malicious patterns such as exfiltration, code execution, or credential harvesting are present, but the unexplained define call introduces a minor integrity concern.
dist/browser.js safe No malicious patterns detected; the code is a standard browserify bundle of the well-known object.assign polyfill package with no suspicious network, filesystem, or dynamic execution activity.
hasSymbols.js safe Cleared by Jev triage; no further analysis needed
implementation.js safe This is a legitimate implementation of Object.assign polyfill with no malicious patterns detected.
index.js safe No malicious patterns detected; this is a standard polyfill wrapper for Object.assign with no network, filesystem, process, or dynamic code execution activity.
polyfill.js safe Cleared by Jev triage; no further analysis needed

Scanned versions of object.assign

VersionVerdictFilesScanned
4.1.7 Needs review 7 Oct 6, 2026

Frequently asked questions

Is object.assign safe to use?

No confirmed malware was found in object.assign@4.1.7, but the review flagged 3 medium, 1 low severity findings for risky patterns worth checking before you rely on it.

Does object.assign contain malware?

No malware was identified in object.assign@4.1.7 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 object.assign 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 object.assign 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 object.assign@4.1.7, cost nothing.

Related security reports