ai-config-permission-and-key-binding.sh
靶子: http://localhost:20098 容器: wt_h8_tp8
已登录 zp024 (vip=10, userauth=[12,1])
PASS 低权管理员打 aiquanxianpeizhi → 被闸拒(拒绝形态 + 拒绝文案)
PASS 低权管理员打 aiquanxianpeizhi_post → 被闸拒(拒绝形态 + 拒绝文案)
PASS 低权管理员打 ai_test_connection → 被闸拒(拒绝形态 + 拒绝文案)
PASS 低权管理员打 realname_test_connection → 被闸拒(拒绝形态 + 拒绝文案)
PASS 守卫:低权管理员**有权限**的页(位 12)仍返 200
PASS 守卫:超管(vip=9)打开 AI 配置页仍返 200
PASS 改 baseurl + 空 key → 拒绝复用已存密钥(严格等于拒绝文案,零外送)
PASS 改 baseurl + 自带 key → 照常出站(未被闸误伤)
PASS 守卫:baseurl 未变 + 空 key → 仍走复用路径(返回='{'summary': "模型回应正常:Pong! 🏓 \nLet me know if you'd like help", 'elapsed_ms': 781, 'http': 200}')
PASS 改 url + 掩码 key → 保存被拒且拒因点名模态(hit=1 named=1)
PASS └ 被拒时 jnc_corp_secret 的 ai_* 全部字节与时间戳不变(零写入)
PASS t2t 带新完整 key 时不被拒(拒因只点 i2t:i2t=1 t2t=0)
PASS └ 仍然零写入(校验在任何写入之前)
PASS 守卫:url 未变 + 掩码 key → 合法保存未被闸误伤
PASS └ 合法 no-op 保存后 ai_* 数据仍逐字节不变
PASS=15 FAIL=0