核心功能
rust-code-review 是一款面向 Rust 生态的深度代码审查技能,专为识别内存安全陷阱、并发缺陷及现代 Rust 惯用法而设计。其核心工作流程强调上下文先行:审查前必须解析 Cargo.toml 中的 Edition 版本(2018/2021/2024)与 MSRV,并检查关键依赖(如 thiserror vs anyhow、tokio feature 配置),以避免因版本差异导致的误报。
审查覆盖领域
该技能构建了完整的审查矩阵,涵盖 10+ 个专业领域:
- 所有权与借用:通过
ownership-borrowing.md参考文档识别克隆陷阱、生命周期过宽、&strvsString误用等问题 - 并发安全:区分 shared-memory、worker-pool、actor 三种并发模型,检查
Send/Sync边界、原子操作内存序(Release/Acquire配对)、CAS 重试模式及 ABA 风险 - Unsafe 代码审查:要求
unsafe块配备安全注释,识别未定义行为(空指针解引用、数据竞争),特别针对 Edition 2024 的unsafe_op_in_unsafe_fn强制规则 - 错误处理:区分库代码(
thiserror)与应用代码(anyhow),检查?运算符的From实现、错误上下文丰富度 - Edition 2024 专项:RPIT 生命周期捕获控制(
+ use<'a>)、临时变量作用域变化、!类型回退、r#gen保留字等破坏性变更
质量保障机制
技能内置四级 Gates 验证流程:Crate 上下文确认 → 扩展阅读(完整函数/impl)→ 严重度匹配 → 验证协议执行。每项 Major/Critical 发现必须通过 review-verification-protocol 技能复核,杜绝"脑内验证"。严重度校准体系明确区分 Critical(阻断合并,如 UAF、数据竞争)、Major(应修复)、Minor(建议修复)、Informational(仅供参考)。
局限性与注意事项
- 依赖外部参考文档:实际审查效果受
references/*.md及关联技能(rust-best-practices、review-verification-protocol)可用性制约 - Edition 2024 成熟度:虽覆盖 2024 新特性,但部分规则(如 precise capture 语法)生态实践尚浅,可能存在上下文误判
- unsafe 审查深度:对 Miri 可检测的未定义行为有明确提及,但无法替代动态分析
- 性能建议保守:性能相关审查需配合
rust-best-practices技能,单独使用可能遗漏架构级优化点
适用人群
- 安全关键 Rust 项目:需系统审查
unsafe块、并发原语、内存序使用的团队 - Edition 迁移:计划升级至 Rust 2024 的代码库,需识别破坏性变更影响
- 库作者:关注 trait 设计、对象安全、semver 兼容性及公共 API 质量
- 异步运行时开发者:检查
Pin约定、取消安全性、跨运行时兼容性
使用建议
建议始终与 rust-best-practices 技能组合加载,以覆盖性能、类型状态模式、Clippy 配置等补充领域。对于含 unsafe 的代码库,务必确保 review-verification-protocol 可用并严格执行验证步骤。