「官方」Aturon宣布退出Rust Core Team
#rust
Aturon宣布退出Rust Core Team,意味着他将不再参与Rust工作组的管理工作,他更想作为一名Rust工程师做一些工程工作。他将继续留在Mozilla的Rust团队。
接下来他的精力将分配在:
- 完善编译器、GAT和特化。
- 继续研究Tide框架。
Aturon的退位,同时也是Rust Core Team汲取新的血液的机会。Rust即将进入新的阶段,成熟与可持续性,有新人加入,意味着有新的思维,拭目以待。
metered-rs: 帮助你测量生产项目的性能
#metrics
「安全审计」审计Rust加密库的第一步
#auditing #security
该文章提供了一份审计清单,在你在开始审核使用Rust编写的加密软件时,你可以通过检查以下几项内容来保证一定的安全性:
- 查看clippy警告。
- 构建并运行所有单元测试。
- 查看Cargo.toml的依赖项。
- 寻找unsafe代码块,并作出安全评估。
- 寻找unwrap的使用风险。
- 寻找潜在的整数溢出(Debug模式下会在运行时panic,但是release模式下会静默)。
- 寻找是否存在不应该被公开的私有类型。
- 查找任何递归函数,评估它们是否有栈溢出的风险。
- 如果使用FFI,则需要查找调用的外部代码,如果相关,则需要将这些代码作为审计的子项目。
- 确定可以便于进行模糊测试的API,并记下来。
- 查找使用了哪些加密原语,哪些第三方库,并记下加密组件的任何新实现。
- 查找任何涉及加密和安全的RNG内容。
rand::thread_rng
在大多数情况下应该没问题,但是当OS RNG初始化失败之后,将回归到弱RNG(弱随机数生成)。 - 对于敏感值在使用后是否应该归0?在Rust里应该使用Drop trait来实现它,而不是显式地指定。
此列表并不是详尽无遗的,所以在对Rust代码做安全审计的时候,最重要的是理解代码的逻辑。
「嵌入式Rust」bno055: Bosch Sensortec BNO055 9轴传感器Fusion IMU驱动程序
#embedded_hal #VR
Bosch Sensortec是九轴运动传感器品牌,BNO055是产品型号,IMU是惯性量测单元。主要用于VR产业,防眩晕,采集运动数据之类。
「入门向」让编译器告诉你该怎么做
#learnrust
该文章通过一个简单是示例,告诉你如何根据编译器的错误来学习并调试代码。
Librsvg: 重构允许的URLs
#librsvg
作者在继续完成Librsvg用Rust完全重写的工作,最近作者碰到了一个与「librsvg允许在SVG中引用哪些文件」有关的问题,为了防止一些恶意的SVG安全攻击。文章不长,但也是一个实际项目的经验,值得看看。
notion:一个“天真烂漫”的JavaScript工具链管理器
#javascript
「天真烂漫(hassle-free)」意味着「使用简单,没有麻烦」。特点:
- 可靠:从Node版本到软件包管理器,可确保项目中的每个人都使用相同的开发环境。
- 通用:在每个shell和每个主要操作系统中享受相同的命令行体验。
- 快速:Notion使用Rust实现,并作为静态可执行文件部署以获得最佳性能。
日报订阅地址:
评论区
写评论还没有评论