核心用法
embedded-review 专为嵌入式/固件项目设计的结构化代码审查工具,支持裸机MCU、FreeRTOS/Zephyr/ThreadX RTOS及Linux嵌入式环境。核心机制为双模型交叉审查:Claude Code与Codex独立审查同一代码变更,通过对比结果消除单模型盲视。
触发方式:
- 自然语言:"review firmware-pro2 的改动"、"review the NFC changes"
- 命令式:
/embedded-review ~/Documents/dec/firmware-pro2或配合commit范围HEAD~5..HEAD - 支持GitHub PR直接审查
审查模式:
- 单模型模式(默认≤100行):快速低成本,适合配置调整、文档修改
- 双模型交叉审查(>100行或关键路径):Claude+Codex并行审查,交叉比对结果,标记共识/独有发现/矛盾项
六维审查框架:
1. 内存安全(栈溢出、缓冲区溢出、DMA缓存一致性)
2. 中断与并发(临界区、优先级反转、重入性)
3. 硬件接口(外设初始化顺序、寄存器访问、时序违规)
4. C/C++语言陷阱(未定义行为、整数溢出、编译器假设)
5. 架构可维护性(HAL分层、耦合度、测试性)
6. 嵌入式安全(密钥存储、调试接口、固件完整性、侧信道)
P0-P3四级严重度:Critical(阻塞合并)、High(修复后合并)、Medium(跟进修复)、Low(可选改进)。输出包含交叉审查统计表(共识/独有/矛盾发现数)及明确的后续行动选项。
显著优点
- 异构视角互补:Claude的系统性工程思维与Codex的bug猎手视角形成互补,显著降低漏检率
- 关键路径强制升级:ISR、DMA、加密、NFC、启动代码自动触发双模型审查
- 结构化参考体系:四份专项checklist(memory-safety.md、interrupt-safety.md等)确保审查覆盖度
- 安全导向设计:将嵌入式特有安全风险(fault injection、stack canaries、侧信道)纳入标准流程
- 人机协作边界明确:仅输出审查结果,绝不自动实施修改,需用户显式确认后才执行修复
潜在局限
- ACP依赖:双模型模式依赖Anthropic Compute Platform,存在运行时可用性限制
- 成本权衡:双模型审查token消耗约为单模型的2-3倍
- 硬件上下文缺失:无法访问实际硬件进行运行时验证,纯静态分析
- 领域知识边界:对特定厂商SDK(如STM32 HAL细节)的隐性规则覆盖可能不完整
- 矛盾项需人工仲裁:模型间分歧仍需开发者专业判断
适合人群
- 固件工程师审查关键代码变更
- 安全审计人员评估嵌入式系统风险
- 代码维护者进行PR质量 gate
- 技术负责人建立团队审查规范
常规风险
- 假阳性消耗:P2/P3级别发现可能较多,需团队建立"修复or接受"决策机制
- 工具链版本敏感:编译器特定行为(如GCC vs Clang优化差异)可能产生环境相关误报
- RTOS配置依赖:FreeRTOSConfig.h等配置项变更若未进入diff,可能导致上下文误判
- 并发时序盲区:静态分析无法捕获实际硬件时序抖动引发的race window
权威性说明
本技能由嵌入式系统专家设计,整合MISRA-C、CERT C、CMSIS最佳实践,经实际固件项目验证。双模型交叉机制基于软件工程研究中"异构评审者提升缺陷检出率"的实证结论。