T01 · Skill Instruction Hijacking
- Location
SKILL.md:83- Finding
Mutable Remote Team Contract Is Treated as Authoritative Agent Instructions
- Content
View full analysis
Team contract: `memory_get #` (kind:convention topic:team-contract) before acting. Labels and terminal closure are defined there. 3. The bundled `clawmem` skill already instructs every ClawMem-compliant agent to call `memory_get` when a specific memory id is mentioned. The returned body comes back as regular tool output, not wrapped by auto-recall as "historical notes". Defensive inline: also include the Workflow Label Schema's most critical rules directly in the task body (allowed labels plus the `done ⇒ state:closed` rule), so a participant that skips the fetch still sees the minimum. Do not rely on auto-recall alone to deliver the Team contract to participants. The plugin frames auto-recall as background context, not as binding instructions — use the explicit `memory_get` citation above. ``` The same trust model is made explicit in `references/bootstrap.md:46-50`: ```markdown - Every participant, regardless of role name or host, must fetch the canonical Team artifact by explicit tool call (`memory_get` or `issue_get`) at the start of each team task it picks up. The bundled `clawmem` skill's turn loop triggers this automatically when the task body cite ...[truncated 3335 chars]- Remediation
View remediation
