node/js 漏洞_6个可用于检查Node.js中漏洞的工具
node/js 漏洞
Vulnerabilities can exist in all products. The larger your software grows, the greater the potential for vulnerabilities.
所有产品中都可能存在漏洞。 您的软件增长得越大,潜在的漏洞就越大。
Vulnerabilities create opportunities for exploits which could ruin both the user experience and the product itself.
漏洞为利用创造了机会,可能破坏用户体验和产品本身。
Additionally, in today’s fast-paced world, the rate of vulnerabilities increase as companies demand rapid development (or update) processes. And exploiters are everywhere, looking to take advantage of them.
此外,在当今快节奏的世界中,随着公司要求快速开发(或更新)流程,漏洞的发生率也在增加。 剥削者无处不在,希望利用它们。
That is why it’s important to check for vulnerabilities as early as possible in your applications. This can help you make sure that the final product is secure, and save you a lot of time in the long-run.
因此,尽早检查应用程序中的漏洞很重要。 这可以帮助您确保最终产品是安全的,从长远来看可以节省大量时间。
In this article, we'll look at six tools that will help you check for vulnerabilities in Node.js.
在本文中,我们将研究六个工具,这些工具将帮助您检查Node.js中的漏洞。
Node.js中的漏洞 (Vulnerabilities in Node.js)
Security vulnerabilities are very common in Node.js. As developers, we keep using open source tools because we do not want to reinvent the wheel. This makes development easier and faster for us, but at the same time it introduces possible vulnerabilities to our applications.
安全漏洞在Node.js中非常常见。 作为开发人员,我们一直在使用开源工具,因为我们不想重新发明轮子。 这使我们的开发更容易,更快捷,但同时又为我们的应用程序引入了可能的漏洞。
The best we can do for ourselves is to continually verify the packages we use because the more dependencies we use, the more room there is for more vulnerabilities.
我们能为自己做的最好的事情就是不断验证我们使用的软件包,因为我们使用的依赖项越多,存在更多漏洞的空间就越大。
Manually checking dependencies can be stressful and can increase development time. And going online to find out how vulnerable a package is before installing it can be time-consuming, especially for an application with many dependencies.
手动检查依赖关系可能会很麻烦,并且会增加开发时间。 并且在安装之前先上网查找软件包的脆弱性可能是耗时的,特别是对于具有许多依赖性的应用程序而言。
This is why we need automated tools to help us with this process.
这就是为什么我们需要自动化工具来帮助我们完成此过程的原因。
用于检查Node.js中漏洞的工具 (Tools for Checking for Vulnerabilities in Node.js)
1. Retire.js (1. Retire.js)
Retire.js helps developers detect versions of libraries or modules with known vulnerabilities in Node.js applications.
Retire.js帮助开发人员检测Node.js应用程序中具有已知漏洞的库或模块的版本。
It can be used in four ways:
它可以以四种方式使用:
- A command line scanner to scan a Node.js application.命令行扫描程序,用于扫描Node.js应用程序。
A Grunt plugin (
grunt-retire
), used to scan Grunt enabled applications.Grunt插件(
grunt-retire
),用于扫描启用了Grunt的应用程序。- Browser extensions (Chrome and Firefox). These scan visited sites for references to insecure libraries and puts warnings in the developer console.浏览器扩展(Chrome和Firefox)。 这些扫描访问的站点以引用不安全的库,并在开发人员控制台中发出警告。
- Burp and OWASP Zap Plugin, used for penetration testing.Burp和OWASP Zap插件,用于渗透测试。
2. WhiteSource翻新 (2. WhiteSource Renovate)
WhiteSource Renovate is a multi-platform and multi-language open source tool by WhiteSource which performs automated dependency updates in software updates.
WhiteSource Renovate是WhiteSource的一种多平台,多语言的开源工具,可以在软件更新中执行自动的依赖项更新。
It offers features such as automated pull requests when dependencies need updating, supports numerous platforms, easy modification, and lots more. All changelogs and commit histories are included in each update of the application.
它提供了功能,例如在需要更新依赖项时自动执行拉取请求,支持众多平台,易于修改等等。 所有更改日志和提交历史记录都包含在应用程序的每次更新中。
It can be used in various ways such as:
它可以以多种方式使用,例如:
- A command-line tool for automating the process of updating dependencies to invulnerable dependencies.一个命令行工具,用于自动将依赖关系更新为无敌的依赖关系。
- Github Application for performing the automation process on GitHub repositoriesGithub应用程序,用于在GitHub存储库上执行自动化过程
- GitLab Applications for integrating the automation process on GitLab repositoriesGitLab应用程序,用于在GitLab存储库上集成自动化流程
WhiteSource Renovate also has an on-premises solution that extends the CLI tool to add more features thereby making your applications more efficient.
WhiteSource Renovate还具有一个本地解决方案,该解决方案扩展了CLI工具以添加更多功能,从而使您的应用程序更高效。
3.OWASP依赖性检查 (3.OWASP Dependency-Check)
Dependency-Check is a Software Composition Analysis (CPA) tool used for managing and securing open source software.
依赖关系检查是一种软件组成分析(CPA)工具,用于管理和保护开源软件。
Developers can use it to identify publicly disclosed vulnerabilities in Node.js, Python, and Ruby.
开发人员可以使用它来识别Node.js,Python和Ruby中公开披露的漏洞。
The tool inspects the project's dependencies to gather information about every dependency. It determines if there is a Common Platform Enumeration (CPE) identifier for a given dependency, and if found, it generates a list of associated Common Vulnerability and Exposure (CVE) entries.
该工具检查项目的依存关系,以收集有关每个依存关系的信息。 它确定给定依赖项是否存在通用平台枚举(CPE)标识符,如果找到,它将生成关联的通用漏洞和披露(CVE)条目的列表。
Dependency-Check can be used as a CLI tool, a Maven plugin, an Ant Task and a Jenkins plugin.
Dependency-Check可用作CLI工具, Maven插件, Ant Task和Jenkins插件 。
4. OSS索引 (4. OSS INDEX)
The OSS Index allows developers to search for millions of components to discover the vulnerable and invulnerable ones. This assures developers that the components they plan on using are well protected.
OSS索引使开发人员可以搜索数百万个组件以发现易受攻击的组件。 这可以确保开发人员计划使用的组件受到良好的保护。
They also provide developers with various tools and plugins for programming languages like JavaScript.
他们还为开发人员提供了各种工具和插件,用于诸如JavaScript的编程语言。
These allow them to scan projects for open source vulnerabilites as well as integrate security into the development process of the project.
它们使他们可以扫描项目中的开源漏洞,并将安全性集成到项目的开发过程中。
5. Acutinex (5. Acutinex)
Acunetix is a web application security scanner that allows developers to identify vulnerabilites in Node.js applications and enables them to fix the vulnerabilities to prevent hackers. It comes with a 14 day trial for testing applications.
Acunetix是一个Web应用程序安全扫描程序,可让开发人员识别Node.js应用程序中的漏洞,并使他们能够修复漏洞以防止黑客入侵。 它附带一个为期14天的测试应用程序试用版。
The benefits of using Acunetix to scan web applications are numerous. Some of them are:
使用Acunetix扫描Web应用程序的好处很多。 他们之中有一些是:
- Tests for over 3000 vulnerabilities测试3000多个漏洞
- Analysis of external links for malwares and phishing URLs分析恶意软件和网络钓鱼URL的外部链接
- Scanning of HTML, JavaScript, single page applications, and web services扫描HTML,JavaScript,单页应用程序和Web服务
6. NODEJSSCAN (6. NODEJSSCAN)
NodeJsScan is a static security code scanner. It is used for discovering security vulnerabilities in web applications, web services and serverless applications.
NodeJsScan是静态安全代码扫描程序。 它用于发现Web应用程序,Web服务和无服务器应用程序中的安全漏洞。
It can be used as a CLI tool (which allows NodeJsScan to be integrated with CI/CD pipelines), a web based application, and also has a Python API.
它可以用作CLI工具(允许NodeJsScan与CI / CD管道集成),基于Web的应用程序,并且还具有Python API。
结论 (Conclusion)
Packages, libraries and components for Node.js applications are released regularly, and the fact that they are open source leaves room for vulnerabilities. This is true whether you're working with Node.js, Apache Struts vulnerabilities, or any other open source framework.
Node.js应用程序的软件包,库和组件会定期发布,而它们是开源的事实为漏洞留下了空间。 无论您使用的是Node.js, Apache Struts漏洞还是任何其他开源框架,这都是事实。
Developers need to watch out for vulnerabilities in new releases of packages and know when it's necessary to update packages. The tools above can ease the process of creating efficient and reliable products.
开发人员需要注意新版本软件包中的漏洞,并知道何时需要更新软件包。 上面的工具可以简化创建高效,可靠产品的过程。
翻译自: https://www.freecodecamp.org/news/6-tools-you-can-use-to-check-for-vulnerabilities-in-node-js/
node/js 漏洞
相关文章:

发现一个浏览器很奇怪的问题
浏览器有8个请求状态为pending时,在另一个tab中,请求就发布出去了,一直是stalled。直到pending状态变成了cancled状态。 试了360浏览器(谷歌内核)和chrome浏览器,都是这样。 具体的原因待深究 参考…

wamp配置虚拟主机
因为wampserver的php版本一直是5.x版本;因此转投xmapp用了一段时间; 意外发现wampserver3更新了;php也终于更新到7了; 果断还是决定回到wampserver的怀抱; 然后有意外的发现了wampserver3有了新功能;可以方…

iOS应用模块化的思考及落地方案(二)模块化自动构建工具的使用
1.0 iOS模块化中的问题 前文已经介绍了模块化的流程及一些常见的问题,我们在这里再次总结一下。 在工作中,当我们开始一个新项目的时候,最先考虑的就是模块化工作。 模块化工作的想法是很美好的,可是执行过程中会遇到很多的问题…

aws fargate_我如何在AWS Fargate上部署#100DaysOfCloud Twitter Bot
aws fargateAfter passing my last certification, I asked myself how much time I spent studying cloud computing.通过上一份认证后,我问自己自己花了多少时间研究云计算。 More than 100 days!超过100天! It also made me realize two things:这也…

think in Java 第五章之垃圾回收类型
1.引用计数: 每个对象都含有一个引用计数器,当有引用连接至对象时,引用计数加1,当引用离开作用域或被置为null时,引用计数减1. 缺陷:在对象循环引用时,存在“对象应该被回收,引用计数…
Yii 错误页面处理
【错误页面处理】 訪问一个错误的控制器 訪问一个错误的方法 有些控制器和方法禁止訪问 以上訪问会提示错误信息 404 403 以上错误信息是不方便给外边用户看到的。 1. 安全隐患 2. 用户体验不好 错误信息在site/error这个地方定义的。如今我们要自己定义错误页面来显示我们的错…

设置RGBColor
#define kUIColorFromRGB(rgbValue) [UIColor \colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

自学成才翁_作为一名自学成才的开发者从“我的旅程”中吸取的教训
自学成才翁The path of the self-taught developer is tough and filled with uncertainty. There is no straight line from newbie to career programmer. Because of this, I believe all self-taught developers have a unique story to tell.自学成才的开发者之路艰难而充…

67)vector的begin() end() 和 front() back()的区别 rbegin() rend()
1) 2)v1.begin() 和v1.end() 是作为迭代器v1的 第一个位置 和 最后一个元素的下一个位置。 v1.front() 是v1这个动态数组的第一个元素的值 v1.back()是v1的最后一个元素的值。 3) 4)正向和反向的使…

倒置函数reverse的用法
倒置字符串函数reverse:用于倒置字符串s中的各个字符的位置,如原来字符串中如果初始值为123456,则通过reverse函数可将其倒置为654321,程序如下:#include<stdio.h>#include<string.h>void reverse(char s[…

设置tabbaritem的title的颜色及按钮图片
设置title颜色: [[UITabBarItem appearance] setTitleTextAttributes:{NSForegroundColorAttributeName : kUIColorFromRGB(0xb2151c)} forState:UIControlStateSelected]; 设置按钮图片: UIImage *commonImage [UIImage imageNamed:[NSString strin…
helm部署仓库中没有的包_Kubernetes的Helm软件包管理器简介
helm部署仓库中没有的包Before we dive into the Helm package manager, Im going to explain some key concepts to deploying any application anywhere. Ill also give you a brief introduction to Kubernetes terminology.在深入研究Helm软件包管理器之前 ,我将…

mem 族函数的实现
1.void * memcpy ( void * dest, const void * src, size_t num ); 头文件:#include <string.h>memcpy() 用来复制内存,memcpy() 会复制 src 所指的内存内容的前 num 个字节到 dest 所指的内存地址上。memcpy() 并不关心被复制的数据类型ÿ…

快排递归非递归python_Python递归神经网络终极指南
快排递归非递归pythonRecurrent neural networks are deep learning models that are typically used to solve time series problems. They are used in self-driving cars, high-frequency trading algorithms, and other real-world applications.循环神经网络是深度学习模型…

我的hadoop学习之路
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。 Hadoop的框架最核心的设计就是:HDFS和MapRedu…

日期处理工具类 -【二】
1、返回本周的第一天(周日为每周第一天) 1 /**2 * 返回本周的第一天(周日为每周第一天)3 * return4 */5 public static String getTheFirstDayOfThisWeek(){6 SimpleDateFormat format new SimpleDateFormat("yyyy-MM-dd");7 Calendar cal Calendar.get…

超越对手pdf_如何创建一个超越竞争对手的移动应用
超越对手pdfThe amount of time people spend on their mobile phones has increased over the years, and so has the number of people using mobile devices.多年来,人们在手机上花费的时间增加了,使用移动设备的人数也增加了。 It’s safe to say t…

vue路由对象($route)参数简介
路由对象在使用了 vue-router 的应用中,路由对象会被注入每个组件中,赋值为 this.$route ,并且当路由切换时,路由对象会被更新。 so , 路由对象暴露了以下属性: 1.$route.path 字符串,等于当前路由对象的路…

join......on 后面的and 和where的区别
a.where 是在两个表join完成后,再附上where条件。 b. and 则是在表连接前过滤A表或B表里面哪些记录符合连接条件,同时会兼顾是left join还是right join。即 假如是左连接的话,如果左边表的某条记录不符合连接条件,那么它不…

block的运用
cell的.h文件 typedef void(^ActivityCellBlock)(NSString *str); interface ActivityCell : UITableViewCell property (nonatomic,strong) NSArray *labelAry; property (nonatomic,copy) ActivityCellBlock myBlock; -(void)showCell:(ActivityCellBlock)myBlock; cel…

如何在Ubuntu 20.04上设置Python虚拟环境
I recently got myself a “new” laptop – a Lenovo x270 (yay)! And once again I needed to set up a Python virtual environment. So of course I Googled for a solution, just to find my previously written article on the same topic!我最近给自己买了一台“新”笔记…

getURLParameters - 网址参数
返回包含当前URL参数的对象。 通过适当的正则表达式,使用 String.match() 来获得所有的键值对, Array.reduce() 来映射和组合成一个单一的对象。 将 location.search 作为参数传递给当前 url。 const getURLParameters url >url.match(/([^?&])…

block的使用
#import "ViewController.h" /* 使用Block最大的一个好处就是可以在代码块中随时访问外部变量 比如你在A.class类中的某个方法中声明了一段代码块.你可以在代码块中直接对A.class所拥有的成员变量进行调用,并且,通过一定的条件(__block),还可以随时的修改这…

关于二级菜单的问题
大家在做二级菜单的时候经常会碰到鼠标移出一级菜单,二级菜单瞬间消失,根本不给你机会移到二级菜单上,今天分享下怎样解决这个问题。 ①第一种介绍一种简单粗暴的方法,二级菜单的元素放入一级菜单中。 代码地址:http:h…

python打印换行符_Python换行符以及如何在不使用换行符的情况下进行Python打印
python打印换行符Welcome! The new line character in Python is used to mark the end of a line and the beginning of a new line. Knowing how to use it is essential if you want to print output to the console and work with files.欢迎! Python中的新行字…

tomcat启动后 项目运行缓慢,要几十到几百秒不等 怎么样./startup.sh 运行加快
修改 linux系统中 /usr/local/jdk1.8.0_11/jre/lib/security/java.security 借力 好文章。我们新的Linux系统,部署了多个 Tomca,同时重启后t, 每次都阻塞差不多260秒左右。修改之后总的启动时间下降到6-8秒左右。另外,不确定为什么࿰…

转载 C#中使用结构来传递多个参数
C#中当参数超过5个时,建议用结构来传递多个参数。 示例代码如下: 1 public struct MyStruct2 {3 public string str;4 public int number;5 }6 7 class Program8 {9 static void Main(string[] args) 10 { 11 MyStruct myStruct…

xmpp 开源项目选择_如何选择和维护安全的开源项目
xmpp 开源项目选择评估开源项目安全性的一些技巧。 (A few tricks for assessing the security of an open source project.) There is a rather progressive sect of the software development world called the open source community. 在软件开发领域,有一个相当…

【2018-01-22】HTML-表单及表单元素
<body><!--表单--><form action"" method"post"><!--文本类--><input type"text" value"" placeholder"请输入用户名"/><!--文本框--><input type"password" value"…

取消tableView多余的横线
- (void)setExtraCellLineHidden: (UITableView *)tableView{UIView *view [UIView new];view.backgroundColor [UIColor clearColor];[tableView setTableFooterView:view];}