< 返回版块

Yuan YQ 发表于 2025-11-14 11:04

在 Android 中使用 Rust:修复问题且快速推进

去年时候,Google 安全团队曾撰文:将内存安全策略聚焦于新代码中的漏洞预防,能带来持久且不断累积的安全收益。今年团队在回顾的时候,发现这一策略不仅仅“修复问题”,还在帮助团队“更快前进”。2025 年的数据继续验证了这一方法的有效性:内存安全漏洞首次降至总漏洞数的 20% 以下。

上图展示了截至 2025 年的数据,覆盖了 Android 平台中由 Google 和第三方贡献的 C、C++、Java、Kotlin 和 Rust 代码变更。虽然本文发布于 2025 年结束前两个月,但由于 Android 遵循业界标准的 90 天补丁窗口机制,这些结果很可能已接近最终状态。如有必要,仍会加速修补。

总结一下,在 Android 中采用 Rust:

  • 安全性大幅提升:相比 C/C++,Rust 的内存安全漏洞密度降低了超过 1000 倍(Rust:约 0.2 个漏洞/百万行;C/C++:约 1000 个/百万行)
  • 开发效率更高
    • Rust 代码审查时间减少 25%
    • 所需修改轮次减少约 20%
    • 回滚率降低 4 倍,意味着变更更稳定、对团队干扰更少
  • Rust 使用量激增:新增 Rust 代码量已与 C++ 相当,成为 Android 系统开发的主力语言之一
  • 纵深防御依然重要:内存安全语言只是全面内存安全策略的一部分,纵深防御依然重要
  • unsafe Rust 并非高危:虽然约 4% 的 Rust 代码使用 unsafe,但实证表明其风险远低于 C/C++,且团队正通过培训加强安全实践

原文:https://security.googleblog.com/2025/11/rust-in-android-move-fast-fix-things.html

Apate: 一个 API 模拟服务器

Apate 是一个用 Rust 编写的 API 模拟(mocking)服务器,主要用于 集成测试和端到端测试。

核心功能

  • API 模拟:通过配置文件(TOML 格式)定义模拟的 API 端点、请求匹配规则和响应内容
  • 灵活的配置方式:支持通过环境变量配置服务器
  • 支持命令行参数
  • 提供 Web UI
  • 动态配置 :运行时可通过 API 动态修改、追加或配置
  • 自定义处理:支持注册自定义处理器(Processors),用于在请求 / 响应过程中执行额外逻辑
  • 测试集成:可作为 Rust 测试库使用,方便在单元测试中启动模拟服务器。

Github: https://github.com/rustrum/apate

nail-parquet: 一个高效的 CLI 数据处理工具

nail-parquet 是一个高性能的命令行数据处理工具,旨在提供快速的数据分析、转换和探索能力。该工具基于 Rust 语言开发,结合了 Apache Arrow 和 DataFusion 技术,能够高效处理 Parquet、CSV、JSON 和 Excel 等多种格式的文件。

核心特点

  • 高性能处理:利用 Apache Arrow 和 DataFusion 技术,可在秒级处理 GB 级数据集
  • 多格式支持:兼容 Parquet、CSV、JSON 和 Excel 等多种数据格式
  • 丰富的数据操作:提供检查、统计、过滤、采样、转换等全面的数据处理功能
  • 数据质量工具:包含搜索、去重、大小分析、缺失值处理等功能
  • 高级功能:支持连接 (joins)、合并 (unions)、模式操作、分层采样等
  • 文件优化:提供压缩、排序和编码功能以提升性能
  • 灵活输出:支持控制台显示或多种格式的文件输出

适用场景

  • Parquet 文件查看器 - 无需 Spark 或 Pandas 即可快速检查和探索数据
  • CSV 到 Parquet 转换器 - 带自动压缩的快速格式转换
  • Excel 数据分析 - 无需 Excel 或 LibreOffice 即可分析 .xlsx 文件
  • 命令行数据科学 - 适用于 SSH 环境和自动化脚本
  • 离线数据工具 - 无需云服务或服务器依赖,完全离线工作
  • ETL 管道 - 在 shell 脚本和 CI/CD 中转换和验证数据
  • 数据质量检查 - 快速验证模式、检测异常值、查找重复项
  • 大型文件处理 - 处理会导致电子表格工具崩溃的 GB 级数据集

Github: https://github.com/Vitruves/nail-parquet

--

From 日报小组 Yuan YQ

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页