cve-analyze
自动分析 CVE issue 的影响性,填写受影响版本、ABI 变化、原因说明等字段,并在 issue 中评论分析结果。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
自动分析 CVE issue 的影响性,填写受影响版本、ABI 变化、原因说明等字段,并在 issue 中评论分析结果。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | cve-analyze |
| description | 自动分析 CVE issue 的影响性,填写受影响版本、ABI 变化、原因说明等字段,并在 issue 中评论分析结果。 |
独立调用:/cve-analyze <issue_url>
集成调用:由 /cve-fix 编排流程在 /cve-match 之后自动调用。
issue_url:GitCode 上的 CVE issue 链接patch_urls:(可选,由 cve-search 提供)上游补丁链接列表,用于分析 ABI 变化fix_strategy:(可选,由 cve-search 提供)upgrade 或 backportpython3 ~/.claude/skills/cve-fix/get_gitcode_issue.py get_issue_body "<issue_url>"
返回 JSON {"body": "...", "title": "..."}。
从 body 中提取以下信息:
一、漏洞信息部分:
3.4.14,3.4.7),这是判断是否受影响的核心依据二、漏洞分析结构反馈部分:
master(3.4.14), openEuler-24.03-LTS(3.4.14))对每个分支执行以下判断逻辑:
漏洞归属版本列表 = 解析"漏洞归属的版本"字段(逗号分隔)
对于每个分支:
分支版本 = 括号内的版本号
如果 分支版本 在 漏洞归属版本列表中:
→ 该分支【受影响】
否则:
→ 该分支【不受影响】
结合以下信息生成影响性分析说明:
生成内容包括:
N/A必须基于实际补丁/变更内容分析,不能仅凭修复策略类型(backport/升级)猜测。
include/ 目录下的 .h 文件中的结构体定义(增删字段、调整字段顺序/类型)、枚举值变更、宏定义变更.so 版本号发生变化(如 libfoo.so.1 → libfoo.so.2)若 patch_urls 已提供(来自 cve-search),fetch 补丁 diff 进行分析:
.patch 后缀获取原始 diff.patch 后缀获取原始 diff
若为独立调用(无 patch_urls),从 issue body 的"漏洞补丁信息"中提取补丁链接.c 源文件的内部逻辑(如条件判断、边界检查)→ 否.h 头文件的结构体/接口定义变更 → 是是ABI break、soname bump、API removal、API change、incompatible是否若信息不足无法确定,填
否,并在影响性分析说明中注明"ABI 变化待人工确认"。
参考 ~/.claude/skills/cve-analyze/references/cve-analyze.md 中的对照表:
受影响分支:
受影响是 或 否)正常修复不受影响分支:
不受影响否不受影响-漏洞代码不存在注意:版本是否受影响和原因说明必须严格对应,参见 references/cve-analyze.md。
将分析结果组装为以下格式的评论内容,仅包含"二、漏洞分析结构反馈"中需要填写的部分(从"影响性分析说明"开始):
影响性分析说明:
<AI 生成的影响性分析说明>
openEuler评分:
BaseScore:<评分或 N/A>
受影响版本排查(受影响/不受影响):
1.master(<版本>):<受影响/不受影响>
2.openEuler-xxx(<版本>):<受影响/不受影响>
...
修复是否涉及abi变化(是/否):
1.master(<版本>):<是/否>
2.openEuler-xxx(<版本>):<是/否>
...
原因说明:
1.master(<版本>):<原因说明>
2.openEuler-xxx(<版本>):<原因说明>
...
通过以下命令发出评论:
python3 ~/.claude/skills/cve-fix/get_gitcode_issue.py comment_issue "<issue_url>" "<评论内容>"
~/.claude/skills/cve-analyze/references/cve-analyze.md — 原因说明填写规范~/.claude/skills/cve-analyze/references/cve-issue-influence.md — Issue 影响性分析模板示例输入: /cve-analyze https://gitcode.com/src-openeuler/etcd/issues/1
Issue Body 解析结果:
3.4.14,3.4.7master(3.4.14), openEuler-20.03-LTS-SP4(3.4.14), ...版本匹配:
3.4.14 在归属版本列表 [3.4.14, 3.4.7] 中 → 所有分支均受影响生成评论:
影响性分析说明:
该漏洞为 Keycloak 的反射型 XSS 漏洞(CVE-2021-20323),与 etcd 组件无直接关联。但由于 etcd 版本 3.4.14 在漏洞归属版本范围内,各分支标记为受影响。
openEuler评分:
BaseScore:N/A
受影响版本排查(受影响/不受影响):
1.master(3.4.14):受影响
2.openEuler-20.03-LTS-SP4(3.4.14):受影响
3.openEuler-22.03-LTS-SP4(3.4.14):受影响
4.openEuler-24.03-LTS(3.4.14):受影响
5.openEuler-24.03-LTS-Next(3.4.14):受影响
6.openEuler-24.03-LTS-SP1(3.4.14):受影响
7.openEuler-24.03-LTS-SP2(3.4.14):受影响
8.openEuler-24.03-LTS-SP3(3.4.14):受影响
修复是否涉及abi变化(是/否):
1.master(3.4.14):否
2.openEuler-20.03-LTS-SP4(3.4.14):否
3.openEuler-22.03-LTS-SP4(3.4.14):否
4.openEuler-24.03-LTS(3.4.14):否
5.openEuler-24.03-LTS-Next(3.4.14):否
6.openEuler-24.03-LTS-SP1(3.4.14):否
7.openEuler-24.03-LTS-SP2(3.4.14):否
8.openEuler-24.03-LTS-SP3(3.4.14):否
原因说明:
1.master(3.4.14):正常修复
2.openEuler-20.03-LTS-SP4(3.4.14):正常修复
3.openEuler-22.03-LTS-SP4(3.4.14):正常修复
4.openEuler-24.03-LTS(3.4.14):正常修复
5.openEuler-24.03-LTS-Next(3.4.14):正常修复
6.openEuler-24.03-LTS-SP1(3.4.14):正常修复
7.openEuler-24.03-LTS-SP2(3.4.14):正常修复
8.openEuler-24.03-LTS-SP3(3.4.14):正常修复
冲突解决者。负责L2级别冲突的解决、版本差异适配、重试机制。不进行自我检视,必须由Reviewer审查后才能应用补丁。当Dispatcher检测到L2冲突时启动此Agent。
多Agent补丁移植协调者。负责整体流程控制、用户交互解析、状态管理、Agent调度和结果汇总。使用Subagents架构,通过Agent工具调度独立的subagents。当用户需要进行补丁移植任务时使用此skill作为入口。
补丁调度者。负责补丁预处理、L1/L2分类判定、L1级别直接应用。L2冲突返回给Orchestrator由其调度Conflict Resolver处理。当需要处理补丁时使用此Subagent。
自动从PR列表提取Git补丁并按合入时间排序。必须使用此skill当用户需要: - 从PR列表提取补丁文件 - 按合入顺序整理patches - 批量生成.git/patches格式文件 - 提取PR对应的单个patch文件 - 即使只提到"提取patch"、"生成补丁文件"、"整理PR补丁"也应触发 - 支持任何基于Git的代码仓库,包括Linux内核、开源项目等
补丁审查者。负责审查补丁适配质量,验证是否忠实代表原始更改。独立于Conflict Resolver,作为裁判员角色。当冲突解决完成后必须使用此Subagent进行审查。
审查适配的补丁以验证它们是否忠实地代表了原始更改。 当比较PR或上游提交与本地适配版本时,当验证补丁适配用于反向移植时, 或当审查任何补丁被修改以适应不同代码库版本的情况时,使用此技能。 当用户提到"适配补丁"、"补丁审查"、"比较提交"、"验证反向移植"、 "检查补丁等价性"、"验证backport"、"对比commit差异"、"审查适配质量", 或要求审查PR和本地提交之间的更改时触发此技能。 此技能也可在 patch-porting 阶段2循环中自动调用,对冲突解决后的补丁进行深度审查。