mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-10-19 14:07:36 +02:00
fix: close review findings in context memory, attack chain and blackboard
Attack chain: failure text goes to textContent, so opt out of i18next interpolation escaping that rendered upstream errors as //"; give regenerate its own message key; keep the summary card expanded across a 409 refresh; probe for a cached graph before parsing last_react_input so polling no longer re-reads a multi-megabyte column; hide the card in the node-details exclusive state and bound it on narrow screens; drop the dead hardcoded Chinese title from the API payload. Blackboard: stop mirroring note/context-* keys into the fact body links section, which get_project_fact returns verbatim without scope filtering; single-line category and confidence in index rows so a newline cannot inject a fake row; make the path overview fail closed on an empty index set. Provenance: reuse fitUserIntentLedgerText when sanitizing a ledger entry so a single entry cannot exceed its cap by the three ellipsis runes. The .cjs harness now escapes interpolated values like real i18next, so the existing XSS test also pins the escapeValue opt-out.
This commit is contained in:
1 parent
2b76b31355
commit
16189e0b76
21 files changed
+253
-40
No files matched your search
@@ -38,7 +38,7 @@ Eino 默认续接摘要使用 `user` 消息角色传输,但同时带 `_eino_su
|
||||
|
||||
`list_project_facts`、`search_project_facts` 与 `get_project_fact` 默认使用当前会话范围;前两者支持 `source_conversation_id` 缩小查询。过滤在数据库分页前执行,避免置顶历史记录占满一页后才被丢弃。初始主 Agent 注入、子 Agent 黑板补充以及普通/原生压缩后的索引刷新,都显式传入当前会话 ID;缺少会话 ID 时不会退回注入全部自动续接记录。
|
||||
|
||||
关系速览、索引行内关系提示以及 get/upsert 的关系边返回同样过滤其他会话的自动续接 key,防止通过关系边绕过默认范围。历史正文附来源会话和更新时间,不因读取自动升级为已确认事实或新的任务授权。`note/context-*` 为系统保留前缀,事实写入工具不能覆盖;废弃/恢复工具不能修改其他会话的自动续接记录。核实后的项目知识应另写独立事实 key 并保留证据。
|
||||
关系速览、索引行内关系提示以及 get/upsert 的关系边返回同样过滤其他会话的自动续接 key,防止通过关系边绕过默认范围。事实 body 的「关联」镜像段由 `get_project_fact` 原样返回、没有按读取方过滤,因此该段不写入任何自动续接 key;结构化关系边仍按调用方范围返回,本会话自己的续接记录不会因此消失。历史正文附来源会话和更新时间,不因读取自动升级为已确认事实或新的任务授权。`note/context-*` 为系统保留前缀,事实写入工具不能覆盖;废弃/恢复工具不能修改其他会话的自动续接记录。核实后的项目知识应另写独立事实 key 并保留证据。
|
||||
|
||||
这属于上下文注入和事实检索的默认范围,不是新的文件访问权限隔离;不删除快照、不修改既有记录,也不清洗已进入旧对话历史的内容。项目管理页面及原有不带范围参数的数据库查询仍可供有权用户查看项目全量数据。现有项目权限继续由工具授权层核验。
|
||||
|
||||
@@ -89,7 +89,7 @@ project:
|
||||
|
||||
快照写入失败时,不注入框架默认的 `transcript.txt` 路径提示,避免 Agent 读取不存在或属于上一轮的文件。普通文本、带 `<summary>` 标签的文本与多段消息均保留同一读取入口,避免正文重复附加。
|
||||
|
||||
遗留超长 summary 在展示索引时缩短为单行,库中的完整 summary/body 不改动。关系速览仅使用实际列入索引的事实,避免预算外事实继续通过路径视图占用上下文。置顶与事实类型的原有优先级保持不变。
|
||||
遗留超长 summary 在展示索引时缩短为单行,库中的完整 summary/body 不改动。索引行的 category 与 confidence 同样只取单行:两者入库时只补默认值、不做校验,含换行就能往系统提示的索引里插入伪造行。关系速览仅使用实际列入索引的事实,避免预算外事实继续通过路径视图占用上下文;索引为空时关系速览也为空,不因集合为空而放开过滤。置顶与事实类型的原有优先级保持不变。
|
||||
|
||||
## 实现依据与验证
|
||||
|
||||
|
||||
Reference in new issue
Block a user