
    \iL                         S r SSKrSSKJrJrJr  SSKJr  SSKJ	r	  \" S\
SS9rS	rS
 r\R                  SS/S9\	S 5       5       r\R                  SS/S9\	S 5       5       rg)u   
AI 沙箱策略管理接口
    N)	Blueprintrequestjsonify)SystemConfig)admin_requiredsandbox_apiz/api/admin/sandbox)
url_prefixai_sandbox_policyc                      [         R                  R                  [         R                  R                  [         R                  R	                  [
        5      S5      5      n U // S.$ )Nz../../../ge10allowed_pathsforbid_commands)ospathrealpathjoindirname__file__)base_dirs    ;/Users/yu22x/Desktop/ge/ctf/app/routes/admin/sandbox_api.py_default_sandboxr      sD    wwRWW__X-F XYH"     z/configGET)methodsc                  v    [         R                  " [        S 5      =(       d
    [        5       n [	        SU S.5      $ )NT)successconfig)r   
get_configSANDBOX_KEYr   r   )cfgs    r   get_sandbox_configr!      s/     
!
!+t
4
J8H8JCts344r   POSTc                  p   [         R                  " 5       =(       d    0 n U R                  S/ 5      nU R                  S/ 5      nU(       d  [        SSS.5      S4$ U H<  n[        R
                  R                  U5      (       a  M)  [        SSU 3S.5      S4s  $    U Vs/ s H"  n[        R
                  R                  U5      PM$     snU Vs/ s H)  oDR                  5       (       d  M  UR                  5       PM+     snS.n[        R                  " [        US	S
S9  [        SSUS.5      $ s  snf s  snf )Nr   r   Fu   allowed_paths 不能为空)r   messagei  u   路径不存在: r   u   AI 沙箱策略ai)descriptioncategoryTu   配置已更新)r   r$   r   )r   get_jsongetr   r   r   existsr   stripr   
set_configr   )datar   r   pcr    s         r   update_sandbox_configr0      s    #DHH_b1Mhh0"5O55QRSUXXX ww~~a  u;LQC9PQRTWWW 
 8EE}!"''**1-}E/>L!'')IAGGILC K:KVZ[t0ASQRR	 FLs    )D.D3+D3)__doc__r   flaskr   r   r   app.models.databaser   app.services.auth.decoratorsr   __name__sandbox_api_bpr   r   router!   r0    r   r   <module>r9      s    
 - - , 7=(?ST! i%15  25
 i&2S  3Sr   