# Rust Review

> Rust 服务审查：panic、SQL 注入、密钥、错误吞没、遗留标记

- Skill: `liuyanghejerry/rust-review` (Agent Skill)
- Install (CLI): `npx skillmds@latest add liuyanghejerry/rust-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/liuyanghejerry/rust-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: liuyanghejerry (https://skillmd.com/u/liuyanghejerry)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/liuyanghejerry/rust-review

---


# Rust 服务代码审查

先用 `git_diff`（参数 `{"base": "HEAD~1"}`）查看本次变更。

## 规则

### panic-unwrap（error）
- 对可失败的输入使用 `unwrap()` / `expect()`：用户输入解析、Option 解包等
- 会导致服务 panic 的位置
- 注意：同一个语句里的多个 unwrap 算一个 finding
- rule_id: `panic-unwrap`

### sql-injection（error）
- 字符串拼接构造 SQL（`format!` 拼 SQL、`+` 拼 SQL）
- 应使用参数化查询
- rule_id: `sql-injection`

### hardcoded-secret（error）
- 源码中硬编码的密码、连接串凭据、API key
- rule_id: `hardcoded-secret`

### swallowed-error（error）
- 用 `let _ =` 静默丢弃 Result（无日志、无处理）
- rule_id: `swallowed-error`

### todo-marker（warning）
- 生产代码中遗留的 `todo!()` / `unimplemented!()`
- rule_id: `todo-marker`

每个 finding 附带 location（文件 + 行号）与证据（代码片段）。

