| name | cve-kin |
| description | Linux Kernel CVE 分析与补丁管理工具。基于 Dyad 数据文件,能够查询 CVE 详情、提取 Git 补丁、分析基线仓库覆盖率,并验证/应用修复到目标内核仓库。 |
| examples | [{"user":"查一下 CVE-2024-1234 的详细信息,包括它的修复提交哈希。","action":"cve-kin --info CVE-2024-1234"},{"user":"我想看 CVE-2023-9988 的具体代码修改内容,把补丁打印出来。","action":"cve-kin --patch CVE-2023-9988"},{"user":"评估一下基线仓库对已知漏洞的修复覆盖率是多少?","action":"cve-kin --status"},{"user":"列出数据目录下所有的 CVE 编号清单。","action":"cve-kin --list"},{"user":"验证目标仓库是否已经修复了CVE-2026-31788","action":"cve-kin --cve CVE-2026-31788"},{"user":"把所有能修复的补丁都应用到目标仓库中。","action":"cve-kin --all"}] |
cve-kin工具
这是一个用于分析 Linux 内核漏洞(CVE)修复对(Dyad)并处理补丁的专用工具。它能够通过读取配置文件和 Dyad 数据文件,检查漏洞状态、提取补丁内容、分析基线仓库覆盖率以及验证特定 CVE 的可修复性。
概述
该工具主要用于内核安全研究,核心逻辑基于 main.py。它通过对比“目标仓库”(Target Repo)和“基线仓库”(Baseline Repo)来判断特定的漏洞修复补丁是否可以成功应用。工具依赖于 cve-kin.cfg 配置文件来定位数据目录和 Git 仓库。
工具能力 (Capabilities)
该工具通过命令行参数 (CLI) 驱动,主要具备以下五种核心能力:
1. CVE 信息查询 (Information Query)
- 功能: 根据给定的 CVE ID,在指定目录中搜索相关的
.dyad 文件、JSON 描述文件或 MBOX 邮件补丁。
- 适用场景: 当你需要了解某个特定漏洞(如
CVE-2024-1234)的详细信息、修复逻辑或原始补丁内容时使用。
- 对应参数:
--info <CVE_ID>
2. 补丁提取与显示 (Patch Extraction)
- 功能: 连接到“基线仓库”(Baseline Repo),根据
.dyad 文件中记录的修复 Commit Hash,提取具体的代码补丁(Patch)内容并直接显示。
- 目标仓库: 目标仓库在cve-kin.cfg中定义的target_repo的值,该值已经配置好,直接使用
- 基线仓库: 基线仓库仓库在cve-kin.cfg中定义的baseline_repo的值,该值已经配置好,直接使用
- 适用场景: 当你需要查看某个漏洞的具体代码修改差异(Diff),但不想立即应用到代码库时使用。
- 对应参数:
--patch <CVE_ID>
3. 状态分析与统计 (Status Analysis)
- 功能: 扫描所有
.dyad 文件,按年份统计 CVE 数量,并检查这些 CVE 的修复补丁是否存在于“基线仓库”中,计算补丁覆盖率。
- 适用场景: 当你需要评估基线仓库(如上游 Linux 内核)的维护状态,或者统计某一年份的安全漏洞修复情况时使用。
- 对应参数:
--status
4. CVE 列表枚举 (List Enumeration)
- 功能: 遍历指定目录,列出所有在
.dyad 文件中发现的 CVE ID、对应的修复版本和 Commit Hash。
- 适用场景: 当你需要获取当前数据目录下所有待处理漏洞的完整清单时使用。
- 对应参数:
--list
5. 漏洞修复检查 (Fix Verification)
- 功能:
- 单个检查: 检查特定 CVE 是否可以被应用到“目标仓库”(Target Repo)。
- 批量处理: 自动处理目录下所有的
.dyad 文件,尝试将基线仓库的补丁应用到目标仓库,并生成处理摘要(SUMMARY.md)。
- 目标仓库: 目标仓库在cve-kin.cfg中定义的target_repo的值,该值已经配置好,直接使用
- 基线仓库: 基线仓库仓库在cve-kin.cfg中定义的baseline_repo的值,该值已经配置好,直接使用
- 适用场景: 当你需要验证代码库是否成功修复了某个漏洞,或者需要自动化地将上游补丁合入下游分支时使用。
- 对应参数:
--cve <CVE_ID> (单个) 或 --all (全部)
环境依赖与配置
为了让该工具正常运行,AI Agent 需确保以下环境配置已就绪:
| 依赖项 | 说明 | 必需性 |
|---|
| Python 3 | 脚本运行环境 | 必需 |
| Git | 脚本内部调用 Git 命令进行仓库操作 | 必需 |
| 配置文件 | 必须存在 cve-kin.cfg,定义了数据目录、目标仓库路径target_repo、基线仓库路径baseline_repo及分支信息。 | 必需 |
| 内核仓库 | 需要有两个本地 Git 仓库:一个是待修复的 target,一个是作为补丁来源的 baseline。 | 必需 |
使用建议
- 参数优先级: 如果没有指定特定参数,工具将默认打印帮助信息。
- 日志记录: 工具会在输出目录生成
cve-kin.log,记录详细的调试信息,若补丁应用失败,建议查看日志排查路径或冲突问题。
- 工作流建议:
- 首选使用
--list 或 --status 了解整体情况。
- 使用
--info 或 --patch 查看具体漏洞细节。
- 最后使用
--cve 或 --all 执行修复操作。