Cann Review

🔍 CANN智能代码审查助手

专为CANN项目设计的自动化代码审查工具,通过GitCode API检测内存泄漏、安全漏洞和代码可读性问题,自动生成结构化审查报告并支持/lgtm标记。

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

使用说明

功能概述

CANN代码审查技能是一款面向华为CANN(Compute Architecture for Neural Networks)生态的专业代码审查工具,通过GitCode API实现对C/C++/Python代码的自动化审查。

核心能力

1. 静态代码分析

  • 内存安全检查:自动识别malloc/free、new/delete配对问题,检测异常路径下的资源泄漏,评估RAII模式应用
  • 安全漏洞扫描:检测缓冲区溢出风险(strcpy/memcpy使用)、空指针解引用、整数溢出、不安全的类型转换
  • 代码质量评估:审查命名规范、注释完整性、代码结构清晰度

2. 自动化工作流

  • PR信息抓取:通过GitCode API获取PR详情、文件变更、diff内容
  • 智能报告生成:采用结构化Markdown格式,结论前置,风险分级(Low/Medium/High/Critical)
  • 自动评论发布:直接调用API提交审查意见,支持/lgtm标签自动添加
  • 批量审查模式:支持定时任务,自动扫描配置仓库的开放PR

3. 技术实现

  • 纯API驱动,无需浏览器自动化,稳定性显著提升
  • 支持环境变量、配置文件双模式认证(GITCODE_API_TOKEN)
  • 内置JSON转义处理和错误重试机制

显著优势

  • 专业性:针对CANN项目的C/C++底层代码特点定制检查规则
  • 效率:单次PR审查可在分钟级完成,自动模式支持多仓库批量处理
  • 可追溯:所有审查记录通过API直接写入GitCode,与开发流程无缝集成
  • 可配置:支持自定义审查重点(memory/security/readability)和严重程度阈值

局限性

  • 依赖GitCode平台:仅支持GitCode托管的CANN项目,无法直接用于GitHub/GitLab
  • 静态分析边界:无法检测运行时逻辑错误、并发问题、性能瓶颈
  • Token管理成本:需要用户主动配置和维护API Token,存在泄露风险
  • 审查深度限制:对于复杂架构问题仍需人工专家介入

适用人群

  • CANN项目贡献者和维护者
  • 需要快速初筛代码质量的技术负责人
  • 追求CI/CD集成的DevOps工程师
  • 学习C/C++内存安全最佳实践的新手开发者

风险提示

  • API频率限制:GitCode API默认限速50次/分钟,大规模审查需控制节奏
  • 误报可能:静态规则可能产生假阳性,需结合人工确认
  • 敏感信息:配置文件存储Token需设置600权限,避免命令行直接传递Token

版本演进

v3.0.0(2026-03)完成重大架构升级,全面弃用浏览器自动化,改用GitCode REST API,解决了元素定位不稳定、ref编号漂移等历史问题,目前处于生产就绪状态。

Cann Review 内容

config文件夹
examples文件夹
手动下载zip · 41.6 kB
cron.example.jsonapplication/json
请选择文件