当前位置: 首页 > 手机教程 > 软件资讯 > 使用命令行工具 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机甲游戏排行榜,在这个榜单中看到的机甲游戏都是新出的一些机甲类游戏,充满了新鲜感,赶紧来了解一下吧。
  • 热门的avg冒险游戏有哪些
    热门的avg冒险游戏有哪些 热门的avg冒险游戏有哪些?avg游戏比起其他的游戏充满了不确定性,游戏中有很多未知的因素等待着你去了解,这一类的游戏可玩性还是很高的。如果你对冒险游戏很感兴趣,那么这个2024热门的avg游戏排行榜就是你千万不能错过的了,这里的游戏都是小编精心挑选的,很多的挑战等着你来完成。
  • pve手游排行榜
    pve手游排行榜 好玩的pve游戏都有什么?pve类的游戏可以让玩家与游戏中设定好的boss或者是NPC来进行战斗,pve类的游戏玩起来还是很有特色的。那么哪些pve游戏比较值得下载呢?小编给大家专门整理了这个pve手游排行榜,在这个榜单中看到的pve游戏都是可玩性比较高的,相信大家都能在这里找到令自己喜欢的游戏。

今日更新 网站地图 排行榜

优装机下载站(https://www.uzhuangji.net/)版权所有(网站邮箱:gua_niu66@163.com)陕ICP备2024030148号-1

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