LELexEdge词汇锋面
网络安全专业术语

SAST

Static Application Security Testing

静态应用安全测试 · 不跑代码就能找漏洞

应用安全安全工具
SAST
定义
SASTStatic Application Security Testing网络安全领域的专业术语SAST 通过分析源代码或字节码来发现安全漏洞,无需运行应用。

最后更新:2026-03-18

什么是SAST?

SAST 通过分析源代码或字节码来发现安全漏洞,无需运行应用。它能在开发早期发现 SQL 注入、XSS 等常见漏洞,是 DevSecOps 流水线的第一道防线。

  • 分析源代码发现安全漏洞
  • 无需运行应用,开发阶段即可检测
  • CI/CD 流水线的第一道安全防线

SAST详解

SAST 工具通过数据流分析和模式匹配扫描源代码中的安全问题。优势是覆盖率高、发现早;劣势是误报率高、无法检测运行时问题。常见 SAST 工具:Semgrep、SonarQube、CodeQL、Checkmarx。SAST 通常与 DAST(动态测试)配合使用,形成完整的应用安全测试体系。

SAST的应用场景

正式定义

通过分析源代码在不运行应用的情况下发现安全漏洞的测试方法

应用场景

  • CI/CD 中的自动化代码安全扫描
  • OWASP Top 10 漏洞的早期检测
  • 合规要求的安全测试

常见误区

  • SAST 误报率高,需要人工确认
  • SAST 不能发现运行时和配置问题,需要配合 DAST
  • 开源 SAST 工具(Semgrep)已经足够好用

实际案例

📌 Semgrep 的普及

Semgrep 是最流行的开源 SAST 工具,支持 30+ 种语言,社区贡献了数千条安全规则,被 Dropbox、Slack 等公司采用。

SAST的参考来源

关于SAST的常见问题

SAST 和 DAST 有什么区别
SAST 分析源代码(白盒),能在编码阶段发现问题;DAST 测试运行中的应用(黑盒),能发现运行时漏洞。
SAST 有哪些常用工具
SonarQube、Semgrep、CodeQL、Checkmarx、Fortify,开源和商业方案各有优势。