53 lines
1.5 KiB
Markdown
53 lines
1.5 KiB
Markdown
# SAST (Static Application Security Testing)
|
||
|
||
## Definition
|
||
SAST tools analyze an application's source code to identify security vulnerabilities without executing the code. They excel at spotting common issues such as SQL injection, cross-site scripting, and buffer overflows.
|
||
|
||
## Aliases
|
||
- Static Application Security Testing
|
||
- White-box testing
|
||
- Static analysis
|
||
|
||
## Characteristics
|
||
- **无需运行代码**:在静态状态下分析源代码
|
||
- **白盒测试**:能看到代码内部结构
|
||
- **开发阶段适用**:在编码和代码审查时使用
|
||
- **速度快**:可以快速扫描大量代码
|
||
|
||
## Common Vulnerabilities Detected
|
||
- SQL 注入(SQL Injection)
|
||
- 跨站脚本(XSS, Cross-Site Scripting)
|
||
- 缓冲区溢出(Buffer Overflow)
|
||
- 硬编码凭证(Hardcoded Credentials)
|
||
- 不安全的加密使用
|
||
- 路径遍历(Path Traversal)
|
||
|
||
## Tools
|
||
- [[SonarQube]] — 代码质量和安全分析
|
||
- Checkmarx
|
||
- Veracode
|
||
- Fortify
|
||
- Semgrep
|
||
|
||
## Integration
|
||
SAST 工具通常集成到:
|
||
- IDE 开发环境
|
||
- CI/CD 构建管道
|
||
- 代码审查流程
|
||
|
||
## Limitations
|
||
- 可能产生误报(False Positives)
|
||
- 无法检测运行时问题
|
||
- 需要源代码访问权限
|
||
- 不检测配置问题
|
||
|
||
## Related Concepts
|
||
- [[DevSecOps]] — SAST 是其重要组件
|
||
- [[DAST]] — 动态应用安全测试(黑盒测试)
|
||
- [[IAST]] — 交互式应用安全测试
|
||
- [[SCA]] — 软件组成分析
|
||
- [[Shift-Left-Security]] — SAST 是左移策略的重要工具
|
||
|
||
## Sources
|
||
- [[what-is-devsecops-best-practices-benefits-and-tools]]
|