npm package intelligence

eslint — deep security report

ShadowCanopy's full breakdown of eslint on npm: verdict, AI analysis, dependency chain, network behavior, prebuilds, and obfuscated code.

Safe to use
Deep-scanned by ShadowCanopy — no threats found in its code, dependencies, or network behavior.
Scanned 10/31/2026
Approvedeslint@10.14.0View on registry ↗latest: 10.14.0

eslint@10.14.0 is the legitimate ESLint package. All flagged files (ast-utils.js, char-source.js, linter.js, no-irregular-whitespace.js, etc.) contain ordinary, readable ESLint source with no malicious behavior. The 'obfuscation' findings are false positives from unicode escapes and function names that are normal in this codebase.

Protect your projects free

AI breakdown

Plain-English summary of what this package does and how it behaves.

eslint is an AST-based pattern checker for JavaScript that provides linting via CLI and API. It includes a large set of built-in rules and supports configuration, testing, and release workflows through numerous npm scripts.

Capabilities

  • Provides CLI entrypoint via bin/eslint.js
  • Includes dozens of linting rules in lib/rules
  • Runs node-based build, lint, and test scripts
  • Depends on cross-spawn for child processes

Data access

  • Filesystem (source files and caches)
  • None observed for environment variables or other sensitive data

Network

  • No network access observed

Widely used, mature open-source linter with transparent source layout; repeated static findings for obfuscated files are present but not evidenced in the sampled rule and library files.

Dependency & execution chain

Every package this one pulls in, colored by verdict. Expand to walk the tree.

75 packages31 direct1 flagged
eslint@10.14.016 findings
ajv@8.20.04 findings
debug@4.4.3
espree@11.2.0
ignore@7.0.144 findings
esquery@1.7.08 findings
esutils@2.0.32 findings
find-up@8.0.0
is-glob@4.0.3
minimatch@11.0.5
optionator@0.9.4
eslint-scope@9.1.22 findings
@eslint/config-array@0.23.58 findings
@eslint-community/regexpp@4.12.22 findings

Obfuscated / hidden code

Encoded payloads decoded statically (without executing them) so you can see what they resolve to.

Obfuscated source filelib/rules/no-irregular-whitespace.js

Multiple obfuscation patterns in lib/rules/no-irregular-whitespace.js

Obfuscated source filepackage/lib/rules/no-irregular-whitespace.js

Multiple obfuscation patterns in package/lib/rules/no-irregular-whitespace.js

Security findings (16)

Static analysis rule matches, with the exact code that triggered them.

mediumObfuscated source fileATK-023lib/rules/utils/ast-utils.js

Multiple obfuscation patterns in lib/rules/utils/ast-utils.js

mediumObfuscated source fileATK-023package/lib/rules/utils/ast-utils.js

Multiple obfuscation patterns in package/lib/rules/utils/ast-utils.js

mediumObfuscated source fileATK-023lib/rules/utils/char-source.js

Multiple obfuscation patterns in lib/rules/utils/char-source.js

mediumObfuscated source fileATK-023package/lib/rules/utils/char-source.js

Multiple obfuscation patterns in package/lib/rules/utils/char-source.js

mediumObfuscated source fileATK-023lib/linter/linter.js

Multiple obfuscation patterns in lib/linter/linter.js

mediumObfuscated source fileATK-023package/lib/linter/linter.js

Multiple obfuscation patterns in package/lib/linter/linter.js

mediumObfuscated source fileATK-023lib/rules/no-irregular-whitespace.js

Multiple obfuscation patterns in lib/rules/no-irregular-whitespace.js

mediumObfuscated source fileATK-023package/lib/rules/no-irregular-whitespace.js

Multiple obfuscation patterns in package/lib/rules/no-irregular-whitespace.js

mediumObfuscated source fileATK-023lib/rules/no-return-await.js

Multiple obfuscation patterns in lib/rules/no-return-await.js

mediumObfuscated source fileATK-023package/lib/rules/no-return-await.js

Multiple obfuscation patterns in package/lib/rules/no-return-await.js

mediumObfuscated source fileATK-023lib/rules/no-underscore-dangle.js

Multiple obfuscation patterns in lib/rules/no-underscore-dangle.js

mediumObfuscated source fileATK-023package/lib/rules/no-underscore-dangle.js

Multiple obfuscation patterns in package/lib/rules/no-underscore-dangle.js

mediumObfuscated source fileATK-023lib/rules/no-useless-return.js

Multiple obfuscation patterns in lib/rules/no-useless-return.js

mediumObfuscated source fileATK-023package/lib/rules/no-useless-return.js

Multiple obfuscation patterns in package/lib/rules/no-useless-return.js

mediumObfuscated source fileATK-023lib/types/rules.d.ts

Multiple obfuscation patterns in lib/types/rules.d.ts

mediumObfuscated source fileATK-023package/lib/types/rules.d.ts

Multiple obfuscation patterns in package/lib/types/rules.d.ts

Package metadata

LicenseMIT

An AST-based pattern checker for JavaScript.

Homepage ↗Repository ↗

Files in package (500)

LICENSEpackage/LICENSElib/rules/accessor-pairs.jspackage/lib/rules/accessor-pairs.jslib/shared/ajv.jspackage/lib/shared/ajv.jsmessages/all-matched-files-ignored.jspackage/messages/all-matched-files-ignored.jslib/api.jspackage/lib/api.jslib/linter/apply-disable-directives.jspackage/lib/linter/apply-disable-directives.jslib/rules/array-bracket-newline.jspackage/lib/rules/array-bracket-newline.jslib/rules/array-bracket-spacing.jspackage/lib/rules/array-bracket-spacing.jslib/rules/array-callback-return.jspackage/lib/rules/array-callback-return.jslib/rules/array-element-newline.jspackage/lib/rules/array-element-newline.jslib/rules/arrow-body-style.jspackage/lib/rules/arrow-body-style.jslib/rules/arrow-parens.jspackage/lib/rules/arrow-parens.jslib/rules/arrow-spacing.jspackage/lib/rules/arrow-spacing.jslib/shared/assert.jspackage/lib/shared/assert.jslib/rules/utils/ast-utils.jspackage/lib/rules/utils/ast-utils.jslib/shared/ast-utils.jspackage/lib/shared/ast-utils.jslib/languages/js/source-code/token-store/backward-token-comment-cursor.jspackage/lib/languages/js/source-code/token-store/backward-token-comment-cursor.jslib/languages/js/source-code/token-store/backward-token-cursor.jspackage/lib/languages/js/source-code/token-store/backward-token-cursor.jslib/rules/block-scoped-var.jspackage/lib/rules/block-scoped-var.jslib/rules/block-spacing.jspackage/lib/rules/block-spacing.js

How ShadowCanopy checks npm packages

ShadowCanopy blocks every dependency by default and only lets through what it can verify — against live malicious-package advisories, an AI behavior scan, and a byte-for-byte hash check. It protects installs across npm, PyPI, crates.io, pkg.go.dev, RubyGems, Maven Central, NuGet, Packagist, Hex, pub.dev, Swift Package Manager.

Protect your projects freeSee what's being blocked

This report reflects ShadowCanopy's threat intelligence at page load and is informational, not a warranty. Canonical URL: https://shadowcanopy.dev/packages/npm/eslint