news 2026/7/2 21:08:48

openeuler/cve-void部署教程:从环境搭建到代码编译的终极指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
openeuler/cve-void部署教程:从环境搭建到代码编译的终极指南

openeuler/cve-void部署教程:从环境搭建到代码编译的终极指南

【免费下载链接】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-void将CVE修复流程全面自动化,核心优势包括:

  • 全流程自动化:补丁检索、cherry-pick合入、提交信息规范化、编译验证和kabi校验一体化
  • 智能错误处理:对失败补丁提供来源链接、提交信息和依赖分析
  • 结构化数据输出:每个CVE处理结果清晰可追踪
  • 批量处理能力:大幅降低维护人员漏洞修复成本

二、环境准备与依赖安装

2.1 系统要求

  • 操作系统:Linux(推荐openEuler系统)
  • Python版本:3.6及以上
  • 内核源码:需提前准备待修复的内核代码仓库

2.2 安装Python依赖

项目依赖文件requirements.txt包含以下核心组件:

  • requests:网络请求处理
  • selenium:动态网页爬取
  • beautifulsoup4:HTML解析
  • fake-useragent:模拟浏览器请求头

执行以下命令安装依赖:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

三、详细部署步骤

3.1 获取项目代码

git clone https://gitcode.com/openeuler/cve-void cd cve-void

3.2 配置内核仓库

# 克隆内核仓库(请替换为实际仓库地址) git clone <your-kernel-repo-url> cd <your-kernel-repo-dir> # 添加openEuler远程仓库 git remote add euler https://gitee.com/openeuler/kernel.git git fetch euler git worktree add ../project/OLK-6.6 OLK-6.6 # 添加Linux LTS远程仓库 git remote add linux https://mirrors.tuna.tsinghua.edu.cn/git/linux-stable.git git fetch linux git worktree add ../project/linux-6.6.y linux-6.6.y git worktree add ../project/linux-rolling-lts linux-rolling-lts

3.3 配置个人信息

编辑配置文件config.json,设置个人信息、修复单号及编译命令:

{ "person_info": [ "Signed-off-by: Your Name <your.email@example.com>", "Reviewed-by: Reviewer Name <reviewer.email@example.com>" ], "CTKfeat": "your-feature-number", "make_defconfig": "make openeuler_defconfig", "check_kabi": "python3 build/check-kabi -k build/Module.kabi_$(uname -m) -s Module.symvers" }

四、使用指南

4.1 准备CVE列表

创建CVE列表文件(可参考项目中的cve_list文件),每行填写一个CVE编号,例如:

CVE-2023-1234 CVE-2023-5678

4.2 运行自动化工具

基本使用命令:

python3 cve_void.py --cve_list cve_list \ --openeuler_dir project/OLK-5.10/ \ --linux_lts_dir project/linux-5.10.y/ \ --linux_rolling_lts_dir project/linux-rolling-lts/ \ --fix_cve_dir project/feature-batch-cve/

4.3 高级选项

  • 编译验证:添加--compile_each_cve参数,每合入一个补丁后编译内核

    python3 cve_void.py --cve_list cve_list ... --compile_each_cve
  • 调试模式:添加--debug参数获取详细日志

    python3 cve_void.py --cve_list cve_list ... --debug
  • 离线模式:添加--offline参数在无网络环境运行

    python3 cve_void.py --cve_list cve_list ... --offline

五、后续处理

5.1 手动调整提交信息

工具会输出含有CAN_NOT_PROCESS_THIS_COMMIT的提交列表,需要手动修改这些提交信息:

git commit --amend

5.2 处理合入失败的补丁

对于无法自动合入的补丁,工具会输出详细信息,包括:

  • 补丁来源链接
  • 相关commit ID
  • 依赖分析结果

维护人员需根据这些信息进行人工合入和冲突解决。

六、常见问题解决

6.1 依赖安装失败

确保pip版本为最新:

pip install --upgrade pip

6.2 编译验证失败

检查config.json中的make_defconfigcheck_kabi配置是否与实际环境匹配。

6.3 补丁合入冲突

使用工具提供的冲突分析信息,手动解决冲突后重新提交。

通过以上步骤,您可以快速部署并使用openeuler/cve-void工具,实现CVE补丁的自动化合入,大幅提升内核漏洞修复效率。如有更多问题,可参考项目文档或提交issue获取社区支持。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 21:07:02

Rust异步编程在async-libfuse中的应用:Future与Stream详解

Rust异步编程在async-libfuse中的应用&#xff1a;Future与Stream详解 【免费下载链接】async-libfuse asyncchronized libfuse in Rust 项目地址: https://gitcode.com/openeuler/async-libfuse 前往项目官网免费下载&#xff1a;https://ar.openeuler.org/ar/ 在当今…

作者头像 李华
网站建设 2026/7/2 21:05:24

hpcpilot脚本架构解析:深入理解自动化工具的设计哲学

hpcpilot脚本架构解析&#xff1a;深入理解自动化工具的设计哲学 【免费下载链接】hpcpilot A collection of HPC delivery tools, including basic system configuration, node inspection, performance testing, third-party service installation, etc. 项目地址: https:/…

作者头像 李华
网站建设 2026/7/2 20:58:45

operator-manager故障排除指南:常见问题与解决方案大全

operator-manager故障排除指南&#xff1a;常见问题与解决方案大全 【免费下载链接】operator-manager operator-manager is a lightweight framework for managing the lifecycle of operators 项目地址: https://gitcode.com/openeuler/operator-manager 前往项目官网…

作者头像 李华
网站建设 2026/7/2 20:57:59

从入门到精通:openeuler/kiran-manual带你成为Kiran桌面高手

从入门到精通&#xff1a;openeuler/kiran-manual带你成为Kiran桌面高手 【免费下载链接】kiran-manual User manual for Kiran desktop environment and desktop applications 项目地址: https://gitcode.com/openeuler/kiran-manual 前往项目官网免费下载&#xff1a;…

作者头像 李华
网站建设 2026/7/2 20:57:07

rat安装与配置完全指南:从源码编译到RPM包部署的完整教程

rat安装与配置完全指南&#xff1a;从源码编译到RPM包部署的完整教程 【免费下载链接】rat This project is refactoring the cat tool with rust. 项目地址: https://gitcode.com/openeuler/rat 前往项目官网免费下载&#xff1a;https://ar.openeuler.org/ar/ rat是o…

作者头像 李华
网站建设 2026/7/2 20:56:15

ub-dhcp故障排除手册:常见问题与解决方案汇总

ub-dhcp故障排除手册&#xff1a;常见问题与解决方案汇总 【免费下载链接】ub-dhcp ub-dhcp is an implementation of Linux dhcp for ub device. 项目地址: https://gitcode.com/openeuler/ub-dhcp 前往项目官网免费下载&#xff1a;https://ar.openeuler.org/ar/ ub-…

作者头像 李华