用途:orca-sec-scans 提供一条静态、只读的安全扫描流程,可用于本地或 CI/Jenkins。覆盖依赖 CVE(Go/Node/Python 锁文件)、错误配置(Dockerfile/compose/nginx)以及文件中泄露的密钥。除静态层外,还包含用真实请求验证开发者默认假设的动态扫描,以及面向供应链与品牌的对外扫描。
主要能力:自动检测并安装 Trivy;按锁文件识别语言并跳过构建目录;执行 vuln、misconfig、secret 扫描,优先 HIGH/CRITICAL;导出 security/trivy-report.json 与 trivy-report.html;按目标汇总 HIGH/CRITICAL 并给出修复建议;修复后重新扫描确认 remaining = NONE;通过 curl/dig/git diff 验证 8 项开发者假设;可选运行 supply-watch.py 生成域名变体并查询 DNS 与 CT 日志。
使用方式:先检查 trivy --version,缺失时按平台安装;随后执行 trivy fs <dir> --scanners vuln,misconfig,secret --severity HIGH,CRITICAL 并配合 skip-dirs;报告输出到 security/ 目录。动态验证示例:curl -k -o /dev/null -w "$p -> %{http_code}\n" https://HOST/etl/$p,期望 401。供应链扫描:python3 fdk/tools/supply-watch.py <名称>,退出码 0 表示干净、2 表示有发现。
适用场景:发布或合并部署分支前、CI 定期扫描、diff 涉及认证、用户输入、密钥、新端点、支付或敏感数据、公开域名时。
限制:Trivy 不修改代码,静态报告干净不等于安全;无法安装 Trivy 则阻塞;子模块有未提交变更时只建议修复不自动升级;修复无法通过 go build ./... 或 pnpm i 则不提交;无 HOST 时仅做静态扫描并明确动态层未运行;密钥被标记须立即轮换;crt.sh 不可用时跳过而不判定为干净。报告不得提交到部署服务器。