Entry № 1086
SAST(静态应用安全测试)
SAST(静态应用安全测试) 是什么?
SAST(静态应用安全测试)在不执行代码的前提下,对源代码、字节码或二进制进行自动化分析,以发现注入、不安全 API 或弱加密等安全缺陷。
SAST 工具将代码解析为中间表示(AST、控制流图、数据流图等),并通过规则或污点分析检测与 CWE 对应的不安全模式。由于不执行代码,SAST 可以自然地集成到 IDE、pre-commit 钩子和 CI/CD 流水线中,甚至能够分析尚未发布的代码。SAST 擅长发现确定性缺陷(SQL 注入、XSS 汇点、硬编码密钥、弱加密),但容易产生误报且难以发现仅在运行时显现的问题,因此通常与 SCA 和 DAST 搭配使用。常见工具包括 Semgrep、GitHub CodeQL、SonarQube、Checkmarx 与 Fortify。
● 示例
- 01
在每个 Pull Request 上使用 Semgrep 配合 OWASP Top 10 规则集进行扫描。
- 02
使用 GitHub CodeQL 在合并前检测某 Java 服务中的路径遍历漏洞。
● 常见问题
SAST(静态应用安全测试) 是什么?
在不执行代码的前提下,对源代码、字节码或二进制进行自动化分析,以发现注入、不安全 API 或弱加密等安全缺陷。 它属于网络安全的 应用安全 分类。
SAST(静态应用安全测试) 是什么意思?
在不执行代码的前提下,对源代码、字节码或二进制进行自动化分析,以发现注入、不安全 API 或弱加密等安全缺陷。
如何防御 SAST(静态应用安全测试)?
针对 SAST(静态应用安全测试) 的防御通常结合技术控制与运营实践,详见上方完整定义。
SAST(静态应用安全测试) 还有哪些其他名称?
常见的别称包括: 静态分析, 白盒测试。