当前位置: 首页 > 手机教程 > 软件资讯 > 使用命令行工具Graudit来查找你代码中的安全漏洞

使用命令行工具Graudit来查找你代码中的安全漏洞

来源:互联网 分类:软件资讯 发布时间:2020-10-27 16:33:26 访问量:

测试是软件开发生命周期(SDLC)的重要组成部分,它有几个阶段。今天,我想谈谈如何在代码中发现安全问题。在开发软件的时候,你不能忽视安全问题。这就是为什么有一个术语叫 DevSecOps,它的基本职责是识别和解决应用中的安全漏洞。有一些用于检查 OWASP 漏洞 的开源解决方案,它将通过创建源代码的威胁模型来得出结果。

处理安全问题有不同的方法,如静态应用安全测试(SAST)、动态应用安全测试(DAST)、交互式应用安全测试(IAST)、软件组成分析等。

静态应用安全测试在代码层面运行,通过发现编写好的代码中的错误来分析应用。这种方法不需要运行代码,所以叫静态分析。

我将重点介绍静态代码分析,并使用一个开源工具进行实际体验。

为什么要使用开源工具检查代码安全?

选择开源软件、工具和项目作为开发的一部分有很多理由。它不会花费任何金钱,因为你使用的是一个由志趣相投的开发者社区开发的工具,而他们希望帮助其他开发者。如果你有一个小团队或一个初创公司,找到开源软件来检查你的代码安全是很好的。这样可以让你不必单独雇佣一个 DevSecOps 团队,让你的成本降低。

好的开源工具总是考虑到灵活性,它们应该能够在任何环境中使用,覆盖尽可能多的情况。这让开发人员更容易将该软件与他们现有的系统连接起来。

但是有的时候,你可能需要一个功能,而这个功能在你选择的工具中是不可用的。那么你就可以选择复刻其代码,在其上开发自己的功能,并在你的系统中使用。

因为,大多数时候,开源软件是由社区驱动的,开发的速度往往是该工具的用户的加分项,因为他们会根据用户的反馈、问题或 bug 报告来迭代项目。

使用 Graudit 来确保你的代码安全

有各种开源的静态代码分析工具可供选择,但正如你所知道的,工具分析的是代码本身,这就是为什么没有通用的工具适用于所有的编程语言。但其中一些遵循 OWASP 指南,尽量覆盖更多的语言。

在这里,我们将使用 Graudit ,它是一个简单的命令行工具,可以让我们找到代码库中的安全缺陷。它支持不同的语言,但有一个固定的签名集。

Graudit 使用的 grep 是 GNU 许可证下的工具,类似的静态代码分析工具还有 Rough Auditing Tool for Security(RATS)、Securitycompass Web Application Analysis Tool(SWAAT)、flawfinder 等。但 Graudit 的技术要求是最低的,并且非常灵活。不过,你可能还是有 Graudit 无法满足的要求。如果是这样,你可以看看这个 列表 的其他的选择。

我们可以将这个工具安装在特定的项目下,或者全局命名空间中,或者在特定的用户下,或者任何我们喜欢地方,它很灵活。我们先来克隆一下仓库。

$ git clone https://github.com/wireghoul/graudit

现在,我们需要创建一个 Graudit 的符号链接,以便我们可以将其作为一个命令使用。

$ cd ~/bin &&; mkdir graudit$ ln --symbolic ~/graudit/graudit ~/bin/graudit

在 .bashrc (或者你使用的任何 shell 的配置文件)中添加一个别名。

#------ .bashrc ------alias graudit="~/bin/graudit"

重新加载 shell:

$ source ~/.bashrc # 或$ exex $SHELL

让我们通过运行这个来检查是否成功安装了这个工具。

$ graudit -h

如果你得到类似于这样的结果,那么就可以了。

使用命令行工具Graudit来查找你代码中的安全漏洞

图 1 Graudit 帮助页面

我正在使用我现有的一个项目来测试这个工具。要运行该工具,我们需要传递相应语言的数据库。你会在 signatures 文件夹下找到这些数据库。

$ graudit -d ~/gradit/signatures/js.db

我在现有项目中的两个 JavaScript 文件上运行了它,你可以看到它在控制台中抛出了易受攻击的代码。

使用命令行工具Graudit来查找你代码中的安全漏洞

JavaScript file showing Graudit display of vulnerable code

使用命令行工具Graudit来查找你代码中的安全漏洞

JavaScript file showing Graudit display of vulnerable code

你可以尝试在你的一个项目上运行这个,项目本身有一个长长的 数据库 列表,用于支持不同的语言。

Graudit 的优点和缺点

Graudit 支持很多语言,这使其成为许多不同系统上的用户的理想选择。由于它的使用简单和语言支持广泛,它可以与其他免费或付费工具相媲美。最重要的是,它们正在开发中,社区也支持其他用户。

虽然这是一个方便的工具,但你可能会发现很难将某个特定的代码识别为“易受攻击”。也许开发者会在未来版本的工具中加入这个功能。但是,通过使用这样的工具来关注代码中的安全问题总是好的。

总结

在本文中,我只介绍了众多安全测试类型中的一种:静态应用安全测试。从静态代码分析开始很容易,但这只是一个开始。你可以在你的应用开发流水线中添加其他类型的应用安全测试,以丰富你的整体安全意识。


相关下载 +
全新上架 +
最新资讯 +
  • 租车软件便宜好用的有哪些
    租车软件便宜好用的有哪些 租车软件便宜好用的有哪些?随着互联网以及新能源汽车行业的发展,人们的出行方式也得到了巨大改变。人们出行不止靠步行、公交或者地铁,租车软件能够帮助用户便捷且便宜的租到自己喜欢的车。这些软件功能各有不同,极大的满足不同用户的需求,比如低中高端车型的选择、上门取送车服务,‌无需押金服务、真实可靠的信息和透明的价格机制。今天小编为大家带来的就是2024好用的租车软件合集,感兴趣的小伙伴一起来看看吧。
  • 免费的真人剧情互动手游有哪些
    免费的真人剧情互动手游有哪些 免费的真人剧情互动手游有哪些?互动游戏是指那些可以通过感应系统感应玩家的动作,然后进行分析计算,从而执行相关的游戏命令的游戏,千人千面,你的每一个不同的选择将会让故事走向不一样的结局。真人类的互动游戏比传统互动游戏更吸引人的地方,在于它的真实性,打造出一个非常真实的游戏场景让玩家沉浸其中。小编今天就为大家带来真人互动恋爱养成游戏软件推荐,这些游戏提供多位风格独特的女主角供玩家选择,快来进入深度的互动体验吧。
  • 可玩性比较高的手游有哪些
    可玩性比较高的手游有哪些 可玩性比较高的手游有哪些?在游戏行业蓬勃发展的今天,手游类型层出不穷,满足不同玩家的各种需求,让玩家能在空闲之余在游戏世界里放松身心。它也以足够的便捷性和移动性让它积累了一大批潜在忠实用户。小编在本专题为大家整理出目前玩的人最多手游排行,这些游戏有丰富的玩法,出色的画质,有趣的情节,其中包含生存类、塔防类、策略类,快来下载看看哪个更适合你。
  • 刺激好玩的格斗游戏有什么
    刺激好玩的格斗游戏有什么 刺激好玩的格斗游戏有什么?喜欢玩格斗游戏的小伙伴们,一定不能错过这个热血格斗手游排行榜,这个榜单中的格斗游戏风格好切画面真实,给你最佳的游戏代入感。并且格斗招式很多,不同的角色擅长的招式也不同哟,大家可以给这些角色挑选合适的招式,在战斗时可以事半功倍。
  • 流行好玩的武侠游戏有哪些
    流行好玩的武侠游戏有哪些 流行好玩的武侠游戏有哪些?武侠小说大家一定都不陌生,很多人小时候应该都有看过武侠影视剧吧,不过这几年武侠相关的电视剧非常少,如果你想感受快意恩仇的江湖氛围,那就来看看小编整理的好玩的武侠手游排行榜吧,通过游戏我们也可以体验武侠生活,这里面的很多武侠游戏都是根据经典小说改编而来的哟。
  • 画面精美的卡牌游戏有哪些
    画面精美的卡牌游戏有哪些 画面精美的卡牌游戏有哪些?画面精美的卡牌手游排行榜带给大家,很多人喜欢玩卡牌游戏因为抽卡很有新鲜感,每次能抽出的卡牌都不是固定的,让人备受期待。卡牌的画风也很受玩家重视,画面越是精美越吸引人。小编推荐的这些卡牌游戏都是画风比较好的,抽出好卡牌的几率也比较高,感兴趣的可以来了解一下。

今日更新 网站地图 排行榜

优装机下载站(https://www.uzhuangji.net/)版权所有

本站资源均收集整理于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时撤销相应资源。