gaoren002
|
d74e669a23
|
feat(security-audit): add narrow blocking audit scope
|
2026-07-31 01:47:53 +00:00 |
|
shaw
|
bfbe113f5e
|
fix(security-audit): 解密失败不再吞掉整份配置,修复升级后配置消失且无法保存的死锁 (#4887)
根因:prompt audit 是共享 TOTP_ENCRYPTION_KEY 加密器的功能中唯一不校验
EncryptionKeyConfigured 的落点。未配置固定密钥的部署每次重启自动生成新
密钥,v162 保存的节点 Token 密文在升级重启后永久无法解密,Reload 中
ActiveFromStorage 整体失败导致快照永远装不上:管理端 GET 回退默认 v1
(v166 起为 503),而保存路径直读数据库做 CAS 版本对比,必然冲突——
配置既看不见也改不掉。PR #4893 仅改变了报错形态,未修复根因。
修复:
- ActiveFromStorage 对单节点解密失败降级容忍:该节点运行时禁用并标记
TokenInvalid,配置整体照常激活;管理端恢复显示真实版本号,重新输入
Token 即可自愈(密文保留,密钥恢复后自动复原)
- blocking 意图下零可用节点时 evaluator 仍返回 unavailable,请求照旧
被拒,fail-closed 语义不回归;async 意图下 enqueue 直接 drop 并告警
- Save 在未配置固定加密密钥时拒绝保存新 Token(与 TOTP/Ollama/备份
一致的门控),错误码 prompt_audit_encryption_key_required
- token_status 新增 invalid 状态,前端凭据列与编辑框提示重新输入
- 新增 config_token_invalid 告警日志(集合变化时记录一次,不随 5s
刷新刷屏)
|
2026-07-28 09:31:36 +08:00 |
|
wucm667
|
56b5f0df68
|
fix(security-audit): reject unavailable prompt config
|
2026-07-26 14:33:59 +08:00 |
|
abbzbb
|
62846bb074
|
fix(security-audit): 仅在 blocking 意图下 fail-closed,修复无法关闭审计
configUntrusted 不再单独强制 ModeBlocking,避免默认关闭部署在配置
加载失败时对全部请求返回 prompt_guard_unavailable;成功保存配置后
清除 untrusted,确保管理员关闭提示词审计能立即生效。
Fixes #4560
|
2026-07-18 23:57:45 +08:00 |
|
 mt21625457andCursor
|
0f7f8a317e
|
fix(security-audit): close prompt-audit bypass and privacy gaps
Stop WebSocket follow-up turns from reusing a request-wide audit cache, scan
client-controlled instruction fields, fail closed on stale weaker configs, and
tighten preview/SSRF controls including persisted request stage.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-07-17 08:46:57 +08:00 |
|
mt21625457
|
d11bdb13f5
|
feat(security-audit): add OpenAI-compatible prompt auditing
|
2026-07-17 00:39:39 +08:00 |
|