GitHub Copilot CLI /security-review 完整使用指南:代码安全审查实战

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

图1


/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:42
  SQL Injection risk detected
  Confidence: High
  User-controlled input `req.body.username` is concatenated directly into
  a SQL query string. Use parameterized queries or prepared statements.

图2


进阶:结合 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 Review

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  security-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Install Copilot CLI
        run: npm install -g @github/copilot-cli@latest

      - name: Run security review
        env:
          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 report
        uses: actions/upload-artifact@v4
        with:
          name: security-review-report
          path: 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,可以在不修改现有提示词的情况下切换底层模型。

图3


已知限制与注意事项

  • 实验性阶段/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 的策略管理强制版本要求。


延伸资源


本文内容基于 2026 年 5 月数据,GitHub Copilot CLI 1.0.51–1.0.53 版本。/security-review 功能仍处于实验阶段,建议关注官方 changelog 获取最新变更。

/security-review 加入团队的 PR checklist,并配合 /chronicle cost-tips 控制 Token 消耗,可以在不增加 CI 配置复杂度的前提下把安全检查提前到本地开发环节。下一步建议先在个人项目试跑一次全量 diff 审查,再制定团队的集成策略。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐