热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GoModule有漏洞?免费的Go漏洞扫描VSCode插件

安全很重要,但实际工作中,大家不知不觉会忘记它。我希望通过这篇文章,用上我介绍的工具,你能对安全问题更重视,也更好的规避库的安全漏洞。作为一个Go开发人员,安全问题一样得重视。如果

  安全很重要,但实际工作中,大家不知不觉会忘记它。我希望通过这篇文章,用上我介绍的工具,你能对安全问题更重视,也更好的规避库的安全漏洞。

  

  作为一个 Go 开发人员,安全问题一样得重视。如果你使用 VSCode,推荐给你一个免费的插件,它能够方便的将有风险的 Go Module 及时告诉你。

  这个插件就是 JFrog,在 VSCode 中搜索安装。它能将当前项目使用的公开依赖的实时漏洞信息从 JFrog GoCenter[1] 的元数据中直接引入到源代码编辑器中。这意味着你在首次构建之前就能看到开源 Go 模块的潜在风险,并做出更好的选择。

  VSCode 已成为许多 Go 开发人员的首选源代码编辑器,包括 JFrog 的一些开发人员。它是为 JFrog Xray 客户提供的针对流行 IDE[2] 的几种 JFrog 集成之一,使开发人员更容易理解开源依赖的风险,并有助于保持对安全的警惕。

  为了帮助实现使软件开发和交付更快、更安全和更可靠的使命,JFrog 将 VSCode 扩展提高到了一个新水平。通过利用 GoCenter 中可用的 Go 模块漏洞数据,即使没有 Xray 许可实例,VSCode 用户也可以从中受益。

  安装扩展程序后,有两种方式查看项目中的漏洞。

  安装了 JFrog 扩展后,在 VSCode 编辑器左侧会出现一个按钮:

  

  点击它,会看到如下的界面:

  

  在左侧看到了一些问题:有叹号,中等级别的漏洞。

  咦?echo 框架竟然有漏洞?于是点开它左侧的 > :

  

  原来是 golang/x/text 包有漏洞。但具体什么问题不清楚。同时我们发现该包最新的版本是 v0.3.4。

  将鼠标悬停在 go.mod 文件中的模块上时,即可在 VSCode 中查看所有这些信息。

  

  同时依赖底部的黄色波浪线也表明有问题。

  你可以从 go.mod 中的模块直接跳至树状视图(鼠标停留在某个依赖,左侧会出现一个黄色小灯泡),并支持从树中跳转至 go.mod 中的模块定义。图中红框部分就是做这种跳转。

  

  点击小灯泡,出来的菜单还可以直接跳转到 GoCenter 网站。关于 GoCenter 的一些相关信息,以后再介绍。这里简单提一句,在 GoCenter 网站,点击 “Security” 标签下查看有关该模块的更多信息。

  

  也可以看到 golang/x/text 有漏洞。

  但怎么看到具体漏洞信息呢?通过 GoCenter,找到有问题的包,比如这里是上面的 golang/x/text 包,对应 0.3.0 或 0.3.2 都行。在 Security 标签下,可以看到漏洞描述:

  

  这个漏洞大意是:在 0.3.3 版本之前,x/text 包在编码/解码方面存在漏洞,可能导致 UTF-16 解码器进入无限循环,导致程序崩溃或内存耗尽。如果调用解码器上的 String 函数,或者解码器传递到

  golang/x/text/transform.String,攻击者可以为使用 UseBOM 或 ExpectBOM 实例化的 UTF16 解码器提供单个字节来触发无限循环。

  切换到 0.3.3 发现确实没有漏洞了。因此我们项目中应该升级该库的版本。

  这里有一个小问题。比如上面提到的

  github/polaris1119/go-echo-example 项目,golang.org/x/text 库在这个项目中被很多库依赖,而且不同库依赖的版本还不一样,而且有些库的最新版本依赖的 golang.org/x/text 还是 0.3.2,比如 locales 库的 go.mod

  github/go-playground/locales/blob/v0.13.0/go.mod,依赖的还是 0.3.2。所以即使更新了相关的库,VSCode 上 JFrog 插件还是提示有漏洞。但实际上已经没有问题了,你可以试试删除掉 golang.org/x/text v0.3.3 以下的版本(在 $GOPATH/pkg/mod 下面),然后编译项目,是否能成功过。

  希望本文能够让你重视项目安全问题,重视 go module 的安全。

  此外,Jfrog 的 VSCode 扩展还可以使用在其他语言项目中。例如 Maven,Gradle,npm,NuGet,RubyGems 和 PHP Composer 等。



推荐阅读
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • FIN7后门工具伪装成白帽工具进行传播
    fin7,后门,工具,伪装,成,白, ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 必须先赞下国人npm库作品:node-images(https:github.comzhangyuanweinode-images),封装了跨平台的C++逻辑,形成nodejsAP ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • OWASP(安全防护、漏洞验证工具)开放式Web应用程序安全项目(OWASP,OpenWebApplicationSecurityProject)是一个组织 ... [详细]
  • 详解 Python 的二元算术运算,为什么说减法只是语法糖?[Python常见问题]
    原题|UnravellingbinaryarithmeticoperationsinPython作者|BrettCannon译者|豌豆花下猫(“Python猫 ... [详细]
author-avatar
同亮uncle_847
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有