T02 Β· Agent Memory Poisoning
- Location
skill.md:190- Finding
Persistent Agent Behavior Written to Long-Term Memory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This troubleshooting skill has a coherent purpose, but it asks to automatically read broad configuration/log data, modify model settings, restart services, and add persistent monitoring without clear user approval.
Install only if you are comfortable with an agent inspecting broad OpenClaw configuration and logs and potentially changing model defaults, restarting the gateway, and creating persistent monitoring or memory notes. A safer version should run read-only by default, ask before reading sensitive logs, show redacted diffs before every config change, require confirmation before restarts or provider switches, and make any memory or heartbeat behavior opt-in and removable.
skill.md:190Persistent Agent Behavior Written to Long-Term Memory
skill.md:190Automatic Installation of Recurring Health Checks and Cross-Session Rules
skill.md:21Overbroad Collection of Sensitive Configuration and Gateway Logs
skill.md:6Unsafe Automatic Configuration Mutation and Gateway Restart
The trigger 'Any model-related complaint' is overly broad and can activate the skill in many normal conversations, causing sensitive diagnostic actions to run when the user did not specifically request them. In this skill, auto-activation is especially risky because activation can lead to config inspection, log access, and follow-on system changes.
The skill authorizes automatic config patches, gateway restarts, and file updates without an upfront warning or explicit consent gate. These are system-impacting operations that can interrupt service, modify persistent state, and create unintended outages or misconfigurations if triggered automatically.
Persisting troubleshooting details in MEMORY.md risks storing provider names, failure history, endpoint details, and possibly fragments of sensitive configuration beyond the immediate session. Long-lived memory increases exposure surface and can leak operational or secret-adjacent information to later tasks or users.
The skill permits autonomous decision-making for provider switching when it deems the error 'critical,' without a strong, objective boundary or mandatory human approval. In context, this autonomy combines with config patching and restart capabilities, creating real risk of unauthorized or harmful environmental changes.
1. **Never guess** β always scan config first
2. **Never apply temporary fix** β only permanent solutions
3. **Never switch without confirmation** β unless critical error blocking all work
4. **Always verify** β test after every fix
5. **Always educate** β tell user WHAT broke and WHY it won't break again
6. **Always backup** β note what changed in MEMORY.md
The skill contains conflicting instructions: it claims it will never switch providers without confirmation, but earlier sections authorize automatic provider migration as a permanent fix. Conflicting autonomy rules are dangerous because the more aggressive branch may be followed during failure handling, leading to unapproved configuration changes that alter user service behavior.
The skill promises not to expose secrets, yet it directs automatic reading of full configuration and provider data, which commonly includes sensitive metadata and may include credentials or enough context to leak them in logs, summaries, or persisted notes. In a troubleshooting skill that auto-runs and generates reports, this contradiction increases the chance of accidental secret disclosure even if the author intended redaction.