Vulnerability Scanning 是一个面向自动化安全漏洞检测的技能,目标是在代码、依赖项和容器中自动发现安全漏洞,并可用于 CI/CD 安全门禁、部署前审计与合规检查。
主要能力
- 依赖扫描:资料给出了多种命令示例,包括 npm audit(npm audit --audit-level=high)、Snyk(snyk test --severity-threshold=high)以及面向 Python 的 Safety(safety check --full-report)。
- 容器扫描(Trivy):支持扫描容器镜像(trivy image myapp:latest --severity HIGH,CRITICAL)和文件系统(trivy fs --scanners vuln,secret .)。
- 代码分析:资料给出 Python 的 Bandit 用法(bandit -r src/ -ll -ii)。
- 工具清单:列出 Trivy(容器、文件系统)、Snyk(依赖、代码)、npm audit / yarn audit、Bandit(Python)、OWASP Dependency-Check。
使用方式
- 命令行:按资料提供的各工具命令直接执行扫描,并可通过严重级别阈值筛选结果。
- CI/CD 集成:资料提供了 GitHub Actions 配置示例,在 push 和 pull_request 触发,依次运行 Trivy 扫描(使用 aquasecurity/trivy-action@0.28.0,scan-type 为 fs,severity 为 CRITICAL,HIGH,exit-code 为 1)、Snyk(使用 snyk/actions/node@v3,通过 SNYK_TOKEN 环境变量传入密钥,args 为 --severity-threshold=high)以及 npm audit。
- 脚本化调用:资料包含 Node.js 示例,通过 execSync 执行 npm audit --json 与 trivy fs --quiet --format json .,并在结果中检查 npm.metadata.vulnerabilities.critical 数量,若存在严重漏洞则输出错误并以非零状态退出。
适用场景
- 在 CI/CD 流水线中设置安全门禁。
- 部署前进行安全审计。
- 合规相关检查。
- 对依赖、容器镜像和代码进行持续漏洞跟踪。
最佳实践(来自资料)
- 将扫描集成到 CI/CD 流水线中。
- 对高危及严重级别发现使构建失败。
- 同时扫描依赖项与容器。
- 随时间跟踪漏洞。
- 记录已接受的误报。
限制与未提供信息
- 资料未说明各工具自身的收费、定价或授权方式。
- 未提供除示例外的完整安装步骤、配置参数说明或平台支持范围。
- 未给出扫描性能、误报率、漏洞覆盖率等效果指标。
- 未提供官方文档链接、版本兼容性细节及所需权限要求。