用途:审计项目依赖、框架、语言运行时和开发工具中的已知 CVE、安全反模式与供应链风险。强调不能仅凭 CVE 列表就认定问题,必须核实是否适用于已安装版本,且每个发现都要附修复版本或补救步骤。
主要能力与流程:
- 清点技术栈:读取各语言包清单(如 package.json、package-lock.json、requirements.txt、Gemfile.lock、go.mod、Cargo.lock、pom.xml、composer.lock、*.csproj 等),记录框架、语言运行时、基础设施工具、CI/CD 配置、pre-commit 钩子、容器基础镜像与 IaC 工具版本。
- 运行自动化审计工具,按栈选择命令:npm audit、pip audit、safety check、bundle audit、govulncheck ./...、cargo audit、composer audit、dotnet list package --vulnerable、docker scout cves <image>、trivy image <image>、trivy fs . 等。
- 检查框架特有问题,如 Next.js/React 的中间件认证绕过与 SSRF、Django 的 DEBUG 与反序列化、Rails 的批量赋值与 SQL 注入、Express 的原型污染与 ReDoS、Spring 的 SpEL 注入与 Actuator 暴露、Laravel 的 APP_DEBUG 与文件上传、WordPress 的插件与 XML-RPC 风险。
- 识别供应链风险:依赖混淆、域名仿冒、恶意包、维护风险与锁文件完整性。
- 审查开发工具与 CI/CD:GitHub Actions 触发与权限、Docker 以 root 运行、Terraform 硬编码密钥与状态加密等。
输出为结构化报告,含技术栈清单、CVE 表、框架问题、供应链风险、CI 安全和按优先级排列的行动计划。
限制:仅审计用户提供的代码与配置;核实 CVE 对已安装版本的适用性;每个发现给出修复版本或补救步骤;说明利用所需条件;拒绝针对未授权目标利用漏洞。参考资料包括 OWASP Dependency-Check、NVD、GitHub Advisory Database、Snyk、各审计工具文档与 SLSA 框架。