PAGES
← all tools
◆ SAST / SCA / Code Security

Retire.js

6.1.0 open-source

Retire.js scans JavaScript libraries and Node.js modules to identify versions with known security vulnerabilities.

Summary

Retire.js is an open-source dependency-scanning tool that checks JavaScript libraries and Node.js modules for known vulnerabilities, addressing the OWASPOWASPA nonprofit foundation that publishes open standards, guides, and ranked vulnerability lists—most famously the OWASP Top 10—giving cyber tools a vendor-neutral benchmark to test or report against. Top 10 risk of using components with known flaws. It runs primarily as a command-line scanner installed via npm, with a scan producing either console output or a CycloneDXCycloneDXAn open standard for describing software components and their dependencies, vulnerabilities and other supply-chain information. Tools use it to exchange bills of materials and related evidence. SBOMSBOMA software bill of materials, an inventory of the components and versions inside an application. It helps teams find affected software when a dependency has a vulnerability or licensing issue., though the project also ships (with varying degrees of maintenance) as a Chrome extension, a Burp/ZAP add-on, and a formerly-supported Firefox extension. It is aimed at application developers and appsec teams who need to catch vulnerable frontend and Node dependencies that package manifests miss, particularly libraries just dropped into source control. First committed in 2013, it remains active, with 118 contributors and 174 commits in the past year across 11 releases.

Retire.js scans JavaScript libraries and Node.js modules to identify versions with known security vulnerabilities.

How Retire.js helps

Which of my JavaScript files came from a vulnerable library that never showed up in a manifest?

walks the source tree checking file contents and hashes against a vulnerability database, catching libraries that were copied in directly rather than installed through a package manager

Do any of my Node modules have known vulnerabilities?

matches installed module versions against the same vulnerability repository and lists each one with its severity, so nothing is missed just because it is a backend rather than a frontend dependency

Should this build fail because of what got flagged?

lets the severity threshold decide what counts as a failure and exits with a distinct code when anything at or above it is found, so a pipeline can gate on it directly

Can I hand this list of dependencies to another security tool or team?

produces a CycloneDX-format bill of materials with each detected component, the technique and confidence used to identify its version, and which repository the vulnerability data came from

Is a visitor's browser loading an insecure library on a site I didn't build myself?

the browser extension inspects the libraries a page actually loads at visit time and flags known-insecure ones in the developer console and address bar icon

all 9 features, with the evidence for each →

Languages

Not documented

Features

9 capabilities · 5 backed by code, an API document or a real run

Built from Retire.js's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • Retire.js covers 2 of the 5 supply chain security capabilities we track.

What Retire.js offers you

  • Command-line interface1
  • JSON data export1
  • Scripting language support1
All capabilities 9 capabilities
CycloneDX report generation shipped Generates CycloneDX SBOM and VEX reports in various formats (JSON/XML, versions 1.6/1.7) including metadata, components, dependencies, and vulnerability source details. 6 releases · 1 other source · first seen Aug 2026

Shared capability: CycloneDX SBOM

Also counts toward: JSON data export

release

  • CycloneDX 1.6 and 1.7 reports now include $schema, metadata.tools (object form from spec 1.5), metadata.component (scanned path as BOM subject), dependencies (scan target linked to all detected components), evidence.identity (version-detection technique and confidence, e.g. 5.7.0 · Aug 2026 · source · release history
  • Adds --outputformat cyclonedxJSON1_7 and --outputformat cyclonedxJSON1_7_VEX flags for CycloneDX 1.7 SBOM output. 5.7.0 · Aug 2026 · source · release history
  • Adds $schema, metadata.tools, metadata.component, dependencies, and evidence.identity fields to CycloneDX 1.6/1.7 outputs for enhanced schema compliance and detection detail reporting. 5.7.0 · Aug 2026 · source · release history
  • Include the vulnerabilityRepositories field in JSON reports and retirejs:vulnerability-repository entries under metadata.properties in CycloneDX reports to identify which repositories were used for the scan. 5.5.0 · Aug 2026 · source · release history
  • CycloneDX 1.6 VEX output now includes Retire.js as the source of each vulnerability rating, including the repository URL when a single repository is used. 5.5.0 · Aug 2026 · source · release history
  • Adds vulnerabilityRepositories field to JSON report output, listing the vulnerability repositories used during the scan. 5.5.0 · Aug 2026 · source · release history

example

  • Generate CycloneDX XML SBOM retire --outputformat cyclonedx
Output reporting verified Writes scan results to a specified file. 3 releases · 3 other sources · first seen May 2023

release

  • Adds ignoreRepositoryCertificateErrors field to JSON reports when --insecure is used 5.6.0 · Aug 2026 · source · release history
  • Adds cyclonedxJSON1_7_VEX as a new output format via the --outputformat flag, enabling Vulnerability Exposure Report (VEX) generation for detected vulnerabilities. 5.7.0 · Aug 2026 · source · release history
  • Adds basePurl repository configuration key to enable generating package URLs (purls) in Software Bill of Materials (SBOM) output 4.3.0 · May 2023 · source · release history

command line

  • --outputpath — File to which output should be written 5.0.0-beta.1 · Mar 2024 · command-line history

example

  • Generate a CycloneDX BOM with VEX data for vulnerabilities found in the current project directory. retire.js --outputformat cyclonedxJSON1_7_VEX 5.7.0 · Aug 2026 · source
  • Generate a CycloneDX 1.7 VEX report (includes vulnerability detail fields) and exit 0 even if vulnerabilities are found, for use in CI pipelines that handle VEX downstream. retire --outputformat cyclonedxJSON1_7_VEX --exitwith 0 5.7.0 · Aug 2026 · source
JavaScript file scanning verified suggested Scans a folder of JavaScript files to identify vulnerable or notable files. 4 other sources · first seen Mar 2024

Suggested capability: Vulnerability database matching. This is our guess, not confirmed.

Also counts toward: Scripting language support

docs

  • Scans JavaScript libraries and Node.js modules for known vulnerabilities, identifying insecure dependencies in web and Node.js apps.

command line

  • --verbose — Show identified files (by default only vulnerable files are shown) 5.0.0-beta.1 · Mar 2024 · command-line history
  • --path — Folder to scan for javascript files 5.0.0-beta.1 · Mar 2024 · command-line history

example

  • Scan current directory for vulnerabilities retire
Proxy support verified Routes tool traffic through a configured HTTP proxy. 2 releases · 1 other source · first seen Mar 2024

Also counts toward: Command-line interface

release

  • Adds a retirejs:ignore-repository-certificate-errors entry under metadata.properties in all CycloneDX reports when --insecure is set, surfacing the bypass in SBOM output. 5.6.0 · Aug 2026 · source · release history
  • Adds retirejs:vulnerability-repository entries under metadata.properties in all CycloneDX report formats, surfacing which repositories backed the scan. 5.5.0 · Aug 2026 · source · release history

command line

Severity-based failure threshold verified Allows the user to set a minimum bug severity level at which the process exits with a failure. 1 release · 1 other source · first seen Apr 2015

release

  • Adds severity info to vulnerabilities in the core detection dataset 1.0.0 · Apr 2015 · source · release history

command line

  • --severity — Specify the bug severity level from which the process fails. Allowed levels none, low, medium, high, critical. 5.0.0-beta.1 · Mar 2024 · command-line history
Path argument handling shipped Accepts a path to scan via the --path flag and warns users when deprecated positional arguments are used instead. 1 release · first seen Oct 2026

release

  • Positional arguments (e.g. retire . or retire src/) now print a warning directing users to use --path <path> instead of being silently ignored. 6.1.0 · Oct 2026 · source · release history
Repository validation shipped Validates a custom JavaScript repository file and reports any errors, listing each problem individually with its location. 1 release · first seen Oct 2026

release

  • Repository validation errors (for an invalid --jsrepo, and from repository/validate) are now listed one per line with the location of each problem, instead of as a nested JSON tree.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 6.1.0 · Oct 2026 · source · release history
License detection and reporting shipped Detects software licenses for components and includes full per-component SPDX license expressions in the output. 1 other source · first seen Aug 2026

Shared capability: SPDX SBOM

example

  • Generate a CycloneDX 1.7 SBOM with full per-component SPDX license expressions and detection evidence for a Node.js project. retire --outputformat cyclonedxJSON1_7 5.7.0 · Aug 2026 · source
Version information verified Reports the current version of the cyber tool. 1 other source · first seen Mar 2024

command line

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for Retire.js, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Retire.js puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

6 entries

  1. October 20261
  2. August 20263
  3. May 20231
  4. April 20151

    6 entries

    Project health

    Issue, contributor and maintainer activity in RetireJS/retire.js, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 5 −1 vs prior 12 months
    2. Maintainers 1 +0 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close < 1 day first maintainer reply 19 hours
    6. Open backlog 2 of 280 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 2
    3. Contributors / month 2
    4. Commits / month 5
    5. Stars 4,173
    Issue themes, last 12 months
    • bugs 17%
    • features 17%
    • other 66%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Articles

    1 article · updated Nov 4, 2026

    Where Retire.js turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.

    Tutorials & guides 1

    • Burp Suite for Pentester: Software Vulnerability Scanner & Retire.js Hacking Articles
      Retire.js Dynamic web applications typically include a variety of libraries, whether they use React , Angular , or jQuery .
      2 more quotes
      For the analysis part, we have another powerful Burp Suite plugin called Retire.js .
      As the name suggests, Retire.js is designed to identify retired or outdated (and potentially vulnerable) versions of JavaScript libraries used by the application.

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →