Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Retire.js - 检测JavaScript依赖漏洞的安全工具

Retire.js - 检测JavaScript依赖漏洞的安全工具

作者头像
用户4682003
发布于 2025-06-16 02:10:41
发布于 2025-06-16 02:10:41
19401
代码可运行
举报
运行总次数:1
代码可运行

项目概述

Retire.js是一个用于检测JavaScript项目中存在已知漏洞依赖的安全扫描工具。它能够识别网页应用和Node.js应用中使用的具有已知安全漏洞的JavaScript库和模块。

主要特性

  • 多平台支持:提供命令行工具、浏览器扩展和构建工具插件
  • 全面检测:通过多种方式检测漏洞依赖:
    • 文件名/URL匹配
    • 文件内容扫描
    • 哈希值比对
    • 沙箱执行检测(浏览器扩展)
  • 丰富的输出格式:支持文本、JSON、CycloneDX等多种报告格式
  • 持续更新:漏洞数据库定期更新
  • 轻量级:无复杂依赖,易于集成到开发流程中

安装指南

命令行工具安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g retire //前提要安装node.js

如下所示:

图片
图片

Chrome扩展安装

  1. 克隆仓库:git clone https://github.com/RetireJS/retire.js
  2. 运行构建脚本./build_chrome.sh
  3. 在Chrome中加载解压的扩展:chrome://extensions/ → "开发者模式" → "加载已解压的扩展程序" → 选择chrome/extension目录

如下所示:

图片
图片
图片
图片
图片
图片
图片
图片

Firefox扩展安装

firefox在管理扩展中搜索retire.js安装即可

图片
图片

使用说明

基本扫描

代码语言:javascript
代码运行次数:1
运行
AI代码解释
复制
//npm install -g retire 安装完以后 在命令行执行
retire --path /path/to/scan --proxy http://127.0.0.1:21882 //在国内的话可能要用魔法

如下所示,--path 后面添加要检查的web项目(须包含前端源代码的)

比如我这个前后端分离的项目中,前端项目用了axios依赖,它即检测到了该项目使用了axios依赖,并识别出了当前axios使用的版本以及可能存在的漏洞风险

图片
图片

常用选项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 指定扫描路径
retire --path /path/to/scan

# 输出JSON格式报告
retire --path /path/to/scan --outputformat json

# 忽略特定路径
retire --path /path/to/scan --ignore "node_modules,bower_components"

# 指定漏洞严重级别阈值
retire --path /path/to/scan --severity high

Chrome扩展使用

安装后,扩展会自动扫描访问的网页,并在开发者控制台显示发现的漏洞。如下所示

图片
图片
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全技术点滴分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
「安全工具」13个工具,用于检查开源依赖项的安全风险
您是否知道高达90%的应用程序通常包含第三方组件,主要是开源软件?您是否知道全球500强中超过50%使用易受攻击的开源组件?
架构师研究会
2019/07/22
3.5K0
2025开源SCA工具推荐 | 组件依赖包安全风险检测利器
软件成分分析(Software Composition Analysis, SCA)是Gartner定义的一种应用程序安全检测技术,该技术用于分析开源软件以及第三方商业软件涉及的各种源码、模块、框架和库等,以识别和清点开源软件的组件及其构成和依赖关系,并检测是否存在已知的安全和功能漏洞、安全补丁是否已经过时或是否存在许可证合规或兼容性风险等安全问题,帮助确保企业软件供应链中组件的安全。
OpenSCA社区
2025/03/07
5780
2025开源SCA工具推荐 | 组件依赖包安全风险检测利器
2024年Node.js精选:50款工具库集锦,项目开发轻松上手(二)
Node.js的力量源自于庞大的NPM生态圈,拥有超过150万个包。没有NPM,Node.js虽然仍然可以使用,但其功能将大打折扣。在本系列文章中,我们将探索每位开发者都应该了解的常用NPM包。本篇,我们继续介绍第11至20款工具库,让你在Node.js项目开发中如虎添翼。
前端达人
2024/03/11
7890
2024年Node.js精选:50款工具库集锦,项目开发轻松上手(二)
node-gyp是用Node.js编写的跨平台命令行工具,用于为Node.js编译本机插件
node-gyp是用Node.js编写的跨平台命令行工具,用于为Node.js编译本机插件。它包含gyp-next项目的供应商副本,该副本以前由Chromium团队使用,已扩展用来支持Node.js本机插件的开发。
西里国际站
2023/08/23
3.7K0
03_Node.js模块化开发
NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。
张哥编程
2024/12/13
3190
03_Node.js模块化开发
3 种确保开源Node.js依赖包安全的方法
随着Node.js应用程序的规模和特性的扩展,它们的依赖关系也会扩展。为了让Node.js应用程序能够正常运行,你还需要测试框架、UI框架、数据库客户端、像Express这样的MVC库等等。
前端修罗场
2022/07/29
1.2K0
3 种确保开源Node.js依赖包安全的方法
如何使用bomber扫描软件物料清单(SBOM)以查找安全漏洞
 关于bomber  bomber是一款针对软件物料清单(SBOM)的安全漏洞扫描工具,广大研究人员可以通过该工具扫描和检测软件物料清单(SBOM)。 当你向一家供应商索要了他们的一个封闭源代码产品的软件材料清单,而他们以JSON文件的形式向你提供了一份材料清单,接下来你需要怎么做呢? 我们要做的第一件事就是查看软件物料清单中列出的任意组件是否存在安全漏洞,以及这些组件具有何种许可证,这将帮助我们确认使用该产品将承担何种风险。 而bomber正好可以帮助我们,该工具可以读取任何基于JSON或XML的Cycl
FB客服
2023/03/29
1.1K0
如何使用bomber扫描软件物料清单(SBOM)以查找安全漏洞
vue项目搭建及基本配置
准备阶段会将项目环境配置完毕,包含 node、 npm、 webpack和 vue-cli。已经完成的小伙伴可以跳过此步骤看第二阶段。
流眸
2019/08/12
3.5K0
Node.js 编写 CLI 的实践
本文作者:ivweb 程柳锋 导语 通常而言,Node.js的应用场景有前后端分离、海量web页面渲染服务、命令行工具和桌面端应用等等。本篇文章选取CLI(Command Line Tools)子领域
腾讯IVWEB团队
2017/07/04
2.6K0
Node.js 编写 CLI 的实践
我和JS文件不得不说的故事
如果你是使用Burp Suite来进行测试,就可以通过多种方式来收集应用程序中的所有JavaScript文件。这也是俺比较喜欢的一种方式
tnt阿信
2020/09/18
1.5K0
Node.js命令介绍
Node.js是一个基于Chrome的V8引擎的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码。Node.js的强大之处在于其非阻塞I/O模型和事件驱动架构,使其轻量级且高效,尤其适用于数据密集型实时应用。在Node.js中,我们可以通过命令行工具来执行各种操作,下面我将介绍一些常用的Node.js命令。
china马斯克
2024/07/27
3270
下一代浏览器和移动自动化测试框架:WebdriverIO
今天给大家推荐一款基于Node.js编写且号称下一代浏览器和移动自动化测试框架:WebdriverIO
测试开发技术
2024/08/09
5490
下一代浏览器和移动自动化测试框架:WebdriverIO
手把手教你编写Node.js模块
👆点击“博文视点Broadview”,获取更多书讯 编写稍复杂的程序时,一般会先将代码模块化。 在Node.js中,一般会将代码合理拆分到不同的JavaScript文件中,每一个文件就是一个模块,而文件路径就是模块名。 在编写模块代码时要遵循CommonJS规范(新版Node.js已经支持ES Module规范,但不建议两种规范混用)。 同时,还要结合npm简单发布流程,让开发者体会到快速开发和快速发布功能的强大之处。 因为有如此强大的功能,npm生态始终繁荣。 通过npm安装的Node.js模块主要
博文视点Broadview
2023/02/24
1.3K0
手把手教你编写Node.js模块
尚医通-前端知识点
前端工程师“Front-End-Developer”源自于美国。大约从2005年开始正式的前端工程师角色被行业所认可,到了2010年,互联网开始全面进入移动时代,前端开发的工作越来越重要。
用户9615083
2022/12/30
1.5K0
尚医通-前端知识点
Node.js 安装与开发
Node.js 简介 Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。 V8引擎执行Javascript的速度非常快,性能非常好。 Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。 Node.js 使用事件驱动, 非
阳光岛主
2018/05/17
2.5K0
详解karma & jasmine自动化测试
前端包管理工具 代码重用和复用是快捷开发的一种重要方式,但是原始的代码模块散布于各个平台上,不好寻找,程序员对其进行有效管理也成为了一大难题。此时,依赖(包、插件、工具都可以称呼,本质是他人写好封装后的代码模块)管理工具应需而生。依赖管理工具使用简单的命令即可提供 依赖的查找、安装、卸载等操作,深受广大程序员喜爱。 前端 Node.js 最为常用的依赖管理工具 是npm,npm 之于Node.js,就如 pip 之于 Python,gem 之于 Ruby,pear 之于 PHP , maven 之于Jav
lonelydawn
2018/02/09
2.7K0
详解karma & jasmine自动化测试
JavaScript全栈开发-工具篇
作者:龙付成--腾讯高级前端工程师 @IMWeb前端社区 目录 JavaScript早期主要作为脚本语言运行在浏览器,而现在JavaScript的使用范围已经超越浏览器,向通用系统语言发展。特别是HTML5的出现,浏览器的平台化,Node.js开源项目的发展,NoSQL技术的发展,JavaScript逐渐成为跨移动平台应用程序及跨平台桌面应用程序的开发语言。 JavaScript标准有两类,一种是作为浏览器上通用行业标准的ECMAScript标准,另一种是作为浏览器外的桌面、服务器的标准CommonJS标
用户1097444
2022/06/29
1.8K0
JavaScript全栈开发-工具篇
Windows配置Node.js+npm的流程
  本文介绍在Windows电脑中,下载、安装并配置Node.js环境与npm包管理工具的方法。
疯狂学习GIS
2025/02/18
9360
Windows配置Node.js+npm的流程
小程序 boilerplate cli 工具教程
于是决定写个(100 行代码不到的) cli 工具解决痛点,另外选择了 npm package 的方式,方便维护。
kmokidd
2019/04/16
2.6K0
小程序 boilerplate cli 工具教程
深入探讨 npm run start 遇到 spawn EINVAL 时的含义与应对思路
在讨论这个问题之前,需要明确指出 npm run start 出现 spawn EINVAL 的情况可能与操作系统环境、路径配置、脚本编写方式、权限限制以及 Node.js 版本等多种因素相关。npm 运行脚本时,本质上会通过 Node.js 的子进程机制调用相关命令或脚本,当子进程在尝试 spawn 某个可执行文件时,如果系统返回了 EINVAL,就意味着当前调用遇到了无效参数或不正确的可执行文件路径。spawn EINVAL 的含义通常可以理解为: Node.js 在使用内部 API 调用命令时得到了一个 Invalid Argument 的错误。
编程小妖女
2025/06/10
1890
深入探讨 npm run start 遇到 spawn EINVAL 时的含义与应对思路
相关推荐
「安全工具」13个工具,用于检查开源依赖项的安全风险
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档