文章目录

  • 安全漏洞
  • SNYK简介
  • SNYK安装
  • SNYK扫描环境安装
    • mac 安装 npm
    • mac 安装 mvn
  • 应用示例
    • 针对后端代码
    • 针对前端代码

安全漏洞

  • 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使恶意者能够在未授权的情况下访问或破坏系统。

  • 漏洞可能来自应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。

  • 这些缺陷、错误或不合理之处可能被有意或无意地利用,从而对一个组织的资产或运行造成不利影响,如信息系统被攻击者控制,重要资料被窃取,用户数据被篡改,系统被作为其他主机系统的跳板。

  • 从目前发现的漏洞来看,应用软件中的漏洞远远多于操作系统中的漏洞,特别是WEB应用系统中的漏洞更是占信息系统漏洞中的绝大多数

  • 测试遵循CVE®披露标准,从静态代码安全性扫描角度,检测软件版本的安全漏洞和漏洞风险程度。CVE®披露的安全漏洞根据CVSS(Common Vulnerability Scoring System)计算出的漏洞的得分划分成 5 类危险程度:超高危(9.0 - 10.0)、高危(7.0 - 8.9)、中危(4.0 - 6.9)、低危(0.1 - 3.9)、无风险(0)。

  • 参考

    • CVE®官网 : https://cve.mitre.org/
    • CVSS评分框架 : https://www.first.org/cvss/

SNYK简介

  • 官网地址:https://app.snyk.io/org
    在现在的开发中,不管是用什么语言,什么技术栈,我们都会用到很多的开源框架和包。从安全角度讲,这也变相的等于说我们信任陌生的开发者,信任其安全技术水平和相信他没有恶意。在关键业务系统中,仅凭信任肯定不靠谱的。Snky就是用来检查你的依赖包安全漏洞的工具,确保你放心引用各种开源依赖包到你的工程中。

官方介绍:Snyk是一个开发者优先的,自动发现你依赖包的安全漏洞的工具。可以用在多种语言,包括JS,.Net,Java,PHP等等。已经监控了超过100万+的包,12万+的开发者正在使用,保护了10万+的项目

SNYK安装

  1. 安装snyk, 建议每次执行前都重复安装,以升级snyk

    > sudo npm install -g snyk
    

  2. 授权,使用github

    > snyk auth
    

    自动跳转到⼀一个授权⽹网⻚页,点击授权
    如果是首次需要登录github账号

    授权完成

  3. 运行 snyk检测

    > snyk test
    
  4. 查看常用命令

    > snyk --help
    

SNYK扫描环境安装

  • 操作系统:mac os
  • 项目语言:java
  • 依赖工具:maven
  • 使用环境: node.js

mac 安装 npm

> # 使用 brew 安装 npm
> # 检查 brew工具是否已安装
> brew -v
> # 若已安装则更新brewhom,若没安装则先安装
> brew update
> # 执行命令安装node, 安装比较耗时,请耐心等待
> brew install node
> # 检查是否安装成功
> npm -v# debian
> sudo apt install nodejs npm -y
> root@705131ad8916:/# node -v
v12.22.12
> root@705131ad8916:/# npm -v
7.5.2

参考博客:
a. https://blog.csdn.net/pangjiaming99/article/details/84557813
b. https://blog.csdn.net/weixin_42176112/article/details/116705278
c. https://www.liuzhanwu.cn/2843.html

mac 安装 mvn

  1. 下载maven,下载地址:http://maven.apache.org/download.cgi

  2. 配置环境变量

    > # 下载压缩包
    > wget https://dlcdn.apache.org/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.tar.gz
    > # 解压缩下载的安装包
    > tar -xzvf apache-maven-3.8.3-bin.tar.gz
    > # 配置环境变量
    > vim ~/.bash_profile
    > # 在文件中添加如下内容,
    # maven add PATH
    export M2_HOME=/Users/user.name/Downloads/apache-maven-3.8.3
    export PATH=$PATH:$M2_HOME/bin
    > # 保存退出后,执行如下命令立即生效配置
    > source ~/.bash_profile
    

    在配置中添加如下内容:

  3. 验证配置是否生效

    > # 在任一目录执行如下命令
    > mvn -v
    

  4. 配置国内镜像

    > # 在家目录~新增如下文件
    > mkdir ${user.home}/.m2/setting.xml
    

应用示例

针对后端代码

  • 最好先编译一下,以免执行报错
mvn clean install -DskipTests
# 1.在任一目录新建文件夹
mkdir snyktestiam
# 2.进入该文件夹并拉取iam的代码
cd snyktestiam
git clone git@github.com:xxxxxxx/microservice-iam.git
# 3. 进入拉取的iam中,查看当前分支,查看远程分支,并切换到要扫描的分支
> cd iam         # 进入iam
> git status     # 查看当前分支
> git branch -r  # 查看远程分支
> git checkout 本地分支名  远程分支  # 拉取远程分支到本地,并命名为 {本地分支名}
> git status
> 4. 执行如下命令,在项目顶级目录扫描全部项目并把扫描报告文件重定位到上级目录
> snyk test --all-projects >> ../snyk_test_datetime.txt   # 扫描结束可以在重定向的文件中查看结果
>

针对前端代码

  • 前端一般依赖node.js 环境

  • 建议先编译前端代码

  • 否则会自动ignore掉

  • 针对包含前端代码的项目的扫描示例

    > # 解决办法
    > # 1. 手工安装前端的依赖包
    > # cd 到package.json 所在的目录
    > # 执行 npm install
    > # 执行 rm -rf package-lock.json
    > # 2. 若执行 npm install 报错,则按照如下方式处理,否则跳过执行步骤3
    > # sudo su 切换到管理员权限
    > # 参考 https://blog.csdn.net/weixin_42176112/article/details/122200295 把node.js 和 npm 的版本保持一致
    > # 3. 以debug模式在项目顶层目录执行snyk 扫描 查看是否报错
    > snyk test -d --all-projects >> ./snyk_test_projectName_datatime.txt
    

参考文章:
a. https://www.cnblogs.com/chihuobao/p/12574035.html
b. https://www.jianshu.com/p/a8704f402ad2

Snyk 依赖性安全漏洞扫描工具相关推荐

  1. 漏洞扫描工具_Vulmap漏洞扫描工具

    本文来源于https://github.com/zhzyker/vulmap 已与作者联系 作者同意发送本文章 Vulmap目前支持以下漏洞 +-------------------+-------- ...

  2. 网站漏洞扫描工具Uniscan

    网站漏洞扫描工具Uniscan 网站漏洞的种类有很多种,如何快速扫描寻找漏洞,是渗透测试人员面临的一个棘手问题.Uniscan是Kali Linux预先安装的一个网站漏洞扫描工具.该工具可以针对单一. ...

  3. WordPress漏洞扫描工具WPScan

    WordPress漏洞扫描工具WPScan WordPress是主流的PHP网站模版,以构建博客而闻名.WordPress可以通过安装插件和主题的方式扩展功能,这也带来的安全隐患.WordPress是 ...

  4. Netsparker超轻量级Web安全漏洞扫描工具使用教程介绍

    有特征 此工具分为收费版本和绿色版本 绿色版本也是很强大的 一 .Netsparker工具简介 Netsparker是一款综合型的web应用安全漏洞扫描工具,它分为专业版和免费版,免费版的功能也比较强 ...

  5. 强大的漏洞扫描工具--nessus

    Nessus<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 漏 ...

  6. 漏洞扫描工具Vulmap

    Vulmap是一款漏洞扫描工具, 可对Web容器.Web服务器.Web中间件以及CMS等Web程序进行漏洞扫描, 并且具备漏洞利用功能.相关测试人员可以使用vulmap检测目标是否存在特定漏洞, 并且 ...

  7. CentOS安装lynis安全漏洞扫描工具

    CentOS安装lynis安全漏洞扫描工具 1.新建lynis目录 2.安装准备:下载lynis安装包 传送门: https://cisofy.com/downloads/lynis/ or 直接执行 ...

  8. Web漏洞扫描工具(批量脱壳、反序列化、CMS)

    一.什么是Web漏洞扫描工具 即是指"扫描Web应用以查找安全漏洞(如跨站脚本,SQL注入,命令执行,目录遍历和不安全服务器配置)的自动化工具",其中许多可能是由不安全或不正确的编 ...

  9. AWVS工具太顶了,漏洞扫描工具AWVS介绍及安装教程

    AWVS基本操作 AWVS工具在网络安全行业中占据着举足轻重的地位,作为一名安全服务工程师,AWVS这款工具在给安全人员做渗透测试工作时带来了巨大的方便,大大的提高了工作效率. AWVS工具介绍 Ac ...

最新文章

  1. 【Python】深度学习中将数据按比例随机分成随机 训练集 和 测试集的python脚本
  2. 第 2 章:初出茅庐【初级篇 - 2.1 穷竭搜索】
  3. Linux 命令之 type -- 显示指定命令的类型
  4. MIP开发教程(二) 使用MIP-CLI工具调试MIP网页
  5. Oracle字符函数length substr concat实例
  6. mysql -connector/j驱动下载
  7. 转 ---《协程小结》
  8. 合并两个有序链表-python
  9. TM4C123-使用ROM中的函数库
  10. cadence常用软件模块介绍
  11. 利用Yocto构建嵌入式Linux教程3_1--Yocto构建系统的配置文件
  12. cloud-init 数据获取处理文档
  13. translate与rotate
  14. 关于ATSHA204a的使用流程
  15. Ubuntu虚拟机中VCS安装和启动过程中遇到的问题总结
  16. Android 统一打包框架(附源码下载)
  17. Incarnation概念
  18. 字符串反转(把一个字符串按相反的顺序输出)的三种简单方法
  19. 爬虫与反爬的常见套路
  20. 3D游戏建模在游戏公司中是什么样的角色?薪资高,有前途吗

热门文章

  1. Landsat 7两个热红外波段B61和B62的区别与应用时的选择方法
  2. HATEOAS 返回结果content被隐藏
  3. 浅谈压缩感知(三十二):压缩感知的常见测量矩阵
  4. Oracle影院订票系统,C#实现影院售票系统
  5. 分贝检测 - 技术支持
  6. web的一些基本名词概念
  7. 修改电脑OEM信息IE标题栏修改
  8. 服务器npc修改,梦幻古龙服务端NPC对话修改工具与教程
  9. Qt基于定时器实现简单动图展示(2例)
  10. python使用pip install安装django报错