首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Siderophile:检测Rust代码库中的不安全代码

Siderophile:检测Rust代码库中的不安全代码

原创
作者头像
qife122
发布2025-08-16 11:17:15
发布2025-08-16 11:17:15
990
举报

今天我们发布了Siderophile工具,它能帮助Rust开发者在代码库中寻找模糊测试目标。该工具会扫描crate依赖项,找出所有unsafe函数、表达式、特征方法等,并通过调用图追踪到使用这些不安全元素的源头函数。最终根据"危险系数"(使用不安全元素的数量)对函数进行排序。

Siderophile(ˈsidərəˌfɪl)——对金属铁有亲和力

这个工具诞生于我们接手一个大型Rust项目审计时。面对紧迫的时间要求,我们需要快速定位最需要模糊测试的代码区域。通过自动化识别高风险函数,Siderophile显著加速了我们的漏洞发现过程。现在我们将它开源以惠及整个社区。

示例输出

以下是我们在开发MLS加密协议实现crate——molasses上运行的结果:

危险系数

函数

012

molasses::crypto::hash::HashFunction::hash_serializable

005

molasses::crypto::hash::HashContext::feed_serializable

003

molasses::utils::derive_node_values

| ...(其他高风险函数)|

可见主要风险集中在序列化和加密相关例程中,这些正是1.0版本发布前需要重点测试的区域。

局限性

当前版本无法保证捕获所有不安全代码,例如:无法检查宏或动态分发方法(unsafe标记仅作用于源码级别)。工具的易用性也有改进空间,某些crate上已发现误报情况。我们正在积极维护该项目,欢迎贡献者参与。

立即试用

Siderophile已发布在GitHub,包含详细使用说明。建议对所有Rust crate运行检测,并针对结果设置模糊测试。特别感谢cargo-geiger和rust-praezi项目的基础工作。

(原文末尾社交媒体分享链接和版权声明部分未翻译)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档