
关于
高级漏洞分析原则。OWASP 2025、供应链安全、攻击面映射、风险优先级排序。
name: vulnerability-scanner description: "高级漏洞分析原则。OWASP 2025、供应链安全、攻击面映射、风险优先级排序。" risk: unknown source: community date_added: "2026-02-27"
漏洞扫描器
像攻击者一样思考,像专家一样防御。2025 威胁态势感知。
运行时脚本
执行自动化验证:
| 脚本 | 用途 | 用法 |
|------|------|------|
| scripts/security_scan.py | 验证已应用的安全原则 | python scripts/security_scan.py <project_path> |
参考文件
| 文件 | 用途 | |------|------| | checklists.md | OWASP Top 10、认证、API、数据保护清单 |
1. 安全专家思维
核心原则
| 原则 | 应用 | |------|------| | 假设已被入侵 | 设计时假设攻击者已在内部 | | 零信任 | 永不信任,始终验证 | | 纵深防御 | 多层防护,无单点故障 | | 最小权限 | 仅授予最低必要访问权限 | | 安全失败 | 出错时拒绝访问 |
威胁建模问题
扫描前先问:
- 我们在保护什么?(资产)
- 谁会攻击?(威胁行为者)
- 他们如何攻击?(攻击向量)
- 影响是什么?(业务风险)
2. OWASP Top 10:2025
风险类别
| 排名 | 类别 | 思考要点 | |------|------|----------| | A01 | 访问控制失效 | 谁能访问什么?IDOR、SSRF | | A02 | 安全配置错误 | 默认值、头部、暴露的服务 | | A03 | 软件供应链 🆕 | 依赖、CI/CD、构建完整性 | | A04 | 加密失败 | 弱加密、暴露的密钥 | | A05 | 注入 | 用户输入 → 系统命令 | | A06 | 不安全设计 | 有缺陷的架构 | | A07 | 认证失败 | 会话、凭据管理 | | A08 | 完整性失败 | 未签名的更新、被篡改的数据 | | A09 | 日志与告警 | 盲区、无监控 | | A10 | 异常条件 🆕 | 错误处理、fail-open 状态 |
2025 关键变化
2021 → 2025 变化:
├── SSRF 合并到 A01(访问控制)
├── A02 提升(云/容器配置)
├── A03 新增:供应链(重点关注)
├── A10 新增:异常条件
└── 焦点转移:根因 > 症状
3. 供应链安全 (A03)
攻击面
| 向量 | 风险 | 要问的问题 | |------|------|------------| | 依赖 | 恶意包 | 我们审计新依赖吗? | | 锁文件 | 完整性攻击 | 是否已提交? | | 构建流水线 | CI/CD 入侵 | 谁能修改? | | 注册表 | 拼写劫持 | 来源已验证? |
防御原则
- 验证包完整性(校验和)
- 锁定版本,审计更新
- 对关键依赖使用私有注册表
- 签名并验证制品
4. 攻击面映射
映射内容
| 类别 | 元素 | |------|------| | 入口点 | API、表单、文件上传 | | 数据流 | 输入 → 处理 → 输出 | | 信任边界 | 认证/授权检查位置 | | 资产 | 密钥、PII、业务数据 |
优先级矩阵
风险 = 可能性 × 影响
高影响 + 高可能性 → 严重
高影响 + 低可能性 → 高
低影响 + 高可能性 → 中
低影响 + 低可能性 → 低
5. 风险优先级排序
CVSS + 上下文
| 因素 | 权重 | 问题 | |------|------|------| | CVSS 评分 | 基础严重性 | 漏洞有多严重? | | EPSS 评分 | 利用可能性 | 是否正在被利用? | | 资产价值 | 业务上下文 | 什么面临风险? | | 暴露程度 | 攻击面 | 面向互联网? |
优先级决策树
是否正在被积极利用(EPSS >0.5)?
├── 是 → 严重:立即行动
└── 否 → 检查 CVSS
├── CVSS ≥9.0 → 高
├── CVSS 7.0-8.9 → 考虑资产价值
└── CVSS <7.0 → 安排后续处理
6. 异常条件 (A10 - 新增)
Fail-Open vs Fail-Closed
| 场景 | Fail-Open(不好) | Fail-Closed(好) | |------|-------------------|-------------------| | 认证错误 | 允许访问 | 拒绝访问 | | 解析失败 | 接受输入 | 拒绝输入 | | 超时 | 无限重试 | 限制 + 中止 |
检查要点
- 捕获所有异常并忽略的异常处理器
- 安全操作缺少错误处理
- 认证/授权中的竞态条件
- 资源耗尽场景
7. 扫描方法论
基于阶段的方法
1. 侦察
└── 了解目标
├── 技术栈
├── 入口点
└── 数据流
2. 发现
└── 识别潜在问题
├── 配置审查
├── 依赖分析
└── 代码模式搜索
3. 分析
└── 验证和优先排序
├── 消除误报
├── 风险评分
└── 攻击链映射
4. 报告
