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