openeuler/cve-void:革命性CVE自动化修复工具,让内核漏洞修复效率提升10倍
openeuler/cve-void:革命性CVE自动化修复工具,让内核漏洞修复效率提升10倍
【免费下载链接】cve-voidThis tool is used to fix CVEs from list. Automated repetitive work allows developers to focus on whether CVE's patches need to be merged, greatly improving the efficiency of CVE remediation.项目地址: https://gitcode.com/openeuler/cve-void
前往项目官网免费下载:https://ar.openeuler.org/ar/
openeuler/cve-void是一款面向内核维护场景的CVE自动化合入工具,能够从openEuler、Ubuntu及上游社区抓取已修复补丁并自动合入到待修复内核分支,将繁琐的漏洞修复流程自动化,帮助开发者专注于补丁必要性判断,显著提升CVE修复效率。
🌟 为什么选择cve-void?核心优势解析
传统内核CVE修复面临流程繁琐、重复性高、依赖复杂三大痛点。cve-void通过六大核心功能构建自动化闭环:
🔍 全源补丁自动检索
工具根据CVE列表自动爬取openEuler、Ubuntu和NVD等多源修复方案,避免人工逐个查询的低效操作。例如在cve_list文件中定义CVE编号后,系统会自动定位对应补丁。
✍️ 提交信息智能规范化
通过config.json配置个人信息(如Signed-off-by、Reviewed-by),工具自动格式化commit信息,确保符合项目规范。配置示例:
{ "person_info": [ "Signed-off-by: Jing Yao <yaoj16@chinatelecom.cn>", "Reviewed-by: Chun Long <longc2@chinatelecom.cn>" ] }🔧 编译与兼容性双重验证
自动执行内核编译(make openeuler_defconfig)和KABI校验(build/check-kabi),支持单CVE验证模式(--compile_each_cve参数),提前发现兼容性问题。
🔄 失败补丁智能追踪
对无法合入的补丁,自动分析依赖链并提供上游commit链接,例如在scraper.py中实现的依赖解析逻辑,大幅降低人工排查成本。
📊 修复结果可视化统计
输出结构化处理报告,清晰展示CVE修复成功率、失败原因分类,通过logger.py模块实现详细过程记录。
🚀 批量处理能力
支持一次性处理多个CVE(通过cve_list批量输入),将原本需要数天的工作量压缩至小时级。
📦 快速上手:3步完成部署与使用
1️⃣ 环境准备
克隆项目并安装依赖:
git clone https://gitcode.com/openeuler/cve-void cd cve-void pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt2️⃣ 配置内核工作区
部署内核源码目录结构:
# 示例部署步骤 git clone <内核仓库地址> git worktree add ../project/feature-batch-cve <修复分支> git remote add euler https://gitee.com/openeuler/kernel.git git fetch euler3️⃣ 执行自动化修复
通过主程序cve_void.py启动修复流程:
python3 cve_void.py \ --cve_list cve_list \ --openeuler_dir project/OLK-5.10/ \ --linux_lts_dir project/linux-5.10.y/ \ --fix_cve_dir project/feature-batch-cve/ \ --compile_each_cve💡 高级技巧:提升修复成功率的实用策略
📝 优化CVE列表格式
确保cve_list文件中每个CVE单独一行,避免多余空格:
CVE-2022-3238 CVE-2022-49014 CVE-2024-26749🔧 启用调试模式排查问题
添加--debug参数获取详细日志,日志文件由logger.py模块生成,便于定位爬取或合入失败原因。
⚙️ 配置KABI校验命令
在config.json中自定义校验命令,适配不同内核版本:
{ "check_kabi": "python3 build/check-kabi -k build/Module.kabi_x86_64 -s Module.symvers" }🤝 开源协作:加入天翼云自主创新项目
cve-void作为天翼云自主创新项目,已在欧拉社区开源并遵循木兰宽松许可证, 第2版。项目采用LTS长期维护模式,欢迎通过以下方式参与贡献:
- 提交补丁至核心功能模块cve_void.py
- 优化补丁爬取逻辑scraper.py
- 完善文档与使用案例
通过cve-void的自动化能力,内核维护团队可将CVE修复效率提升10倍以上,让开发者从重复劳动中解放,专注于漏洞本质分析与系统安全加固。立即尝试这款革命性工具,重塑你的内核漏洞修复流程!
【免费下载链接】cve-voidThis tool is used to fix CVEs from list. Automated repetitive work allows developers to focus on whether CVE's patches need to be merged, greatly improving the efficiency of CVE remediation.项目地址: https://gitcode.com/openeuler/cve-void
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考