如何使用命令行工具Graudit来查找代码中的安全漏洞?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的小伙伴找到更简单易行的方法。
凭借广泛的语言支持,Graudit允许您在开发过程中审核代码安全性。
测试是软件开发生命周期(SDLC)的重要组成部分,它有几个阶段。今天,我想谈谈如何在代码中发现安全问题。
开发软件时,不能忽视安全问题。这就是为什么有一个术语叫做DevSecOps,它的基本职责是识别和解决应用程序中的安全漏洞。有一些检查OWASP漏洞的开源解决方案,它们将通过创建源代码的威胁模型来获得结果。
处理安全问题有不同的方法,如静态应用安全测试(SAST)、动态应用安全测试(DAST)、交互式应用安全测试(IAST)、软件组成分析等。
静态应用程序安全测试在代码级别运行,并通过发现编写的代码中的错误来分析应用程序。这个方法不需要运行代码,所以叫做静态分析。
我将专注于静态代码分析,并使用开源工具获得实践经验。
为什么要使用开源工具检查代码安全?
选择开源软件、工具和项目作为开发的一部分有很多原因。这不会花任何钱,因为你正在使用一个由志同道合的开发人员开发的工具,他们想帮助其他开发人员。如果你有一个小团队或者一家初创公司,最好找到开源软件来检查你的代码安全性。这样就不用单独雇佣一个DevSecOps团队,降低了成本。
好的开源工具总是考虑灵活性。它们应该能够在任何环境中使用,并覆盖尽可能多的情况。这使得开发人员更容易将软件与其现有系统连接起来。
但是有时,您可能需要一个在您选择的工具中不可用的功能。然后你可以选择复制它的代码,在上面开发你自己的函数,并在你的系统中使用它。
因为,很多时候,开源软件是社区驱动的,开发速度往往是这个工具用户的加分项,因为他们会根据用户反馈、问题或bug报告迭代项目。
00-1010有多种开源静态代码分析工具可供选择,但正如您所知,工具会分析代码本身,这就是为什么没有适用于所有编程语言的通用工具。但是它们中的一些遵循OWASP指南,并覆盖尽可能多的语言。
在这里,我们将使用Graudit,这是一个简单的命令行工具,可以帮助我们发现代码库中的安全缺陷。它支持不同的语言,但有固定的签名集。
Graudit使用的Grep是GNU许可下的一个工具。类似的静态代码分析工具包括安全粗略审计工具(RATS)、安全指南针网络应用程序分析工具(SWAAT)、flawfinder等。但是,Graudit的技术要求最低,非常灵活。但是,您可能仍然有Graudit无法满足的要求。如果是这样,你可以看看这个列表中的其他选项。
我们可以在特定的项目下,或者在全局命名空间中,或者在特定的用户下,或者在我们喜欢的任何地方安装这个工具。它非常灵活。我们先克隆仓库。
github.com/wireghoul/Graudit现在,我们需要创建一个graudit的符号链接,这样我们就可以将其用作命令。
$ CD ~/binamp;amp。mkgraudit $ ln-符号~/GRAudit/GRAudit ~/bin/GRAudit向添加别名。bashrc(或您使用的任何shell的配置文件)。
#-bashrc-Aliasgrudit=' ~/bin/Graudit '重新加载外壳:
$source~/。bashrc#或$exex$SHELL
pre>
让我们通过运行这个来检查是否成功安装了这个工具。
$ graudit -h
如果你得到类似于这样的结果,那么就可以了。
图 1 Graudit 帮助页面
我正在使用我现有的一个项目来测试这个工具。要运行该工具,我们需要传递相应语言的数据库。你会在 signatures 文件夹下找到这些数据库。
$ graudit -d ~/gradit/signatures/js.db
我在现有项目中的两个 JavaScript 文件上运行了它,你可以看到它在控制台中抛出了易受攻击的代码。
JavaScript file showing Graudit display of vulnerable code
JavaScript file showing Graudit display of vulnerable code
你可以尝试在你的一个项目上运行这个,项目本身有一个长长的数据库列表,用于支持不同的语言。
Graudit 的优点和缺点
Graudit 支持很多语言,这使其成为许多不同系统上的用户的理想选择。由于它的使用简单和语言支持广泛,它可以与其他免费或付费工具相媲美。最重要的是,它们正在开发中,社区也支持其他用户。
虽然这是一个方便的工具,但你可能会发现很难将某个特定的代码识别为“易受攻击”。也许开发者会在未来版本的工具中加入这个功能。但是,通过使用这样的工具来关注代码中的安全问题总是好的。
我只介绍了众多安全测试类型中的一种:静态应用安全测试。从静态代码分析开始很容易,但这只是一个开始。你可以在你的应用开发流水线中添加其他类型的应用安全测试,以丰富你的整体安全意识。
关于如何使用命令行工具Graudit来查找你代码中的安全漏洞问题的解答就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84217.html