Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/retirejs/retire.js
静态分析漏洞扫描器Web安全
GitHubretirejs/retire.js

retire.js

用于检测使用已知漏洞JavaScript库的扫描器。还可以生成它所找到库的SBOM。

查看仓库网站
4.2k43712天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Retire.js

你所需的,也终需退休

在Web和Node.js应用开发中,存在一个庞大的JavaScript库生态系统。虽然这些库能显著加速开发,但也需要持续维护以确保安全漏洞能及时修补。2013年,"使用含有已知漏洞的组件"被列入OWASP十大关键安全风险列表,凸显了过时或不安全的依赖项对Web应用的严重威胁。Retire.js 旨在帮助开发者识别含有已知漏洞的JavaScript库版本,特别是那些未在包清单中记录,而是直接下载并放入版本控制的库。

Retire.js 可通过多种方式使用:

  1. 作为命令行扫描器
  2. 作为Chrome扩展程序 - 官方未在Chrome网上应用店提供
  3. 作为Burp扩展 或 OWASP ZAP附加组件
  4. 作为Firefox扩展程序 - 已弃用 如果你想维护并重新启用它,请告知我们。
  5. 无头网站扫描器
  6. 作为grunt插件(已弃用)
  7. 作为gulp任务(已弃用)

命令行扫描器

扫描Web应用或Node应用,检测是否使用了存在漏洞的JavaScript库和/或Node.js模块。如果尚未安装,需要先安装node/npm。在应用的源代码目录中运行:

root@kitploit:~
$ npm install -g retire
$ retire

SBOM生成

retire.js 可以生成CycloneDX格式的SBOM:

root@kitploit:~
$ retire --outputformat cyclonedx

默认情况下,retire.js 在发现漏洞时会以退出码13退出。可以通过 --exitwith 0 覆盖此行为。

Chrome和Firefox扩展程序

扫描访问过的站点,查找对不安全库的引用,并在开发者控制台中显示警告。地址栏上的图标也会指示是否加载了存在漏洞的库。

Burp扩展和OWASP ZAP附加组件

@h3xstream 已将 Retire.js 改编为渗透测试工具 Burp 和 OWASP ZAP 的插件。

OWASP ZAP 团队官方支持一个 Retire.js 附加组件,可通过 ZAP 市场获取,并默认包含在 ZAP 每周发布版中:https://www.zaproxy.org/docs/desktop/addons/retire.js/

无头网站扫描器

retire-site-scanner https://github.com/RetireJS/retire-site-scanner 可用于以无头模式扫描网站(与使用Chrome/Firefox扩展程序相对)。

Grunt插件(已弃用)

一个运行 Retire.js 的 Grunt 任务,可将其集成到应用的构建流程或其他自动化工作流中。

Gulp任务(已弃用)

以下是一个Gulp任务示例,可在你的gulpfile中使用,以自动监视并扫描项目文件。你可以根据需要修改监视模式和(可选)Retire.js选项。

root@kitploit:~
const c = require("ansi-colors");

var gulp = require("gulp");
var beeper = require("beeper");
var log = require("fancy-log");
var spawn = require("child_process").spawn;

gulp.task("retire:watch", ["retire"], function (done) {
  // 监视所有JavaScript文件和package.json
  gulp.watch(["js/**/*.js", "package.json"], ["retire"]);
});

gulp.task("retire", function () {
  // 作为子进程启动Retire.js
  // 可选的参数可以添加到第二个参数(数组)
  var child = spawn("retire", [], { cwd: process.cwd() });

  child.stdout.setEncoding("utf8");
  child.stdout.on("data", function (data) {
    log(data);
  });

  child.stderr.setEncoding("utf8");
  child.stderr.on("data", function (data) {
    log(c.red(data));
    beeper();
  });
});

捐赠

捐款将用于资助该工具及漏洞仓库的维护。

下载工具