Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1086

SAST(静态应用安全测试)

审核人Cybersecurity entrepreneur & security researcher

SAST(静态应用安全测试) 是什么?

SAST(静态应用安全测试)在不执行代码的前提下,对源代码、字节码或二进制进行自动化分析,以发现注入、不安全 API 或弱加密等安全缺陷。


SAST 工具将代码解析为中间表示(AST、控制流图、数据流图等),并通过规则或污点分析检测与 CWE 对应的不安全模式。由于不执行代码,SAST 可以自然地集成到 IDE、pre-commit 钩子和 CI/CD 流水线中,甚至能够分析尚未发布的代码。SAST 擅长发现确定性缺陷(SQL 注入、XSS 汇点、硬编码密钥、弱加密),但容易产生误报且难以发现仅在运行时显现的问题,因此通常与 SCA 和 DAST 搭配使用。常见工具包括 Semgrep、GitHub CodeQL、SonarQube、Checkmarx 与 Fortify。

示例

  1. 01

    在每个 Pull Request 上使用 Semgrep 配合 OWASP Top 10 规则集进行扫描。

  2. 02

    使用 GitHub CodeQL 在合并前检测某 Java 服务中的路径遍历漏洞。

常见问题

SAST(静态应用安全测试) 是什么?

在不执行代码的前提下,对源代码、字节码或二进制进行自动化分析,以发现注入、不安全 API 或弱加密等安全缺陷。 它属于网络安全的 应用安全 分类。

SAST(静态应用安全测试) 是什么意思?

在不执行代码的前提下,对源代码、字节码或二进制进行自动化分析,以发现注入、不安全 API 或弱加密等安全缺陷。

如何防御 SAST(静态应用安全测试)?

针对 SAST(静态应用安全测试) 的防御通常结合技术控制与运营实践,详见上方完整定义。

SAST(静态应用安全测试) 还有哪些其他名称?

常见的别称包括: 静态分析, 白盒测试。

相关术语

另见