人人都会AI编程

5.2 代码审查:检测安全漏洞与潜在问题

更新时间:2026-06-27

代码审查是辅助性的代码质量预检功能,可自动扫描选中的代码片段,识别常见安全漏洞、逻辑缺陷、边界遗漏、性能隐患与不规范写法,并标注风险等级、给出修复建议。适合日常开发后快速自查、接手旧项目排查技术债、团队正式评审前预检,能覆盖绝大多数基础风险点,降低线上故障概率。


一、三种触发方式,按需选用

1. 右键菜单快速审查(单段代码首选)

适合单个函数、单接口的快速自查,操作最便捷,无需手动输指令:

  1. 选中需要检查的代码片段;
  2. 点击鼠标右键,选择「Codex → Review code(审查代码)」;
  3. 侧边栏自动输出问题清单、风险等级与修复建议。
2. 命令面板一键触发

习惯用快捷键操作的用户可快速调用:
按下 Ctrl + Shift + P(Windows)/ Cmd + Shift + P(Mac)调出命令面板,输入 Codex: Review Code 并回车,即可对当前选中的代码执行审查。

3. 侧边栏自定义审查(专项深度检查)

需要针对特定方向(如安全、性能)做深度排查时使用,可自定义审查重点:

  1. 选中目标代码后打开 Codex 侧边栏;
  2. 输入具体的审查要求,比如“重点检查安全漏洞和输入校验问题,按风险等级排序”;
  3. 生成结果后可针对单个问题追问更详细的修复方案。

二、核心审查方向与指令模板(直接套用)

根据不同的排查目标选择对应指令,结果更聚焦、更贴合实际需求。

1. 安全漏洞专项审查(最高优先级)

重点排查SQL注入、XSS跨站脚本、命令注入、敏感信息明文泄露、权限校验缺失、未授权访问等常见安全风险。

指令模板:对这段代码做专项安全审查,重点检查注入风险、敏感信息泄露、权限校验绕过、输入校验不足等安全问题,按高危、中危、低危标注风险等级,每个问题给出具体的修复代码。

2. 业务逻辑隐患审查

排查空指针/未定义报错、边界条件遗漏、异常未捕获、状态流转异常、并发冲突等逻辑问题,减少线上运行故障。

指令模板:审查这段业务代码的逻辑隐患,重点检查空值处理、边界条件、异常捕获、状态一致性问题,说明每个问题的触发场景和修复方案。

3. 性能与稳定性审查

排查死循环、重复计算、内存泄漏、资源未释放、阻塞主线程等性能问题,适合循环密集、计算量大的代码。

指令模板:分析这段代码的性能隐患,找出可能导致卡顿、耗时过长、资源泄漏的点,给出优化方案,保证原有功能完全不变。

4. 综合全量审查

一次性覆盖安全、逻辑、规范、可维护性,适合模块级代码整体预检。

指令模板:对这段代码做全面审查,包括安全漏洞、逻辑缺陷、编码规范、可维护性四个维度,按优先级排序问题,给出可直接落地的修改建议。


三、提升审查准确率的实用技巧

  1. 补充运行环境与业务背景

不要只粘贴代码,说明技术栈和使用场景,比如“这是 Node.js Express 的后端接口,接收前端用户传入的参数”,避免因上下文缺失导致误判。

  1. 明确重点排查方向

如果是支付、登录、权限等敏感模块,提前说明“这是支付回调逻辑,重点检查安全和状态一致性问题”,让AI聚焦核心风险。

  1. 要求标注风险等级

让输出按高危、中危、低危排序,优先处理安全类高危问题,再处理逻辑和规范类问题,避免在次要问题上浪费时间。

  1. 结合真实业务约束

如果有不能改动的规则(如兼容旧版接口、不能修改入参格式),提前说明,避免修复方案不符合实际业务限制。


四、常见问题与注意事项

  1. 如何区分误报和真实问题?

不要直接全量修改,结合业务场景判断:涉及用户可控输入的校验问题,大多是真实风险;仅内部调用的逻辑,可结合实际调用链路判断。拿不准的可以追问“这个问题在XX场景下是否有实际风险”。

  1. 问题太多,不知道先改哪个?

遵循优先级:先处理高危安全漏洞(注入、数据泄露、权限绕过),再处理中危逻辑隐患,最后处理编码规范类低危问题,逐步修复避免遗漏核心风险。

  1. 修复方案不符合业务要求?

补充业务约束重新生成,比如“不能修改接口入参格式,只能在服务端做校验”,AI会基于约束调整修复方案。

重要提醒:本功能属于辅助自查工具,无法替代专业的安全审计和渗透测试。涉及资金交易、用户隐私数据、核心系统的高危代码,必须由专业安全人员完成完整审计,不可仅依赖AI审查结果直接上线。