GitHub Copilot CLI /security-review 完整使用指南:代码安全审查实战
GitHub Copilot CLI 的 /security-review 命令是一个终端原生的代码安全审查工具,在 2026 年 5 月 20 日随 1.0.51 版本发布(实验性功能),让开发者可以在提交 Pull Request 之前直接从命令行扫描代码变更中的潜在安全漏洞。它不替代 SAST 工具,而是把安全审查提前到开发者的本地工作流,覆盖注入风险、XSS、权限缺失、密钥泄漏等高频漏洞类型。

/security-review 是什么,能检测哪些问题
/security-review 命令分析当前工作目录的代码变更,针对高置信度安全问题给出上下文、严重程度和置信度评级,帮助开发者在代码进入代码审查流程前自查。
根据 GitHub 官方社区公告(2026 年 5 月 21 日),该命令重点检测以下类别:
| 漏洞类型 | 典型场景 |
|---|---|
| 注入风险 | SQL 查询、Shell 命令、模板引擎中的动态拼接 |
| 跨站脚本(XSS) | 用户输入未经转义直接渲染到 HTML |
| 访问控制缺失 | 缺少鉴权检查、信任客户端传入的敏感参数 |
| 认证与会话问题 | Token 处理不安全、高风险认证流程 |
| 密钥与敏感数据暴露 | 日志中打印 Token、凭据泄漏、私有数据误处理 |
| SSRF 风险 | 未充分校验的外部 URL 请求 |
/security-review的设计目标是让开发者快速得到答案:"我刚写的这段代码,有没有引入安全问题?"——GitHub 官方社区,2026 年 5 月
环境要求与安装
/security-review 需要 GitHub Copilot CLI 1.0.51 或更高版本。
检查当前版本
copilot --version
升级到最新版本
# npm 安装方式
npm update -g @github/copilot-cli# 或通过 Copilot CLI 自身升级
/update
确认实验性功能已启用
/security-review 目前是实验性命令,需要确保 Experimental 模式处于激活状态:
# 查看当前实验性功能状态
/settings# 或直接启动时开启实验模式
copilot --experimental
启用后,CLI 顶部 header 会持续显示 Experimental 标识(1.0.51 版本改进了此提示方式,从一次性弹窗改为固定显示)。
基础用法:三步完成安全审查
Step 1:暂存你的代码变更
/security-review 分析的是当前工作区的 diff,建议先 git add 要审查的文件:
git add src/api/auth.js src/utils/query-builder.js
Step 2:在 Copilot CLI 中执行安全审查
# 启动 Copilot CLI
copilot# 在 CLI 内运行安全审查
/security-review
Step 3:读取审查报告
命令输出格式为每条问题包含:
- 位置:文件名 + 行号
- 严重程度:Critical / High / Medium / Low
- 置信度:High / Medium
- 描述:问题上下文和具体风险说明
- 建议修复方向
示例输出片段:
[HIGH] src/api/auth.js:42SQL Injection risk detectedConfidence: HighUser-controlled input `req.body.username` is concatenated directly intoa SQL query string. Use parameterized queries or prepared statements.

进阶:结合 1.0.51 其他新功能
1.0.51 版本不只带来了 /security-review,整个版本围绕"安全 + 成本 + 会话管理"做了系统性更新。
会话恢复(Session Resume)
# 通过 session-id 恢复上次的安全审查会话
copilot --session-id=<your-session-id># 或恢复最近一次会话
copilot --continue
对安全审查场景特别有用:如果中途需要修复代码再重新审查,可以直接续上之前的上下文,而不用重新描述项目背景。
自定义终端状态栏
# ~/.copilot/settings.json 中配置 statusLine
{"statusLine": {"show": true,"fields": ["model", "context-window", "git-branch"]}
}
状态栏实时显示当前模型、上下文用量和 Git 分支,审查时一目了然。
/chronicle cost-tips:优化 Token 用量
安全审查会消耗一定 Token,/chronicle cost-tips 可以分析你的历史使用模式,给出个性化建议:
/chronicle cost-tips
示例输出:
1. 用 @文件名 引用文件,而非粘贴完整内容
2. 在同一会话内迭代,不要频繁新开会话
3. 安全审查前先 /compact 压缩上下文
4. 常见问题可转为自定义 agent,减少重复提示词
preMcpToolCall Hook(高级)
1.0.51 新增了 preMcpToolCall 钩子,允许在 MCP 工具调用前注入元数据控制逻辑,适合团队统一审计安全审查的外部工具调用行为:
// .github/hooks/preMcpToolCall.json
{"hook": "preMcpToolCall","action": "log","destination": "audit-log.jsonl"
}
在 CI/CD 流程中集成安全审查
将 /security-review 纳入 PR 前检查的推荐做法:
# .github/workflows/security-review.yml
name: Copilot Security Reviewon:pull_request:types: [opened, synchronize]jobs:security-review:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4with:fetch-depth: 0- name: Install Copilot CLIrun: npm install -g @github/copilot-cli@latest- name: Run security reviewenv:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}run: |copilot auth login --with-token <<< "$GITHUB_TOKEN"copilot --non-interactive /security-review --output json > security-report.json- name: Upload reportuses: actions/upload-artifact@v4with:name: security-review-reportpath: security-report.json
建议将安全报告作为 PR 评论自动回写,团队可以在 code review 界面直接看到 AI 安全审查结果。
/security-review 与其他安全工具对比
开发者常见的问题是:它和现有 SAST 工具(如 CodeQL、Semgrep)的关系是什么?
| 维度 | /security-review |
CodeQL | Semgrep |
|---|---|---|---|
| 触发时机 | 本地 diff,提交前 | CI/CD,推送后 | CI/CD 或本地 |
| 分析粒度 | 当前变更 | 全代码库 | 规则匹配 |
| 上手成本 | 零配置,CLI 内直接用 | 需配置 workflow | 需维护规则集 |
| 结果形式 | 自然语言 + 上下文 | SARIF 格式 | 多格式 |
| 误报率 | 低(高置信度过滤) | 中(规则全面) | 取决于规则 |
| 价格 | 含在 Copilot Pro | 免费(公开仓库) | 免费/Pro |
三者定位不同,/security-review 适合作为第一道快速筛查,CodeQL 和 Semgrep 做深度扫描。
在模型 API 调用层面,部分团队会用兼容 OpenAI 标准的推理服务对接 Copilot CLI 的自定义 Agent——例如七牛云 AI 推理服务兼容 OpenAI/Anthropic 双 API,可以在不修改现有提示词的情况下切换底层模型。

已知限制与注意事项
- 实验性阶段:
/security-review目前标记为 experimental,输出格式和能力可能随版本迭代变化 - 分析范围:仅分析代码层面可推断的安全模式,不执行动态分析或运行时检测
- 不能替代渗透测试:业务逻辑漏洞、配置错误、基础设施安全不在覆盖范围内
- prompt injection 风险:如果被审查代码库的 README 中存在恶意注入指令,Copilot CLI 本身也可能受到影响(详见 PromptArmor 2026 年的披露报告),建议配合
--deny-tool参数收紧权限
常见问题
Q:/security-review 命令不显示怎么办?
检查版本是否 ≥ 1.0.51,同时确认实验性功能已开启。运行 copilot --version 确认版本,然后在 CLI 内执行 /help 查看是否出现 security-review 条目。
Q:只想审查某一个文件,不审查所有 diff?
目前 /security-review 默认扫描全部 diff。可以通过先 git add 特定文件(使用 git stash 隐藏其余变更),缩小分析范围。
Q:安全审查结果如何导出给团队?
加 --output json 参数可输出机器可读的 JSON 报告,配合 CI/CD 流程自动发送到 Slack、飞书或作为 PR 评论回写。
Q:/chronicle cost-tips 和 /chronicle tips 有什么区别?
/chronicle tips 分析使用习惯给出效率建议;/chronicle cost-tips(1.0.51 新增)专门聚焦 Token 用量和成本优化,输出针对你实际用法的降本策略。
Q:团队成员的 Copilot CLI 版本不同,能统一吗?
在 .github/copilot-instructions.md 中声明最低版本要求,或通过 /update 命令让成员统一升级。企业用户可以通过 GitHub Enterprise 的策略管理强制版本要求。
延伸资源
- AI 编程工具配置与模型接入指南:主流 AI 模型集成 IDE 完整参考
- 多模型 API 对比与接入:七牛云 AI 大模型广场
- GitHub Copilot CLI 官方文档:github.com/github/copilot-cli
- GitHub 官方安全审查功能公告:GitHub Community Discussion #196523
本文内容基于 2026 年 5 月数据,GitHub Copilot CLI 1.0.51–1.0.53 版本。/security-review 功能仍处于实验阶段,建议关注官方 changelog 获取最新变更。
把 /security-review 加入团队的 PR checklist,并配合 /chronicle cost-tips 控制 Token 消耗,可以在不增加 CI 配置复杂度的前提下把安全检查提前到本地开发环节。下一步建议先在个人项目试跑一次全量 diff 审查,再制定团队的集成策略。
