按SAST代码静态扫描、SCA依赖漏洞、密钥泄露、动态测试等分类介绍下常见工具:一、Python专属静态代码扫描(SAST,开发阶段必用)
1. Bandit(Python头号标配,开源免费)
OpenStack官方出品,只针对Python源码。检测:硬编码密码、eval/exec危险函数、命令注入、SQL拼接、不安全加密、文件路径漏洞。优势:轻量、一键CLI、可集成Git Hook、CI流水线。局限:仅Python、自定义规则偏弱、存在少量误报。2. Pysa(Meta Pyre内置)
做数据流污点分析,精准发现SQL注入、XSS、不安全反序列化,大型Python后端项目深度审计首选。3. Semgrep
多语言通用,Python支持极强,YAML自定义安全规则简单,可快速落地公司安全编码规范,误报远低于Bandit。4. SonarQube(社区免费)
代码质量+安全二合一,内置Python安全规则库,IDE插件、流水线深度集成,中小团队一站式代码审计平台。二、依赖包漏洞扫描(SCA,第三方库CVE风险)
1. pip-audit(Python官方工具,首选)
官方维护,扫描 requirements.txt 、pyproject.toml,比对Python官方漏洞库,无额外数据库依赖,轻量零部署。2. Safety(老牌常用)
依托PyUp漏洞库,一键检测高危依赖,可直接一键修复升级版本,本地开发最常用。3. Snyk
SCA依赖漏洞+容器扫描+简易SAST三合一,自动提交修复PR、IDE实时提醒,中小企业流水线标配。4. OWASP dep-scan
开源免费SCA,可导出SBOM清单,适配内网离线扫描。三、密钥/敏感信息泄露专项扫描
1. Gitleaks:扫描Git仓库历史,杜绝密钥、API秘钥、账号密码提交进代码库。
2. Dodgy:Python源码快速扫描硬编码密钥、遗留秘钥、注释内敏感信息。
四、动态测试&上线前黑盒检测(DAST)
1. OWASP ZAP:开源免费,测试Python Web接口(Django/Flask/FastAPI),自动爬取接口,检测SQL注入、XSS、CSRF、权限越权。
2. Burp Suite:渗透测试级接口安全扫描。
五、企业强合规选配(含Black Duck)
1. Black Duck(Synopsys)
重型商业SCA,核心能力:依赖漏洞深度扫描、开源许可证合规管控、全量SBOM生成、供应链审计。短板:价格昂贵、部署重、无法做Python源码漏洞扫描,仅跨国上市、金融强合规项目用来补许可证审计,日常开发用Snyk/Trivy替代。2. Fortify / Checkmarx
大型企业商用SAST平台,全代码深度审计,等保、SOX审计项目选用。3. Trivy
轻量容器+依赖扫描,搭配Bandit做流水线快速卡点,速度远快于Black Duck。六、总结
代码漏洞用 Bandit/Semgrep/SonatQube;依赖漏洞用 pip-audit/Snyk;防密钥泄露用 Gitleaks;强合规许可证审计上 Black Duck。