T01 · Skill Instruction Hijacking
- Location
hooks/openclaw/handler.js:9- Finding
Persistent Bootstrap Instruction Hijacking
- Content
View full analysis
/AGENTS.md` 中是否已包含 `## Ask-to-Remember` 章节。如果已包含(无论是手动写入还是通过 Hook 自动注入),跳过本步骤。如果没有,将以下内容追加到 AGENTS.md 的 `## Memory` 章节末尾(如果没有 Memory 章节,追加到文件末尾): ```markdown ## Ask-to-Remember `ask-to-remember` skill proactively captures reusable user preferences. When the current interaction exposes a plausible, non-sensitive reusable preference gap, follow the execution steps in its `SKILL.md`. Only trigger in the human's direct main session. ### Pending Question Resolution Check `atr-state.json` in your workspace root (if the file does not exist, skip — there is nothing to resolve). If `pendingQuestion` is not `null`, resolve it **before** doing anything else: ``` ``` `hooks/openclaw/handler.js:9-46`: ```javascript const ATR_CONTENT = `## Ask-to-Remember \`ask-to-remember\` skill proactively captures reusable user preferences. When the current interaction exposes a plausible, non-sensitive reusable preference gap, follow the execution steps in its \`SKILL.md\`. Only trigger in the human's direct main session. ### Pending Question Resolution Check \`atr-state.json\` in your workspace root (if the file does not exist, skip — there is nothing to resolve). If \`pendingQuestion\` is not \`null\`, resolve it **before** doing anything else: - **Answered** (user gave a clear preference) → extract the reusable fact, derive a short topic label from the question and reason (e.g. \`周末行程风格\`), append \`## [ATR] \` to MEMORY.md, clear \`pendingQuestion\`, append \`{ "question": "...", "askedAt": "...", "outcome": "answered" }\` to \`askedQuestions\` - **Refused** (e.g. \`别问了\`, \`别问这种\`) → clear \`pendingQuestion\`, add a short normalized topic label to \`refusedTopics\`, ...[truncated 4291 chars]- Remediation
View remediation
