Togoder security

npm package security report

yargs-parser@20.2.9 security report

Risky patterns found that deserve a look.

Needs review Version 20.2.9 Files reviewed 7 Size 93.2 KB Scanned

Summary

Togoder Security scanned the npm package yargs-parser@20.2.9 on Oct 6, 2026. An AI review of 7 source files produced 2 medium, 4 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
2
medium
4
low

Findings 6

medium

Dynamic module loading

NPS-5B94E2DC2FB2

The parser can dynamically require() arbitrary filesystem paths when config options are supplied (setConfig -> mixin.require -> require(path)). This is intended functionality for yargs-parser (loading JSON config files), but if an application passes untrusted config keys or config objects, it could load arbitrary modules, potentially leading to code execution outside the package scope.

build/index.cjs:1118
medium

Dynamic module loading with computed path

NPS-EE1163B72E0A

The require function passed to YargsParser dynamically loads a module using the path argument. If path is derived from untrusted input (e.g., config file paths), an attacker could potentially load arbitrary modules, leading to code execution. While this is a standard pattern for config loading, it represents a potential security risk if input validation is insufficient.

build/lib/index.js:36
low

Prototype pollution mitigation (informational)

NPS-4CCDD6E564FA

The sanitizeKey function explicitly replaces '__proto__' with '___proto___', indicating awareness of prototype pollution. This is a defensive measure, not a vulnerability, but it highlights that keys flow from untrusted input into object property assignment.

build/index.cjs:1147
low

Top-level environment access

NPS-7E6ADBE1F715

Reads process.env and process.version at import time. This is common and benign (used for version check and env var parsing), but it does expose environment variables to the parsing logic, which could surface sensitive env values into parsed argv.

build/index.cjs:1157
low

Top-level environment variable access and parsing

NPS-3F974BB88932

The code reads process.env.YARGS_MIN_NODE_VERSION at import time and parses it as a number. While not inherently malicious, it demonstrates that the module inspects environment variables and could be abused if the variable is manipulated. No credential harvesting is present.

build/lib/index.js:12
low

Process version check at import time

NPS-4B38DE2A5766

The module checks the Node.js version at import time and throws an error if it is below a minimum version. This is benign but represents top-level code execution on import.

build/lib/index.js:16

Files reviewed

FileVerdictWhat the reviewer saw
build/index.cjs medium This file is the standard yargs-parser library with no obvious malicious code, though its dynamic require() of config paths and env/argv handling warrant caution when used with untrusted input.
build/lib/index.js medium The code is a legitimate argument parser with standard environment and version checks; the dynamic require of config paths presents a medium risk if input is not validated, but no overt malicious patterns were found.
browser.js safe No malicious patterns detected; the file is a benign browser-specific entrypoint for yargs-parser with stubbed Node.js dependencies.
build/lib/string-utils.js safe Cleared by Jev triage; no further analysis needed
build/lib/tokenize-arg-string.js safe Cleared by Jev triage; no further analysis needed
build/lib/yargs-parser-types.js safe Cleared by Jev triage; no further analysis needed
build/lib/yargs-parser.js safe No malicious patterns detected; the code is a legitimate yargs argument parser with config/require handling and environment variable support that are part of its intended functionality.

Affected version ranges

None of the 3 scanned versions of yargs-parser are flagged high or critical. The latest scanned version, 22.0.0, is medium risk. Only versions we have scanned are listed; unscanned versions between them are not covered.

5.0.122.0.0
VersionsVerdictCountRangeTop findings
22.0.0 Needs review 1 22.0.0 Dynamic module loading with external input; Dynamic module loading
21.1.1 Not scanned 1 21.1.1
20.2.9 Needs review 1 20.2.9 Dynamic module loading; Dynamic module loading with computed path
20.2.4 Not scanned 1 20.2.4
18.1.3 Needs review 1 18.1.3 Dynamic module loading with user-controlled path
5.0.1 Not scanned 1 5.0.1

Full list, including published versions not scanned yet: version ranges API.

Scanned versions of yargs-parser

VersionVerdictFilesScanned
22.0.0 Needs review 6 Oct 6, 2026
20.2.9 Needs review 7 Oct 6, 2026
18.1.3 Needs review 2 Oct 4, 2026

Frequently asked questions

Is yargs-parser safe to use?

No confirmed malware was found in yargs-parser@20.2.9, but the review flagged 2 medium, 4 low severity findings for risky patterns worth checking before you rely on it.

Does yargs-parser contain malware?

No malware was identified in yargs-parser@20.2.9 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 yargs-parser 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 yargs-parser 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 yargs-parser@20.2.9, cost nothing.

Related security reports