Apidog 用戶端支援針對某些涉及本機資源存取或程式碼執行能力的操作進行安全控制。在 Security 設定中,你可以預先設定受信任專案可用的能力範圍。如果某個專案尚未被預先授權,但觸發了相關操作,用戶端會在執行前顯示確認提示,並且只有在使用者確認後才會繼續。安全性設定有助於降低敏感能力被誤用或意外呼叫的風險,讓本機能力呼叫更可控。存取安全性設定#
1
開啟 Apidog 用戶端,並點擊右上角的 Settings 圖示
2
在 Preferences 中選擇 Security
3
在 Security 頁面上,設定資料庫連線、呼叫外部程式,以及動態載入 npm 套件等能力的授權範圍
高風險操作的授權確認#
某些能力涉及本機資源存取、外部程式呼叫或第三方相依套件載入。為了降低誤用風險,Apidog 針對這些操作新增了安全授權確認機制。資料庫連線:控制專案是否可以在操作前或操作後腳本中使用已設定的資料庫連線,降低未授權專案或腳本存取資料庫資源,或透過 SSH tunnel 存取內部網路資源的風險
呼叫外部程式:控制專案是否可以呼叫 External Programs 目錄中的腳本或可執行程式碼檔案,降低本機程式被意外呼叫的風險
動態載入 npm 套件:控制專案是否可以在執行期間安裝並載入 npm 套件,降低因誤用第三方相依套件所造成的安全風險
你可以在 Security 設定中分別啟用或停用這些能力,並為受信任的專案設定授權範圍。靜態設定:預先授權受信任專案#
如果你確認某個專案需要使用資料庫連線、呼叫外部程式或動態載入 npm 套件等能力, 可以將該專案加入對應能力下的 Authorized Projects。完成設定後,已授權的專案即可根據目前的授權規則使用對應能力。我們建議僅對受信任的專案啟用這些能力,並定期檢查已授權專案清單,避免不再使用或不再受信任的專案仍保留敏感能力的權限。
動態授權:執行期間授權確認#
如果某個專案尚未被預先授權,但在執行期間觸發了相關高風險操作,用戶端會在執行前顯示授權確認提示。例如,當尚未被預先授權的專案透過操作前或操作後腳本呼叫外部程式時,用戶端會提示此操作可能會繞過沙盒環境,並詢問是否允許目前專案使用此能力。只有在使用者確認後,相關操作才會繼續;如果使用者取消,操作將不會繼續。這種靜態設定 + 動態授權確認機制,會在不影響正常使用的情況下,為敏感能力增加額外的確認步驟。
外部程式呼叫限制#
為了降低腳本執行造成的安全風險,Apidog 進一步限制了外部程式呼叫的範圍。現在,用戶端和 CLI 只允許呼叫 External Programs 目錄中的腳本或可執行程式碼檔案。在操作前或操作後腳本、自動化工作流程或 CLI 情境中,如果你需要呼叫外部程式,必須先將相關腳本或可執行程式碼檔案放入 External Programs 目錄,然後再使用對應的方法呼叫它。這可防止腳本從任意路徑呼叫本機程式,並降低因執行邊界過於寬鬆而造成的潛在安全風險。executeAsync 的 command 參數限制#
透過 executeAsync 呼叫外部腳本時,Apidog 也會限制 command 參數的允許值,以防止任意指定腳本執行命令。目前,在呼叫 Python 腳本時,command 只能設定為 python3。如果既有腳本依賴其他 command 參數值,我們建議根據新的執行規則調整腳本呼叫方式,以避免影響既有工作流程。1.
僅在必要時啟用資料庫連線、呼叫外部程式和動態載入 npm 套件等能力,並且只授權受信任的專案。
2.
如果你的自動化工作流程、操作前或操作後腳本,或 CLI 任務涉及外部程式呼叫,請檢查腳本路徑和 command 參數是否符合新的執行規則。
3.
如果某個專案不再需要某項能力,請立即在 Security 設定中停用對應的切換開關,或移除已授權專案。