【Rust日报】2025-11-30 darwin-timeout:GNU timeout 的替代,在睡眠、CPU 为零的情况下正常工作

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

LLVM 21 引入了原生常量时间支持,解决了编译器优化导致的时序侧信道漏洞。新增的 __builtin_ct_select 函数可生成无分支的恒定时间机器码,增强加密代码的安全性,未来将支持常量时间算术运算。

🎯

关键要点

  • LLVM 21 引入原生常量时间支持,解决编译器优化引入的时序侧信道漏洞。

  • 新增的 __builtin_ct_select 函数生成无分支的恒定时间机器码,增强加密代码安全性。

  • 未来将支持常量时间算术运算,可能被 Rust 和 Swift 生态采纳。

  • oxdraw 是一个基于 Rust 的代码绘图工具,支持 Mermaid 语法和 Web 可视化编辑。

  • oxdraw 允许用户通过拖拽和调整样式来可视化,同时保留文件的纯文本特性。

  • Mea 是一个与运行时无关的库,为异步 Rust 编程提供同步原语,解决特定运行时绑定问题。

  • Wolf-Lang 是受 Lua 启发的静态类型脚本语言,旨在安全高效地嵌入 Rust 应用程序。

  • darwin-timeout 是 GNU timeout 的替代品,确保在 macOS 睡眠时正常计时,输出 JSON 格式数据。

🔎

延伸解读

LLVM 21 的安全性提升

LLVM 21 引入的原生常量时间支持,显著增强了加密代码的安全性。通过 __builtin_ct_select 函数,开发者可以生成无分支的机器码,从而有效防止时序侧信道攻击。这一改进不仅修复了现有加密库的潜在风险,还为未来的常量时间算术运算奠定了基础,值得开发者关注。

oxdraw 的创新特性

oxdraw 作为基于 Rust 的代码绘图工具,结合了声明式语法与可视化编辑的优势。用户可以通过 Mermaid 语法定义图表,同时进行可视化调整,所有修改都会以注释形式回写到源文件中。这种设计不仅保留了文件的纯文本特性,还便于版本控制,适合团队协作。

darwin-timeout 的实用性

darwin-timeout 解决了 GNU timeout 在 macOS 睡眠状态下暂停计时的问题,确保 CI 任务能够正常超时。这一工具的设计考虑了 macOS 的特性,使用 mach_continuous_time 进行计时,适合需要在休眠状态下持续运行的场景,提升了开发者的工作效率。

延伸问答

LLVM 21 引入的原生常量时间支持有什么重要意义?

它解决了编译器优化引入的时序侧信道漏洞,增强了加密代码的安全性。

__builtin_ct_select 函数的作用是什么?

__builtin_ct_select 函数生成无分支的恒定时间机器码,作为优化屏障。

Mea 库在 Rust 编程中提供了哪些功能?

Mea 提供了与运行时无关的同步原语,解决了异步 Rust 编程中的同步工具绑定问题。

darwin-timeout 是什么,它解决了什么问题?

darwin-timeout 是 GNU timeout 的替代品,确保在 macOS 睡眠时正常计时,避免 CI 任务挂起。

oxdraw 工具的主要特点是什么?

oxdraw 支持 Mermaid 语法和 Web 可视化编辑,允许用户通过拖拽和调整样式来可视化代码。

Wolf-Lang 语言的设计初衷是什么?

Wolf-Lang 旨在提供一个可以轻松嵌入 Rust 应用程序的脚本引擎,同时具备编译时类型检查功能。

🏷️

标签

➡️

继续阅读