< 返回版块

【Rust日报】 2019-02-08

ChaosBot 发表于

「官方」Aturon宣布退出Rust Core Team

#rust

Aturon宣布退出Rust Core Team,意味着他将不再参与Rust工作组的管理工作,他更想作为一名Rust工程师做一些工程工作。他将继续留在Mozilla的Rust团队。

接下来他的精力将分配在:

  • 完善编译器、GAT和特化。
  • 继续研究Tide框架。

Aturon的退位,同时也是Rust Core Team汲取新的血液的机会。Rust即将进入新的阶段,成熟与可持续性,有新人加入,意味着有新的思维,拭目以待。

Read More


metered-rs: 帮助你测量生产项目的性能

#metrics

metered-rs


「安全审计」审计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代码做安全审计的时候,最重要的是理解代码的逻辑。

Read More


「嵌入式Rust」bno055: Bosch Sensortec BNO055 9轴传感器Fusion IMU驱动程序

#embedded_hal #VR

Bosch Sensortec是九轴运动传感器品牌,BNO055是产品型号,IMU是惯性量测单元。主要用于VR产业,防眩晕,采集运动数据之类。

bno055


「入门向」让编译器告诉你该怎么做

#learnrust

该文章通过一个简单是示例,告诉你如何根据编译器的错误来学习并调试代码。

Read More


Librsvg: 重构允许的URLs

#librsvg

作者在继续完成Librsvg用Rust完全重写的工作,最近作者碰到了一个与「librsvg允许在SVG中引用哪些文件」有关的问题,为了防止一些恶意的SVG安全攻击。文章不长,但也是一个实际项目的经验,值得看看。

Read More


notion:一个“天真烂漫”的JavaScript工具链管理器

#javascript

「天真烂漫(hassle-free)」意味着「使用简单,没有麻烦」。特点:

  • 可靠:从Node版本到软件包管理器,可确保项目中的每个人都使用相同的开发环境。
  • 通用:在每个shell和每个主要操作系统中享受相同的命令行体验。
  • 快速:Notion使用Rust实现,并作为静态可执行文件部署以获得最佳性能。

notion


日报订阅地址:

评论区

还没有评论

共 0 评论, 共 0 页