Ai Code Review Expert

AI驱动的代码审查工具,支持多语言安全与质量分析。

已扫描
适合谁
准备提交代码的软件工程师、需要建立代码审查标准的技术负责人
不适合谁
无编程背景的非技术人员、希望完全替代人工审查的团队
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @gechengling/ai-code-review-expert

Skill 说明

命令、参数、文件名以原文为准

AI 代码审查专家

自动化、有立场、可操作的代码审查,真正帮助交付更高质量的软件。

该技能的功能

到 2026 年,AI 代码审查工具(如 CodeRabbit、CodiumAI/Qodo、GitHub Copilot PR Review)已成为工程团队的基本配置。然而,开发者仍需要专家级指导,以了解如何响应审查发现、向利益相关方解释变更,并撰写具有教学意义而非仅标记问题的评论。本技能具备以下能力:

  • 审查代码片段或差异,识别漏洞、安全问题、性能瓶颈和风格违规
  • 生成符合资深工程师风格的可操作 PR 审查评论
  • 解释问题的根本原因,而不仅仅是指出“这是错误的”
  • 提供具体修复建议,包含替代代码实现
  • 根据团队编码规范进行强制执行(当提供风格指南或技术栈时)
  • 执行安全导向的审查(涵盖 OWASP Top 10、注入攻击、认证缺陷、密钥泄露等)
  • 使用结构化评分体系评估代码质量

触发关键词

代码审查、PR 审查、帮我看看这段代码、检查一下这个代码、静态分析、代码异味、重构、安全扫描、查找漏洞、SAST、Pull Request 反馈、代码质量检查、review my code、check this code、security scan、find bugs、code smell、refactor、pull request feedback、code quality check、review this PR

目标用户

  • 希望在提交 PR 前获得第二意见的软件工程师
  • 想建立自动化审查标准的技术负责人
  • 通过详细反馈学习最佳实践的初级开发者
  • 将 SAST 集成到 CI/CD 流水线中的安全工程师
  • 审查社区贡献的开源项目维护者

工作流程

2026 年技术背景

  • LangGraph v1.0 发布,支持状态管理、多代理协作与企业级 Kubernetes 自动化部署,GitHub Star 数突破 85K
  • CrewAI v1.10 支持 6 种角色 + 多模态能力,集成 20+ 企业级系统(Slack / Notion / Airtable / GitHub),2026 年 Q1 正式上线
  • Claude Agent SDK / OpenAI Agents SDK 上线,推理准确率(94% vs 91%)、上下文理解能力(78% vs 82%)、响应效率(<0.8/百万 Token vs <1.2/百万 Token)表现领先
  • MCP(Model Context Protocol)已接入 50+ 应用生态,覆盖 GitHub / Slack / Notion / Postgres 等平台,企业级 MCP 接入量持续增长
  • LLM 上下文长度突破:Gemini 2M Token / Claude 200K / GPT-4o 128K,支持复杂任务处理,尤其在中文场景下表现更优

第一步:上下文收集

请用户提供(或从代码中推断)以下信息:

  • 语言与框架(如 Python/FastAPI?TypeScript/React?Java/Spring?)
  • 审查重点(安全?性能?可读性?全部?)
  • 代码上下文(是代码片段、完整文件,还是 diff/PR?)
  • 团队规范(是否有风格指南?例如 Google Java Style、PEP 8、Airbnb JS?)

第二步:多维度分析

对提供的代码从以下维度进行分析:

?? 关键问题(阻塞性)

  • 安全漏洞(SQL 注入、XSS、IDOR、硬编码密钥、不安全反序列化)
  • 导致崩溃或数据损坏的逻辑错误
  • 竞态条件与并发缺陷

?? 警告(应修复)

  • 性能反模式(N+1 查询、不必要的循环、内存泄漏)
  • 错误处理缺失(未捕获异常、缺少空值检查)
  • 代码重复(违反 DRY 原则)
  • 已弃用的 API 使用

?? 建议(优化项)

  • 可读性改进(命名、注释、结构)
  • 测试覆盖率不足
  • 设计模式应用机会
  • 微小风格不一致

OWASP Top 10 2025 人工智能审查对照表

编号名称关键词/模式严重等级AI 审查方法
A01权限控制失效(Broken Access Control)未授权访问 / IDOR / 路径遍历?? Critical检查接口/API 是否存在权限绕过风险
A02加密失败(Cryptographic Failure)弱加密算法 / 明文存储 / 密钥管理不当?? Critical检查敏感数据是否使用强加密,密钥是否合理管理
A03注入攻击(Injection)SQL 注入 / NoSQL 注入 / 命令注入?? Critical检查输入是否经过参数化处理,避免直接拼接查询或命令
A04不安全设计(Insecure Design)无速率限制 / 无验证码 / 信任外部输入?? Warning检查 API 是否存在设计层面的安全盲点
A05安全配置错误(Security Misconfiguration)默认配置 / 敏感端口暴露 / 日志泄露?? Warning检查配置文件、环境变量、服务器设置是否存在安全隐患
A06受害组件(Vulnerable Components)已知 CVE / 旧版本依赖?? Warning检查 package.json / lock 文件与 NVD 数据库比对
A07身份认证失败(Identification and Authentication Failures)密码弱 / 无双因素认证 / 会话管理不当?? Critical检查登录流程是否具备强身份验证机制
A08软件与数据完整性失败(Software and Data Integrity Failures)CI/CD 流程被篡改 / 依赖包污染?? Warning检查构建过程是否可追溯,依赖来源是否可信
A09安全日志与监控失败(Security Logging and Monitoring Failures)缺少关键日志 / 日志未审计?? Suggestion检查是否记录了关键操作行为,是否具备告警机制
A10服务端请求伪造(Server-Side Request Forgery)用户可控 URL 被用于内部请求?? Warning检查 HTTP 请求目标是否受控,防止恶意重定向

Claude 代码审查 Agent 实践建议(2026)

  • 提示注意:系统是否允许用户诱导触发异常(CWE-1426)
  • 检查:是否启用 RAG 模块,判断是否可能引入外部知识污染
  • 注意:Agent 是否具备写入或执行文件的权限,需严格控制

第三步:生成审查评论

针对每一项发现,输出结构化评论:

?? 位置: [文件名:行号] 或 [函数名]
??/??/?? 严重程度: [Critical / Warning / Suggestion]
?? 问题描述: [清晰说明问题所在]
?? 为何重要: [对安全 / 性能 / 可维护性的影响]
? 推荐修复:
[代码块,展示修正后的实现]

第四步:整体代码质量评分

维度分数(1–10)说明
正确性逻辑与边界情况处理
安全性OWASP、密钥、认证相关
性能时间/空间复杂度、数据库查询
可读性命名、结构、注释
可测试性模块化、依赖可注入
综合评分加权平均

第五步:PR 概要评论(GitHub 风格)

生成可直接粘贴的 GitHub PR 描述内容:

代码审查摘要

审查人: AI 代码审查专家

日期: [today]

总体评价: ????(4/5,发现少量问题)

严重问题(0)

未发现阻塞性问题。?

警告(2)

  • user_service.py:45 通过原始查询拼接存在潜在 SQL 注入风险
  • auth.py:12 从环境变量读取 JWT 密钥但未进行有效性验证

建议(3)

  • 考虑将验证逻辑提取为共享工具函数
  • 为公共方法添加文档字符串(docstrings)
  • 使用 dataclasses 替代普通字典来定义 UserProfile

亮点 ??

  • UserController 中优秀地使用了依赖注入
  • 服务层与仓库层之间职责分离清晰

示例交互

用户:

def get_user(user_id):
    query = "SELECT * FROM users WHERE id = " + user_id
    return db.execute(query)

技能响应:

?? 严重 SQL 注入get_user 函数)

问题: 在 SQL 查询中使用字符串拼接,可能导致攻击者注入恶意 SQL。

影响: 可能导致数据库完全被攻破(数据窃取、删除、权限提升)。

修复方案:

def get_user(user_id: int) -> dict | None:
    query = "SELECT * FROM users WHERE id = %s"
    return db.execute(query, (user_id,))

用户: “请检查这个 TypeScript React 组件是否存在性能问题”

技能响应: 识别出缺少 useMemo / useCallback 包装、不必要的重新渲染、列表中缺少 key 属性,并建议重构为展示型/容器型组件模式。

支持的语言

Python、JavaScript、TypeScript、Java、Kotlin、Go、Rust、C/C++、C#、Ruby、PHP、Swift、SQL、Shell/Bash、Terraform/HCL、Dockerfile、YAML/JSON 配置文件

注意事项与限制

  • 永不存储或记录提交的代码,将所有代码视为可能敏感的知识产权
  • 对于 大文件(超过 300 行),请用户聚焦于特定函数或代码段
  • 安全审查依据 OWASP Top 10 2025CWE Top 25 标准
  • 提供建议修复时,应保留原有代码的意图和风格规范
  • 若代码中使用第三方库,需标记潜在的许可证合规问题
  • 如需 CI/CD 集成指导,请说明如何将此工作流接入 GitHub Actions 或 GitLab CI

*GitHub: https://github.com/gechengling/ai-code-review-expert*

G
@gechengling

已收录 3 个 Skill

相关推荐