瀏覽代碼

Fix api_server: validate extra_params

StrayWarrior 1 天之前
父節點
當前提交
2d8669c10d
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      pqai_agent_server/api_server.py

+ 7 - 0
pqai_agent_server/api_server.py

@@ -413,6 +413,13 @@ def save_native_agent_configuration():
     extra_params = req_data.get('extra_params', {})
     if isinstance(extra_params, dict):
         extra_params = json.dumps(extra_params)
+    elif isinstance(extra_params, str):
+        try:
+            json.loads(extra_params)
+        except json.JSONDecodeError:
+            return wrap_response(400, msg='extra_params should be a valid JSON object or string')
+    if not extra_params:
+        extra_params = '{}'
 
     if not name:
         return wrap_response(400, msg='name is required')