Copilot 边界:生成=草稿;安全/并发/依赖/配置=强制人审;PR 模板勾选+禁止直接合 main。

可以放心的自动化

DTO/POJO、OpenAPI 客户端骨架、JUnit/pytest 空壳、正则初稿(仍要测)、日志样板、国际化 key 批量。

这些失败代价低,Review 重点看命名与项目规范即可。

必须人审的代码类型

鉴权授权、加密与密钥、SQL/NoSQL 查询、文件上传、反序列化、依赖引入(license 冲突)、Docker/K8s 生产配置、限流熔断。

Reviewer 对 AI 生成段加倍抽样,不是歧视,是风险加权。

  • SQL:参数化
  • 依赖:SBOM 检查
  • 密钥:永不进提示词

PR 流程改造

PR 描述勾选:是否含 AI 生成、是否触及安全清单、是否跑过 SAST/单元测试。禁止 Copilot 直接 push main;pre-commit 跑 linter 与 secret scan。

大段 AI 生成要拆小 PR,否则 Review 形同虚设。

提示词与上下文安全

不要把 .env、客户数据、未公开漏洞细节贴进 IDE 聊天。企业版 Copilot 仍可能日志;用 synthetic data 做示例。

测试责任

AI 写的测试可能只 assert true;要求 mutation test 或 coverage 门槛 on diff lines。关键模块缺失测试不准合并。

团队培训五句

Copilot 不背锅;生成=草稿;安全清单必查;小步 PR;license 与 secret 扫描非可选。

Code Review 清单(AI 前后各一遍)

合并前人工必查:鉴权与权限边界、SQL/命令注入、日志是否打印 PII、依赖许可证、性能热点路径、回滚方案。Copilot 适合 boilerplate、测试骨架、注释与重构建议,不适合替你做威胁建模。

团队规范:凡 AI 生成的安全相关 diff,必须第二人复核;凡触及支付/密钥/用户数据的文件,禁止在未脱敏仓库上调用云端补全。把「AI 生成」标签写进 PR 描述,Reviewer 会自然提高警觉,比隐藏来源更安全。

  • 安全/密钥:双人复核
  • 性能/数据:人工 profile
  • 许可证:法务白名单