Apifox 帮助文档
帮助文档
常见问题Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • Apifox Markdown
  • 更新日志
  • Road Map
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档
常见问题Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • Apifox Markdown
  • 更新日志
  • Road Map
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 安全管理
  • 帮助中心
  • 更新日志
  • 入门
    • 产品介绍
    • 私有化部署
    • 联系我们
  • 开始使用
    • 下载 Apifox
    • 基本概念
    • 注册与登录
    • 页面布局
    • 快速上手
      • 概述
      • 新建接口
      • 发送接口请求
      • 快捷请求
      • 添加断言
      • 新建测试场景
      • 分享 API 文档
      • 了解更多
    • 导入导出数据
      • 导出数据
      • 手动导入
      • 概述
      • 定时导入(绑定数据源)
      • 导入设置
      • 其它方式导入
        • 导入 cURL
        • 导入 Markdown
        • 导入 Insomnia
        • 导入 apiDoc
        • 导入 .har 文件
        • 导入 Apipost
        • 导入 Eolink
        • 导入 knife4j
        • 导入 NEI
        • 导入小幺鸡(docway)
        • 导入 Apizza
        • 导入 WSDL
        • 导入 Postman
        • 导入 OpenAPI/Swagger
  • 设计 API
    • 概述
    • 新建 API 项目
    • 接口基础知识
    • 接口设计规范
    • 模块
    • 请求体多示例配置
    • 响应组件
    • 常用字段
    • 全局参数
    • 历史记录
    • 接口评论
    • 批量管理
    • 通用接口文档
    • 基础知识
      • 接口基本信息
        • 请求头
        • HTTP/2
        • 请求参数编码解码
        • 请求参数与请求体
        • 请求 URL 与方法
      • 认证与授权
        • 概述
        • 支持的授权类型
        • Digest Auth
        • OAuth 1.0
        • OAuth 2.0
        • Hawk Authentication
        • Kerberos
        • NTLM
        • Akamai EdgeGrid
        • CA 和客户端证书
      • 响应与 Cookie
        • 概述
        • API 响应
        • 创建和发送 Cookie
        • 实际请求
        • 提取响应示例
      • 请求代理
        • 网页端中的请求代理
        • 分享文档中的请求代理
        • 客户端中的请求代理
      • API Hub
        • API Hub
    • 数据模型
      • 概述
      • 高级数据类型
      • 构建数据模型
      • 通过 JSON 等生成
      • 新建数据模型
      • 数据模型进阶
        • 使用 oneOf / anyOf / allOf 构建组合模式
        • 使用 discriminator 实现多态数据结构
    • 鉴权组件
      • 概述
      • 创建鉴权组件
      • 使用鉴权组件
      • 在线文档中的鉴权组件
    • 高级功能
      • 参数列表外观
      • 接口唯一标识
      • 关联测试场景
      • 接口状态
      • 接口字段
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 请求历史
    • 接口调试用例
    • 单接口用例
    • 动态值
    • 校验响应
    • 文档模式/调试模式
    • 生成代码
    • 环境和变量
      • 概述
      • 环境管理
      • 全局/环境/模块/临时变量
      • Vault Secrets(密钥库)
        • 功能简介
    • 前后置操作&脚本
      • 概述
      • 断言
      • 提取变量
      • 等待时间
      • 安全性
      • 数据库操作
        • 概述
        • MySQL
        • MongoDB
        • Redis
        • Oracle
      • 使用脚本
        • 概述
        • 前置脚本
        • 后置脚本
        • 公共脚本
        • pm 脚本 API
        • 使用 JS 类库
        • 响应数据可视化
        • 调用外部程序
      • 脚本示例
        • 断言示例
        • 脚本使用变量
        • 脚本读取/修改接口请求信息
      • 常见问题
        • 如何获取动态参数的真实值并加密?
        • 脚本运行后,提取的数字(bigint)精度丢失应该如何处理?
    • API 调试
      • SSE 调试
      • MCP 调试
      • GraphQL 调试
      • WebSocket 调试
      • Socket.IO 调试
      • SOAP/WebService
      • gRPC 调试
      • Webhook 调试
      • AI Agent Debugger
      • A2A Debugger
      • 使用请求代理调试
      • Dubbo 调试
        • 新建 Dubbo 接口
        • 调试 Dubbo 接口
        • Dubbo 接口文档
      • TCP(Socket)
        • Socket 接口功能简介
        • 报文数据处理器
  • Mock 数据
    • 概述
    • 智能 Mock
    • 自定义 Mock
    • Mock 优先级
    • Mock 脚本
    • 云端 Mock
    • 自托管 Runner Mock
  • 自动化测试
    • 概述
    • 编排场景用例
      • 新建场景用例
      • 测试步骤间传递数据
      • 测试流程控制条件
      • 从接口/用例同步数据
      • 跨项目导入接口/用例
      • 导出场景用例数据
    • 运行场景用例
      • 运行场景用例
      • 批量运行场景用例
      • 数据驱动测试
      • 共用测试数据
      • 定时任务
      • 管理其它项目接口的运行环境
    • 测试套件
      • 概述
      • 新建测试套件
      • 编排测试套件
      • 本地运行测试套件
      • 定时任务
    • 测试报告
      • 测试报告
    • API 测试
      • 性能测试
      • 集成测试
      • 端到端测试
      • 回归测试
      • 契约测试
  • Apifox CLI
    • 概述
    • 安装和运行 CLI
    • CLI 命令选项
    • CLI 运行测试套件
    • 使用 Apifox CLI 搭配 AI Agent
    • CI/CD
      • 概述
      • Git 提交自动触发测试
      • 与 Gitlab 集成
      • 与 Jenkins 集成
      • 与 Github Actions 集成
      • 与其它更多 CI/CD 平台集成
  • 发布 API 文档
    • 自定义域名
    • 概述
    • 快捷分享
    • SEO 设置
    • 页面布局设置
    • AI 相关特性
    • 发布文档站
    • 自定义页面代码
    • 查看 API 文档
    • 高级设置
      • 文档站搜索设置
      • 跨域代理
      • 文档站接入 Google Analytics
      • 文档左侧目录设置
      • 文档可见性设置
      • 在线 URL 链接规范
    • API 版本
      • 功能简介
      • 创建 API 版本
      • 发布 API 版本
      • 快捷分享 API 版本
  • 迭代分支
    • 功能简介
    • 新建迭代分支
    • 在迭代分支中改动 API
    • 在迭代分支中测试 API
    • 合并迭代分支
    • 管理迭代分支
    • AI 分支
  • 管理中心
    • 基本概念
    • 团队入驻
    • 审计日志
    • 管理团队
      • 团队基本操作
      • 成员角色与权限设置
      • 团队成员管理
      • 团队资源
        • 通用 Runner
        • 请求代理 Agent(Proxy)
        • 团队变量
      • 实时协作
        • 团队协作
    • 管理项目
      • 项目基本操作
      • 项目成员管理
      • 通知设置
        • 功能简介
        • 通知对象
        • 通知事件
      • 项目资源
        • 数据库连接
        • Git 仓库连接
    • 管理组织
      • 组织基本操作
      • 单点登录(SSO)
        • 功能简介
        • 为组织配置单点登录
        • 管理用户账号
        • 将组映射到团队
        • Microsoft Entra ID
      • SCIM 用户管理
        • 功能简介
        • Microsoft Entra ID
      • 组织资源
        • 自托管 Runner
      • 订单管理
        • 组织付费经理
    • 安全管理
      • 密钥扫描
  • 离线空间
    • 功能简介
  • IDEA 插件
    • 快速上手
    • 生成接口文档
    • 生成数据模型
    • 配置
      • 全局配置
      • 项目内配置
      • 可配置规则
      • 脚本工具
      • Groovy 本地扩展
    • 进阶配置
      • 注释规范说明
      • 框架支持
    • 常见问题
      • 常见问题
  • 浏览器扩展
    • Chrome
    • Microsoft Edge
  • Apifox AI 功能
    • 总览
    • 启用 AI 功能
    • 生成测试用例
    • 修改数据模型
    • 接口规范性检测
    • 接口文档完整性检测
    • 字段命名
    • 常见问题
  • Apifox MCP Server
    • 新版 MCP 内测
    • 概述
    • 通过 MCP 使用 Apifox 项目内的 API 文档
    • 通过 MCP 使用公开发布的 API 文档
    • 通过 MCP 使用 OpenAPI/Swagger文档
  • 最佳实践
    • 概述
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
    • 如何加密/解密接口数据
    • Jenkins 定时触发任务
    • 如何计算 AI 问答成本
    • 与其他成员共用数据库连接配置
    • 通过 CLI 运行包含云端数据库连接配置的测试场景
    • 通过 Runner 运行包含云端数据库连接配置的测试场景
    • Apifox 测试步骤之间怎么传递数据?
  • 账号&应用设置
    • 账号设置
    • API 访问令牌
    • 通知
    • 语言设置
    • 快捷键
    • 网络代理
    • 数据备份与恢复
    • 更新 Apifox
    • 实验性功能
  • 身份验证 & Auth 鉴权指南
    • 什么是 API Key
    • 什么是 Bearer Token
    • 什么是 JWT
    • 什么是 Basic Auth
    • 什么是 Digest Auth
    • 什么是 OAuth 1.0
    • 什么是 OAuth 2.0
      • 什么是 OAuth 2.0
      • 授权码授权类型
      • 授权码授权类型,带有 PKCE
      • 隐式授权类型
      • 密码凭证授权类型
      • 客户端凭证授权类型
  • 服务与隐私协议
    • 服务协议
    • 隐私协议
    • 服务等级协议
  • 参考资料
    • API 设计优先理念
    • JSON Schema 介绍
    • JSONPath 介绍
    • XPath 介绍
    • Apifox Markdown 语法
    • CSV 格式规范
    • 正则表达式
    • 安装 Java 环境
    • Runner 运行环境
    • 常见编程语言对应的数据类型
    • Socket 粘包和分包问题
    • 词汇表
    • Apifox Swagger 扩展
      • 概述
      • x-apifox-folder
      • x-apifox-status
      • x-apifox-name
      • x-apifox-maintainer
    • Apifox JSON Schema 扩展
      • 概述
      • x-apifox-mock
      • x-apifox-orders
      • x-apifox-enum
    • 动态值表达式
  • 常见问题
  1. 安全管理

密钥扫描

密钥扫描可帮助你检测 Apifox 资产中可能暴露的敏感信息,例如 API 密钥、访问令牌、凭据、Webhook URL 以及其他敏感值。你可以使用密钥扫描查看检测到的密钥、定位其出现位置、管理规则,并跟踪某个发现是否已处理。
密钥扫描适用于 Enterprise 计划。报告、分析和规则管理的访问权限取决于你的组织、团队和项目权限。

使用密钥扫描可以做什么#

使用密钥扫描,你可以:
查看组织内各团队的密钥风险报告。
查看团队中检测到的密钥。
定位检测到的密钥出现的位置。
检查检测到的密钥是否出现在已发布的文档中。
将发现标记为已处理,或重新打开已处理的发现。
管理内置规则和团队自定义规则。
查看团队级别的密钥检测分析数据。
密钥扫描可帮助你检测和查看可能暴露的密钥。它不会自动为你吊销、轮换、移除或替换密钥。

权限#

密钥扫描遵循你的组织、团队和项目权限。
角色可用操作
组织所有者 / 管理员查看组织级别的密钥扫描报告。
团队所有者 / 管理员查看团队发现、管理自定义规则、处理或重新打开发现,并查看分析数据。
团队成员 / 访客根据其项目访问权限查看密钥扫描信息。
团队成员和访客只能查看其有权访问的项目中的发现。他们无法管理自定义规则或查看团队分析数据。

组织密钥扫描报告#

组织级别报告可帮助组织所有者和组织管理员识别哪些团队存在未处理的密钥风险。
1
前往你的组织设置。
2
在安全菜单中,点击「密钥扫描」。
image.png
组织报告提供团队级别概览。页面中的汇总卡片可能包含以下信息:
团队数
未处理
已发布泄露
规则
严重
团队级别报告表格可能包含以下信息:
团队
团队所有者
管理员用户
未处理
未处理的已发布风险
规则
暴露规则
总出现次数
扫描状态
最近发现
使用此报告识别受影响的团队,并联系对应的团队所有者或团队管理员进行后续处理。

团队密钥扫描#

团队级别的密钥扫描可从团队管理中访问。
image.png
1
打开目标团队。
2
前往团队管理。
3
点击「密钥扫描」。
团队密钥扫描包含以下部分:
部分描述
「已检测密钥」查看检测到的密钥发现及其状态。
「规则」查看内置规则并管理团队自定义规则。
「分析」查看团队级别的密钥检测统计数据。仅团队所有者和团队管理员可用。

查看已检测密钥#

打开「已检测密钥」,查看当前团队中检测到的密钥发现。
image.png
一个发现表示按规则和安全指纹分组的检测结果。一个发现可能出现在多个位置。每个出现的位置称为一个命中位置。
发现列表包含如下信息:
密钥
规则
检测位置
命中位置
风险
最近检测
位置与资产
动态
密钥扫描支持以下发现状态:
状态描述
未处理该发现仍需查看或处理。
已处理该发现已处理,或已确认不需要进一步操作。
你可以按以下条件筛选发现:
状态
全部项目
全部规则
全部资源类型
处理方式
搜索已脱敏密钥、资源或规则
密钥值会在密钥扫描中进行掩码处理。Apifox 不会在发现列表或详情页中显示完整的原始密钥值。

查看发现详情#

点击「已检测密钥」中的某个发现,可打开其详情页。
详情页会展示该发现的摘要信息、处理方式、处理记录和所有命中位置。命中位置信息可能包括:
项目
资源类型
路径
字段路径
已脱敏密钥
已脱敏片段
是否已发布
最近检测
添加人
跳转入口
如果没有可见命中位置,页面可能显示「暂无可见命中位置。」
如果没有处理记录,页面可能显示「暂无处理记录。」
你可以通过「跳转」打开密钥出现的项目资源。根据资源类型不同,该链接可能跳转到 API、请求、环境变量、团队变量、响应示例、Markdown 文档、数据模型、脚本或其他受支持的资产。
如果来源资源已被删除、移动,或你不再拥有访问权限,Apifox 可能无法打开准确位置。

处理或重新打开发现#

查看某个发现后,你可以更新其处理状态。
可用操作包括:
处理
已吊销
误报
不处理
重新打开
支持的处理方式包括:
处理方式使用场景
已吊销暴露的密钥是真实密钥,并且你已在 Apifox 外部吊销、轮换或使其失效。
误报检测到的值并非实际密钥。
不处理检测到的值是真实密钥,但你的团队决定不进行更改。
如果已处理的发现仍需后续处理,你也可以重新打开它。
1
打开「已检测密钥」。
2
选择一个或多个发现。
3
选择处理操作,例如「已吊销」「误报」或「不处理」。
4
如有需要,添加备注。
5
确认更新。
将发现标记为已处理只会更新其在 Apifox 中的状态。它不会吊销、轮换或使实际密钥失效。如果该密钥是真实密钥,请在其签发服务中进行处理。

管理规则#

打开「规则」,查看和管理检测规则。
密钥扫描支持两类规则:
规则类型描述
内置Apifox 提供的规则。内置规则为只读。
自定义由团队所有者或团队管理员创建的团队级别规则。
「规则」页面可能包含以下标签:
内置规则
团队自定义规则
内置
自定义
已启用
已禁用
只读

内置规则#

内置规则由 Apifox 管理。你可以查看和搜索它们,但不能编辑、删除、启用或禁用它们。
出于安全原因,Apifox 不会公开内置规则的内部正则表达式。

自定义规则#

团队所有者和团队管理员可以创建自定义规则,用于检测组织特定的密钥格式。
点击「新增」,可打开「新建自定义规则」弹窗并创建自定义规则。
一个自定义规则可能包含:
名称
描述
正则表达式
关键词
启用
标志
分类
严重程度
置信度
示例值
编辑已有自定义规则时,弹窗标题为「编辑自定义规则」。
自定义规则限制包括:
项目限制
每个团队的自定义规则数最多 5 个
正则表达式最多可输入 256 个字符
关键词最多可输入 10 个
每个关键词最多可输入 64 个字符
在自定义规则弹窗中,你也可以使用「测试规则」验证示例值是否匹配规则。测试结果可能包含:
匹配数量
耗时
错误码
已脱敏
自定义规则可以启用或禁用。
状态描述
已启用该规则处于启用状态,可产生新的发现。
已禁用该规则处于停用状态,不会产生新的发现。
只有团队所有者和团队管理员可以创建、编辑、删除、启用或禁用自定义规则。

查看分析数据#

团队所有者和团队管理员可以打开「分析」,查看团队级别的密钥扫描统计数据。
image.png
「分析」页面可能包含以下标签和模块:
团队报告
修复率
已处理秘钥
活跃风险存量
公开暴露风险
严重密钥
高风险项目排行
风险引入人排行
最常泄露规则
按资产类型分布
当没有相关数据时,页面可能显示以下空状态:
暂无公开暴露风险。
暂无风险引入人。
暂无活跃项目密钥。
暂无暴露密钥类型。
暂无资产分布数据。
使用分析数据了解密钥风险集中在哪些位置,并确定后续处理优先级。

扫描行为#

密钥扫描会异步运行,结果不是实时的。界面中可能显示以下提示:
扫描异步运行,结果不是实时的。
最近检测表示扫描最近一次检测到该发现的时间。
这意味着:
新增或更新的内容可能不会立即出现在扫描结果中。
扫描结果会根据异步扫描任务更新。
扫描状态可能显示为未开始、排队中、扫描中、空闲或失败。
如果你有相应权限,界面中可能出现以下扫描相关操作或状态信息:
运行全量重新扫描
重试失败扫描
扫描任务已提交。
提交扫描任务失败。
最近全量扫描
最近增量扫描
最近失败扫描
从未
密钥扫描可以帮助检测可能暴露的密钥,但无法保证发现所有可能的密钥格式。请继续遵循你团队的安全审查和凭据管理实践。

支持的资产类型#

密钥扫描可以在受支持的团队和项目资产中检测密钥,包括:
HTTP API
API 用例
HTTP 请求
项目模块
项目模块变量
响应示例
Markdown 文档
数据模型
环境变量
全局变量
团队变量
公共脚本
公共参数
每个命中位置显示的具体来源位置取决于资源类型以及你的访问权限。

安全说明#

为保护敏感信息,Apifox 会谨慎处理检测到的密钥:
UI 中不会显示完整密钥值。
发现中会显示已脱敏的值和已脱敏的片段。
发现会使用安全指纹进行分组,而不是暴露原始密钥值。
对发现的访问遵循组织、团队和项目权限。
自定义规则的正则表达式值仅对具备所需团队管理权限的用户可见。

限制#

密钥扫描不会:
阻止用户输入密钥。
阻止 API 文档发布。
自动吊销或轮换外部密钥。
自动从源资源中移除密钥。
自动将密钥替换为变量或 Vault 引用。
扫描外部 GitHub 或 GitLab 仓库。
保证完整检测所有可能的密钥格式。
如果检测到真实密钥,请从源位置移除该密钥,并在其签发的外部系统中吊销或轮换它。
上一页
组织付费经理
下一页
功能简介
Built with