网络安全专业术语
SAST
Static Application Security Testing
静态应用安全测试 · 不跑代码就能找漏洞
应用安全安全工具
SAST
- 定义
- SAST(Static 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,开源和商业方案各有优势。