用途:自动化检测代码与依赖中的安全漏洞,覆盖依赖扫描、静态分析(SAST)、密钥检测和容器扫描,并将检查前移到提交与 CI 阶段。
主要能力与命令:JavaScript 依赖用 npm audit,例如 npm audit --json > security-audit.json,可用 jq 读取 .metadata.vulnerabilities.critical 等严重级别计数,并用 npm audit fix 自动修复。Python 依赖用 pip-audit --format=json 或 safety check --json。静态分析用 Semgrep(semgrep --config=auto --json)与 Bandit(bandit -r . -f json -o bandit-report.json)。密钥检测用 TruffleHog(trufflehog git file://. --json)或 Gitleaks(gitleaks detect --source . --report-format json)。容器扫描用 Trivy image。
使用方式:通过 pre-commit 钩子实现 shift-left,配置 .pre-commit-config.yaml 引入 gitleaks、bandit、semgrep、detect-secrets,然后 pip install pre-commit、pre-commit install,首次全量运行 pre-commit run --all-files,用 pre-commit autoupdate 更新版本。detect-secrets 可用 detect-secrets scan > .secrets.baseline 生成基线并审计误报。CI 中(如 GitHub Actions)运行扫描并在发现严重问题时以非零状态退出。
适用场景与限制:适合 JS/Python 项目、API 安全审查、提交前与 CI 安全检查。存在升级阈值建议(Critical 任意即阻断、High>5 阻断、Moderate>20 告警、Low>50 告警)及证据记录结构,但具体阈值、工具版本与报告结构需按项目实际调整;资料未提供收费方式、价格、平台限制及端到端实测效果。