代码中存在许多人类难以手动发现的问题,所以即使是很高级的安全分析师也会错过一些安全漏洞。源代码分析工具就是我们的救星,当然,市场上有大量可用的工具,但是对于初创公司和自由职业者来说,有些选择太昂贵了,不必担心,以下也有一些免费的静态代码分析工具。
1.RIPS
RIPS通过标记和解析所有源代码文件,自动检测PHP应用程序中的漏洞。它能够将PHP源代码转换为程序模型,检测程序流期间用户输入可能污染的敏感接收器,即潜在易受攻击的函数。只有它可以检测到最深层嵌套在代码内部的最复杂的安全错误,准确性极高,是分析代码的不错选择。并且还供应安全且高度可扩展的平台(SaaS)在线扫描,无需本地安装或维护开销。在与构建工具集成之后,IDE和问题跟踪器以及任何其他自定义工具都可以带来自动化功能。它是你整个开发生命周期中的跟屁虫,帮你看管所有进度发现代码中的风险和漏洞,让你可以立即解决问题。
2. DeepCode
DeepCode是一个代码分析工具,利用人工智能来帮助清理代码。它的主要功能是检查代码并突出显示可能容易受到安全漏洞破坏的部分。它可以在达到临界安全级别之前分析用户输入处理。因此,当任何数据在没有安全验证或清除的情况下从一个点移动到另一个点时,该工具会将其标记为受污染的,并向您发出警告。该工具可以标记的问题包括跨网站脚本、SQL注入威胁、远程代码执行以及路径遍历攻击等。它的公有云使用是免费的,私有云是收费的喔。
3. Brakeman
免费的!开放源代码漏洞扫描程序。它是一个静态代码分析器,可在开发过程中的任何阶段扫描Rails应用程序代码以发现安全问题。它可以查看应用程序的源代码,因此无需设置整个应用程序堆栈即可使用它。扫描应用程序代码后,它将针对所有安全问题生成详细的报告。无需任何必要的配置即可运行,在开发过程的任何阶段随时运行,它每次检查都是独立执行的,灵活性很强。
4. Flawfinder
它是一个免费的简单程序,入门代码分析的理想工具,它的效率高,可以在时间内检查较大的程序,命中密度也高。可以扫描C或C ++源代码,从而快速识别可能的安全漏洞并生成按风险级别排序的报告。它作为开源软件提供,对于在程序广泛发布之前快速发现并消除潜在的安全问题非常有用。它经过专门设计,可以和python的pip一起安装,还会给你一个简单的用户指南。它与CWE兼容,还获得了CII优秀实践通过徽章。对于初学者来说是个很棒的工具。
5.Fortify
Micro Focus的Fortify专注于扫描代码库中的安全漏洞。它几乎涵盖所有编程语言,为你提供解决漏洞的建议,与流行的CI/CD工具轻松集成。它重点关注已知的安全漏洞以及可能存在问题的任何恶意软件或损坏文件的存在。