静态应用安全测试(SAST)

静态应用安全测试(SAST)工具在不执行目标软件的情况下扫描软件中的漏洞。通常,静态分析将扫描源代码以寻找安全缺陷,例如不安全函数的使用、硬编码的秘密和配置问题。SAST工具通常以IDE插件和cli的形式出现,可以集成到CI/CD管道中。

多语言支持

  • DevSkim 微软开源的一组IDE插件、cli和其他工具,可以为许多编程语言提供安全性分析
  • Graudit 自定义或预配置正则表达式签名的潜在安全缺陷的Grep源代码
  • Hawkeye 模块化的CLI工具,用于项目安全性、脆弱性和一般风险突出
  • LGTM 使用自定义或内置CodeQL查询扫描和监控代码的安全漏洞
  • RIPS 对PHP, Java和Node.js项目进行自动化静态分析
  • SemGrep 一个快速的、开源的静态分析工具,可以在编辑器、提交和CI时发现bug并强制执行代码标准
  • SonarLint 一个IDE插件,突出潜在的安全问题、代码质量问题和bug
  • SonarQube 扫描代码以解决安全性和质量问题,支持多种语言

C/C++

  • FlawFinder 扫描C/C++代码,寻找潜在的安全弱点

C#

  • Puma Scan 一个Visual Studio插件,用于扫描. net项目的潜在安全缺陷

Java

  • Deep Dive JVM部署单元的静态分析,包括Ear, War, Jar和APK
  • Find Security Bugs 用于Java web应用程序安全审计的插件。支持Eclipse, IntelliJ, Android Studio和SonarQube
  • SpotBugs Java应用程序的静态代码分析

JavaScript

  • ESLint 具有多种安全检查规则的JavaScript检查工具

Go

.NET

PHP

  • Phan 对PHP应用程序进行广泛的静态分析,并支持一些安全扫描特性
  • PHPCS Security Audit PHP静态分析,包括PHP、Drupal 7和PHP相关cve的规则
  • Progpilot PHP源代码静态分析

Python

  • Bandit 查找Python代码中常见的安全漏洞

Ruby

  • Brakeman 用于检查Ruby on Rails应用程序安全漏洞的静态分析工具
  • DawnScanner Ruby脚本和web应用程序的安全扫描。支持Ruby on Rails, Sinatra和Padrino框架

商业软件对比

引用自 https://bloodzer0.github.io/ossa/application-security/code-audit/

代码审计商业软件对比

开源工具能力对比

SecurityTools-Assessment for SAST 由阿里巴巴、统信软件共同完成的开源 SAST 工具能力评估报告。

C/C++

工具总分
CodeQL69.88
CppCheck63.57
Infer59.76

Java

工具总分
CodeQL67.42
SpotBugs43.58
Semgrep41.68
Infer36.56
最后更新于