docs: redefine sgclaw as hardened zeroclaw runtime
This commit is contained in:
@@ -5,24 +5,25 @@
|
||||
- 目标:给出可执行的工程改造路径与落地记录
|
||||
|
||||
## 1. 结论(先说结论)
|
||||
项目存在至少两条主要提示词构造链路:
|
||||
项目当前存在至少两条主要提示词构造链路,但长期主线只能保留一条 authoritative chain:
|
||||
|
||||
1) **轻量运行时链路**(`src/agent/runtime.rs`)
|
||||
1) **轻量运行时链路**(`src/agent/runtime.rs`,过渡态)
|
||||
- 仅有非常基础的固定 system 提示。
|
||||
- 适用于非完整流程的本地/最小执行场景。
|
||||
- 不应继续被扩展成主线产品提示词体系。
|
||||
|
||||
2) **ZeroClaw 主链路**(`third_party/zeroclaw/*`)
|
||||
- 这条链路是“系统提示”主体,分为:
|
||||
- `Agent` 内部结构化构建器(`SystemPromptBuilder`)
|
||||
- `channels` 侧统一字符串拼装
|
||||
- `skills / personality / identity / bootstrap 文件 / 工具说明` 等多个注入源
|
||||
- 这也是你要关注的主要安全面。
|
||||
- 这也是你要关注的主要安全面,也是未来应保留的唯一主线。
|
||||
|
||||
---
|
||||
|
||||
## 2. 提示词分布结构(按文件/模块)
|
||||
|
||||
### 2.1 固定系统提示(轻量链路)
|
||||
### 2.1 固定系统提示(轻量链路,待收口)
|
||||
- `src/agent/runtime.rs`
|
||||
- `execute_task_with_provider` 的 `ChatMessage { role: "system" ... }`
|
||||
- 当前内容:`You are sgClaw. Use browser_action to complete the browser task.`
|
||||
@@ -108,6 +109,10 @@
|
||||
## 4. 安全改造建议(按优先级)
|
||||
|
||||
### P0(建议立即做)
|
||||
0) 收口双主链路
|
||||
- `sgclaw` 不应长期同时维护一条轻量自定义 prompt 链和一条 zeroclaw 主链。
|
||||
- 目标是:保留 zeroclaw 主链,sgClaw 仅增加安全摘要、浏览器上下文和受控工具面说明。
|
||||
|
||||
1) 接入 `PromptGuard`
|
||||
- 目前已有 `third_party/zeroclaw/src/security/prompt_guard.rs`
|
||||
- 在以下入口加扫描并截断/告警:
|
||||
@@ -148,7 +153,8 @@
|
||||
## 5. 本次已确认的“关键风险”
|
||||
- `PromptGuard` 尚未在主入口统一挂载(存在检测能力,但未形成强制拦截链)。
|
||||
- workspace/skills 内容可直接进入 prompt,注入面较宽。
|
||||
- 两套系统提示构建链路(agent builder 与 channel builder)存在口径差异,需要统一。
|
||||
- 两套系统提示构建链路(轻量链路与 zeroclaw 主链)同时存在,容易造成安全策略漂移。
|
||||
- `sgclaw` 如果继续把浏览器专用提示补丁放在主链外侧,会重新制造第三条 prompt source。
|
||||
|
||||
---
|
||||
|
||||
@@ -161,4 +167,3 @@
|
||||
- 复现提示词覆盖攻击
|
||||
- 系统提示重复/续接场景(seed/reseed)
|
||||
- compact/full 两种技能注入对比
|
||||
|
||||
|
||||
Reference in New Issue
Block a user