Apifox 客户端支持对部分涉及本地资源访问或代码执行能力的操作进行安全控制。你可以在「安全性」设置中,为可信项目提前配置可使用的能力范围;当项目未提前授权但触发相关操作时,客户端会在执行前弹出确认提示,经用户确认后再继续执行。通过安全性设置,可以降低敏感能力被误用或非预期调用的风险,使本地能力调用过程更加可控。进入安全性设置#
1
打开 Apifox 客户端,点击右上角「设置」图标
3
在「安全性」页面中,配置数据库连接、调用外部程序、动态加载 npm 包等能力的授权范围
高风险操作授权确认#
部分能力会涉及本地资源访问、外部程序调用或第三方依赖加载。为降低相关能力被误用的风险,Apifox 对这些操作增加了安全授权确认机制。数据库连接:控制项目是否可以在前后置操作中使用已配置的数据库连接,降低未经授权的项目或脚本访问数据库资源,或通过 SSH 隧道访问内网资源的风险
调用外部程序:控制项目是否可以调用「外部程序」目录中的脚本或可执行代码文件,降低本地程序被非预期调用的风险
动态加载 npm 包:控制项目是否可以在运行过程中安装并加载 npm 包,降低第三方依赖被误用带来的安全风险
你可以在「安全性」设置中,分别开启或关闭相关能力,并为可信项目配置授权范围。静态配置:提前授权可信项目#
如果你确认某个项目需要使用数据库连接、调用外部程序或动态加载 npm 包等能力,可以在对应能力下方的「授权项目」中添加该项目。配置完成后,被授权项目在使用对应能力时,可以按照当前授权规则正常执行。建议仅为可信项目开启相关能力,并定期检查授权项目列表,避免不再使用或不再可信的项目继续保留敏感能力权限。
动态授权:运行时授权确认#
如果项目未提前授权,但在运行过程中触发了相关高风险操作,客户端会在执行前弹出授权确认提示。例如,当未提前授权的项目通过前后置脚本调用外部程序时,客户端会提示本次操作可能越过沙盒环境,并询问是否允许当前项目使用该能力。用户确认后,相关操作才会继续执行;如果取消,则本次操作不会继续执行。这种「静态配置 + 动态授权」确认机制,可以在不影响正常使用的前提下,为敏感能力增加额外的确认环节。
外部程序调用范围限制#
为降低脚本执行带来的安全风险,Apifox 进一步收紧了外部程序调用范围。现在,客户端和 CLI 仅允许调用「外部程序」目录中的脚本或可执行代码文件。前后置脚本、自动化流程或 CLI 场景中,如果需要调用外部程序,需要先将相关脚本或可执行代码文件放置在「外部程序」目录中,再通过对应方式调用。这样可以避免脚本从任意路径调用本地程序,降低因执行边界过大带来的潜在安全风险。executeAsync 的 command 参数限制#
通过 executeAsync 调用外部脚本时,Apifox 同时限制了 command 参数的可选范围,避免脚本执行命令被随意指定。目前,仅在调用 Python 脚本时支持将 command 指定为 python3。如果现有脚本依赖其他 command 参数值,建议根据新的执行规则调整脚本调用方式,避免影响原有流程的正常执行。使用建议#
1.
建议仅在确有需要时开启数据库连接、调用外部程序、动态加载 npm 包等能力,并只授权给可信项目。
2.
如果你的自动化流程、前后置脚本或 CLI 任务中涉及外部程序调用,请同步检查脚本路径和 command 参数是否符合新的执行规则。
3.
如果项目不再需要某项能力,建议及时在「安全性」设置中关闭对应 开关或移除授权项目。