Cann Review

🔍 CANN 代码智能审查专家

针对华为CANN runtime项目的自动化C/C++代码审查工具,深度检测内存泄漏、安全漏洞与代码质量,支持GitCode API原生集成。

收藏
4.6k
安装
1.1k
版本
3.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用途

cann-review 是一款专为华为昇腾(Ascend)CANN runtime 项目设计的自动化代码审查技能。它通过 GitCode API 深度分析 C/C++ 代码变更,无需浏览器自动化即可实现稳定可靠的 PR 审查流程。

显著优点

1. 专业级安全检测能力

  • 内存泄漏检测:自动识别 malloc/free、new/delete 不匹配,异常路径资源释放遗漏
  • 安全漏洞扫描:缓冲区溢出、空指针解引用、整数溢出、不安全类型转换
  • 边界检查验证:memcpy_s 等安全函数使用规范

2. 双模式灵活运作

  • 手动审查:针对特定 PR URL 进行深度分析
  • 自动审查:定时扫描未读 PR,批量生成审查报告,大幅提升团队效率

3. 原生 API 集成

  • 基于 GitCode REST API v5,绕过浏览器自动化固有的不稳定性
  • 自动发布结构化审查报告,支持 /lgtm 标签一键标记
  • 配置简单,支持环境变量、配置文件、交互向导三种方式

4. 标准化输出

  • 四级严重度判定(Low/Medium/High/Critical)
  • 结构化 Markdown 报告,结论前置,便于快速决策
  • 建设性反馈机制,问题定位与改进建议并重

潜在局限

  • 生态绑定:专为 CANN runtime 项目优化,通用 C/C++ 项目适配需调整
  • API 依赖:受 GitCode API 频率限制(50次/分钟),大规模仓库需分批处理
  • 静态分析边界:无法替代动态测试,运行时行为问题可能遗漏
  • Token 安全:API Token 需妥善保管,配置文件权限建议设为 600

适合人群

  • CANN runtime 项目维护者与核心开发者
  • 需要批量处理 PR 的代码审查团队
  • 关注内存安全与 C/C++ 代码质量的资深工程师
  • DevOps 工程师构建 CI/CD 代码质量门禁

常规风险

| 风险类别 | 说明 | 缓解措施 |
|---------|------|---------|
| 配置泄露 | API Token 若权限过高或泄露可导致仓库风险 | 使用最小权限原则(api + write_repository),定期轮换 Token |
| 误报/漏报 | 复杂指针逻辑或宏封装可能触发误检 | 结合人工复核,关注 High/Critical 级别判定 |
| API 限流 | 自动审查大量 PR 时可能触发 429 错误 | 添加请求间隔,实现指数退避重试机制 |
| 合并后评论 | 部分项目禁止对已合并 PR 评论,导致 API 失败 | 审查前检查 PR 状态,跳过已合并项 |

使用建议

首次部署建议执行配置向导完成 Token 设置,小规模试用 3-5 个 PR 验证审查质量,再开启自动审查模式。对于 Critical 级别问题,务必人工二次确认后再阻止合入。

Cann Review 内容

examples文件夹
手动下载zip · 31.2 kB
auto_review_summary.mdtext/markdown
请选择文件