Skip to content

Security insight selectors rely on data provided by Socket. Using any of these selectors triggers a network call to fetch package report data.

:::note Security selectors require fetching data from Socket’s API. This adds latency to queries — the data is fetched before the query runs. Keep this in mind for interactive use. :::

Malware & threats

:malware

Matches packages that may contain malware with severity >= medium (critical, high, medium — excludes low).

Terminal
$ vlt query ':malware'

:malware(<type>)

Filter by severity level:

TypeDescription
critical or 0Critical severity
high or 1High severity
medium or 2Medium severity
low or 3Low severity

Comparators are supported:

Terminal
$ vlt query ':malware(critical)'
$ vlt query ':malware(">1")'
$ vlt query ':malware(">=medium")'

:squat / :squat(<type>)

Matches packages with names similar to popular packages (typosquatting).

Terminal
$ vlt query ':squat'

:squat without arguments matches any severity. Filter with:

TypeDescription
critical or 0High-confidence typosquat
medium or 2Possible typosquat
noneNot a typosquat

:suspicious

Matches packages with artificially inflated GitHub stars (bots, crowdsourcing, etc.):

Terminal
$ vlt query ':suspicious'

:confused

Matches packages affected by manifest confusion — the published package.json differs from what’s in the tarball:

Terminal
$ vlt query ':confused'

Vulnerabilities

:vulnerable / :vuln

Matches packages that have any CVE associated with them:

Terminal
$ vlt query ':vulnerable'

The :vuln alias works identically:

Terminal
$ vlt query ':vuln'

:cve(<id>)

Matches packages with a specific CVE alert:

Terminal
$ vlt query ':cve(CVE-2023-1234)'

Match packages with any CVE:

Terminal
$ vlt query ':cve(*)'

:cwe(<id>)

Matches packages with a specific CWE alert:

Terminal
$ vlt query ':cwe(CWE-79)'

:severity(<level>)

Matches packages by CVE severity level:

LevelDescription
critical or 0Critical severity CVEs
high or 1High severity CVEs
medium or 2Medium severity CVEs
low or 3Low severity CVEs

Comparators are supported:

Terminal
$ vlt query ':severity(critical)'
$ vlt query ':severity(">1")'
$ vlt query ':severity(">=medium")'

Licensing

:license(<type>)

Matches packages based on license issues:

TypeDescription
unlicensedNo license
miscFine-grained license problems
restrictedNon-permissive license
ambiguousAmbiguous licensing
copyleftCopyleft license (GPL, etc.)
unknownLicense data found but type undetermined
noneNo license data at all
exceptionSPDX license exception
Terminal
# Find packages with copyleft licenses
$ vlt query ':license(copyleft)'
# Find unlicensed packages
$ vlt query ':license(unlicensed)'
# Find packages with any license
$ vlt query ':license'

Code behavior signals

:eval

Packages using dynamic code execution (eval(), new Function(), etc.):

Terminal
$ vlt query ':eval'

:network

Packages that access the network:

Terminal
$ vlt query ':network'

:fs

Packages that access the file system:

Terminal
$ vlt query ':fs'

:env

Packages that access environment variables:

Terminal
$ vlt query ':env'

:shell

Packages that access the system shell:

Terminal
$ vlt query ':shell'

:scripts

Packages with install scripts (postinstall, preinstall, etc.):

Terminal
$ vlt query ':scripts'

:debug

Packages using debug, reflection, or dynamic code execution features:

Terminal
$ vlt query ':debug'

:dynamic

Packages using dynamic imports:

Terminal
$ vlt query ':dynamic'

Obfuscation & hiding

:obfuscated

Packages with intentionally obfuscated code:

Terminal
$ vlt query ':obfuscated'

:minified

Packages containing minified code:

Terminal
$ vlt query ':minified'

:entropic

Packages with high-entropy strings (possibly encrypted data, leaked secrets, or obfuscated code):

Terminal
$ vlt query ':entropic'

:native

Packages containing native code (compiled binaries, shared libraries):

Terminal
$ vlt query ':native'

:shrinkwrap

Packages containing a shrinkwrap file that may bypass normal install procedures:

Terminal
$ vlt query ':shrinkwrap'

Package health

:deprecated

Packages marked as deprecated:

Terminal
$ vlt query ':deprecated'

:unmaintained

Packages not updated in more than 5 years:

Terminal
$ vlt query ':unmaintained'

:unpopular

Packages that are not widely used:

Terminal
$ vlt query ':unpopular'

:trivial

Packages with less than 10 lines of code:

Terminal
$ vlt query ':trivial'

:abandoned

Packages published by an npm account that no longer exists:

Terminal
$ vlt query ':abandoned'

:unknown

Packages with a new npm collaborator publishing for the first time:

Terminal
$ vlt query ':unknown'

:unstable

Packages with unstable ownership (new collaborator publishing):

Terminal
$ vlt query ':unstable'

Other

:tracker

Packages containing telemetry:

Terminal
$ vlt query ':tracker'

:undesirable

Packages that are jokes, parodies, or include undocumented behavior:

Terminal
$ vlt query ':undesirable'

:score(<rate>, <kind>)

Match packages by security score:

ParameterDescription
rateScore value 0–100 (or 0–1), with optional comparator
kindScore category (optional, default: overall)

Available kinds: overall, license, maintenance, quality, supplyChain, vulnerability.

Terminal
# Packages with exactly 0.8 overall score
$ vlt query ':score(80)'
# Packages with score > 0.8
$ vlt query ':score(">0.8")'
# Low maintenance score
$ vlt query ':score("<=0.5", "maintenance")'

Common audit queries

Run a comprehensive security audit:

Terminal
# Critical issues
$ vlt query ':malware(critical), :cve(*), :obfuscated'
# Supply chain risks
$ vlt query ':abandoned, :unmaintained, :unknown'
# License compliance
$ vlt query ':license(copyleft), :license(unlicensed)'
# Code behavior audit
$ vlt query ':eval, :shell, :network, :fs'

See also