SuperAPI AI 工具集

sast-semgrep

编程与开发

查看项目

更新于 10-15 16:42

技能介绍

用途:该技能利用开源静态分析工具 Semgrep 对代码库执行 SAST,检测安全漏洞、支持安全代码审查,并提供映射到 OWASP Top 10 与 CWE 的修复指导。

主要能力:支持 30+ 语言(JavaScript、TypeScript、Python、Ruby、PHP、Java、C#、Go、Swift、Kotlin、C/C++、Rust、Scala、Solidity、Terraform、Dockerfile、YAML、JSON 等);按严重级别(CRITICAL/HIGH/MEDIUM/LOW/INFO)分类发现项;提供四类工作流:初始安全扫描、安全代码审查、自定义规则开发、CI/CD 集成;附带脚本、参考文档与资源模板,包括 OWASP/CWE 映射、修复指南、规则库、自定义规则模板与 CI 配置示例。

使用方式:基础扫描使用 semgrep --config=auto --severity=ERROR --severity=WARNING /path/to/code;OWASP Top 10 规则集使用 semgrep --config="p/owasp-top-ten" /path/to/code;仅扫描改动代码使用 semgrep --diff;安全检查可用 scripts/semgrep_scan.py --config security-audit --output results.json --format json --severity HIGH CRITICAL;PR 门禁可用 scripts/diff_scan.sh --fail-on high --base-branch main --output sarif;性能优化可用 --jobs、--exclude 与 --diff 增量扫描。自定义规则以 YAML 编写,可用 assets/rule_template.yaml 起步,并用 semgrep --config assets/custom_rules.yaml --test tests/vulnerable_samples/ 验证。

适用场景:代码库安全扫描、Pull Request 安全门禁、组织自定义规则开发、CI/CD(GitHub Actions、GitLab CI、Jenkins、pre-commit)集成、漏洞研究。

限制:Semgrep 在本地扫描代码,需注意扫描结果可能泄露密钥或专有代码模式;扫描需源码读取权限,结果访问应限制给授权人员;可能产生误报,可用 --exclude-rule、.semgrepignore、# nosemgrep 注释和严重级别过滤缓解;大型代码库扫描较慢,需用排除、并行与增量手段优化;该技能需与 DAST、SCA 和人工审查结合使用。资料未提供该技能的收费、价格与具体平台细节。