dergoegge/bedrock

GitHub: dergoegge/bedrock

一个实验性的 x86-64 虚拟机监控程序,通过硬件虚拟化与确定性机制解决软件测试中的可复现性问题。

Stars: 6 | Forks: 0

# Bedrock 一个用于确定性软件测试的实验性 x86-64 虚拟机监控程序。 Bedrock 使用 Intel VT-x 运行具有完全模拟时间(TSC)的客户虚拟机, 受控随机性(RDRAND/RDSEED)、各种其他设备模拟,以及写时复制虚拟机分叉——实现可重复执行以用于确定性测试。 ## 架构 ``` ┌────────────────────────────────────────────────────┐ │ User Space │ │ │ │ bedrock-vm Rust library for VM control │ │ │ │ │ ioctl │ ├────────────────────────┼───────────────────────────┤ │ ▼ │ │ Kernel Space │ │ │ │ bedrock.ko Kernel module (/dev/bedrock) │ │ - VMX setup and VM execution │ │ - EPT memory virtualization │ │ - Deterministic device emulation │ │ - ... │ │ │ └────────────────────────────────────────────────────┘ ``` ## 要求 - [Linux 6.18](https://github.com/torvalds/linux/tree/v6.18) 主机内核并启用 `CONFIG_RUST=y` - Intel(R) Xeon(R) Gold 5412U(其他支持 VT-x 的现代 Intel CPU 应该也可以工作,但可能需要微调) - 打补丁的 Linux 6.18 客户机内核(请参考 [guest-patches/](guest-patches/)) *本项目在大型语言模型的协助下开发。可能出现冻结、挂起或主机损坏,请自行承担风险运行。*
标签:bedrock, deterministic testing, hypervisor, Intel VT-x, Linux 内核模块, pocsuite3, RDRAND, RDSEED, Rust, software testing, TSC, virtualization testing, VM forking, x86-64, 内核模块, 可视化界面, 可重现执行, 复制时写, 安全测试, 安全渗透, 安全资源, 实验性, 攻击性安全, 时间仿真, 确定性测试, 网络流量审计, 虚拟化, 虚拟机监控器, 设备仿真, 软件测试, 通知系统