$npx -y skills add xwtro0tk1t-cloud/harness --skill sca-ai-denoiseSCA 漏洞 AI 降噪与风险优先级评估。对 Grype/Snyk/Xray 等 SCA 工具的漏洞发现进行多维度风险评估,按 P0-P3 分级,过滤噪音(DoS、本地提权、低影响信息泄露),聚焦真正可利用的高风险漏洞。当用户需要对 SCA 扫描结果降噪、漏洞优先级排序、或供应链风险评估时使用。
| 1 | # SCA AI Denoise — 漏洞风险优先级评估 |
| 2 | |
| 3 | 对 SCA (Software Composition Analysis) 扫描结果进行 AI 驱动的风险评估与降噪。 |
| 4 | |
| 5 | **核心目标**:减少告警疲劳,让安全团队聚焦真正重要的漏洞。 |
| 6 | |
| 7 | ## 输入格式 |
| 8 | |
| 9 | 你会收到一组 SCA 漏洞发现(JSON 数组),每个条目包含: |
| 10 | - `index`: 漏洞索引 |
| 11 | - `cve_id`: CVE 编号 |
| 12 | - `package`: 包名@版本 |
| 13 | - `severity`: CRITICAL/HIGH/MEDIUM/LOW |
| 14 | - `title`: 漏洞标题 |
| 15 | - `description`: 漏洞描述(可能截断) |
| 16 | |
| 17 | 可能附带项目上下文:项目名称、语言、框架等。 |
| 18 | |
| 19 | ## 优先级框架(严格标准) |
| 20 | |
| 21 | ### P0 — 立即处理(必须同时满足多个高风险条件) |
| 22 | |
| 23 | | 条件组合 | 示例 | |
| 24 | |---------|------| |
| 25 | | RCE + 无需认证 + 远程攻击向量 | jackson-databind 反序列化 RCE | |
| 26 | | SQL 注入 + 无需认证 + 远程 | 数据库驱动 SQL 注入 | |
| 27 | | 认证绕过 + 严重影响 + 远程 | JWT 签名绕过 | |
| 28 | | 反序列化 + 公开 PoC/Exploit + 远程 | Log4Shell (CVE-2021-44228) | |
| 29 | | CVSS ≥ 9.5 + 公开 Exploit + 远程 + 无需认证 | | |
| 30 | |
| 31 | **P0 必须严格**:仅当漏洞满足**多个**高风险条件时才标记为 P0。 |
| 32 | |
| 33 | ### P1 — 本周修复(高严重性 + 可利用性) |
| 34 | |
| 35 | | 条件组合 | |
| 36 | |---------| |
| 37 | | RCE + 远程 + 需要认证 | |
| 38 | | Critical 严重性 + 远程 + 公开 Exploit | |
| 39 | | Critical 严重性 + 远程 + 低攻击复杂度 | |
| 40 | | SQL 注入 / XXE / SSRF + 远程(即使需要认证) | |
| 41 | | High 严重性 + 远程 + 公开 PoC | |
| 42 | | CVSS ≥ 8.0 + 远程攻击向量 | |
| 43 | |
| 44 | ### P2 — 本月修复(有限攻击面或复杂度) |
| 45 | |
| 46 | | 条件组合 | |
| 47 | |---------| |
| 48 | | Critical/High 严重性 + 仅本地攻击 | |
| 49 | | Critical/High 严重性 + 高攻击复杂度 | |
| 50 | | Medium 严重性 + 远程攻击向量 | |
| 51 | | XSS(通常需要用户交互) | |
| 52 | | High 严重性但无明确远程利用路径 | |
| 53 | |
| 54 | ### P3 — 噪音(可延迟或忽略) |
| 55 | |
| 56 | | 条件组合 | |
| 57 | |---------| |
| 58 | | DoS/DDoS(除非关键互联网服务) | |
| 59 | | 本地提权(无远程攻击面) | |
| 60 | | Low 严重性漏洞 | |
| 61 | | Medium 严重性 + 仅本地攻击 | |
| 62 | | 需要复杂攻击链或用户交互 | |
| 63 | | 信息泄露且业务影响极小 | |
| 64 | | 仅开发/测试依赖中的漏洞(不在生产环境) | |
| 65 | |
| 66 | ## 评估维度 |
| 67 | |
| 68 | 对每个漏洞评估以下 5 个维度: |
| 69 | |
| 70 | ### 1. 可利用性评估 |
| 71 | - 是否有公开 PoC/Exploit?(检查描述中的 "exploit", "poc", "proof of concept") |
| 72 | - 攻击复杂度?(LOW = 容易,HIGH = 困难) |
| 73 | - 利用前提条件?(用户交互、特定配置) |
| 74 | - 是否已有野外利用? |
| 75 | |
| 76 | ### 2. 攻击向量分析 |
| 77 | - 攻击向量:NETWORK(远程)vs LOCAL vs ADJACENT |
| 78 | - 是否需要认证?(NONE = 无需认证) |
| 79 | - 是否暴露在互联网?(直接暴露 vs 内部服务) |
| 80 | |
| 81 | ### 3. 影响分类(优先级排序) |
| 82 | ``` |
| 83 | RCE > SQL 注入 > 认证绕过 > 反序列化 > SSRF > XSS > DoS > 信息泄露 |
| 84 | ``` |
| 85 | |
| 86 | ### 4. 业务影响 |
| 87 | - 关键路径依赖 vs 可选组件? |
| 88 | - 直接依赖 vs 深层传递依赖? |
| 89 | - 是否有可用修复版本?升级是否有破坏性变更? |
| 90 | |
| 91 | ### 5. 供应链风险 |
| 92 | - 包维护状态(活跃维护 vs 已弃用) |
| 93 | - 已知恶意活动或 typosquatting |
| 94 | - 许可证合规问题 |
| 95 | |
| 96 | ## 噪音过滤规则 |
| 97 | |
| 98 | 以下情况默认标记为 P3: |
| 99 | - DoS 漏洞(除非关键互联网服务) |
| 100 | - 本地提权且无远程攻击面 |
| 101 | - 高 CVSS 但需要特定边缘配置 |
| 102 | - 认证后管理面板的 XSS |
| 103 | - 业务影响极小的信息泄露 |
| 104 | - 开发/测试依赖中的漏洞 |
| 105 | |
| 106 | ## 输出格式 |
| 107 | |
| 108 | 根据调用方式,输出两种格式之一: |
| 109 | |
| 110 | ### 简洁模式(默认,用于自动化管线) |
| 111 | |
| 112 | 输出 JSON 数组,每个元素: |
| 113 | ```json |
| 114 | [ |
| 115 | { |
| 116 | "index": 0, |
| 117 | "priority": "P0", |
| 118 | "reason": "RCE via deserialization + unauthenticated + remote + public exploit available" |
| 119 | } |
| 120 | ] |
| 121 | ``` |
| 122 | |
| 123 | **仅输出 JSON 数组,不要有其他文字。** |
| 124 | |
| 125 | ### 完整模式(用于人工审查) |
| 126 | |
| 127 | 输出完整评估报告: |
| 128 | ```json |
| 129 | { |
| 130 | "risk_score": 7.5, |
| 131 | "risk_level": "high", |
| 132 | "summary": "2 句话执行摘要,突出最高风险", |
| 133 | "prioritized_vulnerabilities": { |
| 134 | "P0": [{"cve": "CVE-XXX", "package": "pkg@ver", "cvss_score": 9.8, "vulnerability_type": "RCE", "justification": "满足 P0 条件:...", "recommendation": "升级到 X.Y.Z"}], |
| 135 | "P1": [], |
| 136 | "P2": [], |
| 137 | "P3": [] |
| 138 | }, |
| 139 | "vulnerability_statistics": {"total": 50, "P0_count": 2, "P1_count": 5, "P2_count": 20, "P3_count": 23}, |
| 140 | "recommendations": ["前 3 条可执行建议"], |
| 141 | "supply_chain_assessment": {"overall_health": "concerning|acceptable|good", "risk_factors": ["factor1"]} |
| 142 | } |
| 143 | ``` |
| 144 | |
| 145 | ## 关键原则 |
| 146 | |
| 147 | 1. **P0 必须严格** — 仅当满足多个高风险条件时才分配 P0 |
| 148 | 2. **积极过滤噪音** — DoS、本地提权、信息泄露默认 P3 |
| 149 | 3. **关注真实可利用风险** — 不只看 CVSS 分数,考虑实际攻击场景 |
| 150 | 4. **提供具体理由** — 解释每个漏洞为什么获得该优先级 |
| 151 | 5. **可执行建议** — 给出具体升级命令和修复步骤 |
| 152 | 6. **优先关注无需认证 + 远程 + RCE** — 这是最高风险组合 |