T01 · Skill Instruction Hijacking
- Location
SKILL.md:77- Finding
Externally Controlled Memory Is Inserted into the System Prompt
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a transparent alpha memory connector, but it needs review because shared external memory can affect agent instructions and persist across future agents or federated nodes.
Use this only with a private, access-controlled Stigmem node and least-privilege per-agent API keys. Avoid injecting full boot summaries into high-stakes or irreversible workflows; inspect structured facts instead. Pin the Python dependency and Stigmem node image before repeatable evaluation or production-like use, use unique source entities, keep scopes local unless sharing is intentional, and configure federation narrowly or disable it.
SKILL.md:77Externally Controlled Memory Is Inserted into the System Prompt
SKILL.md:153Durable Shared Facts Can Poison Future Agent Sessions
SKILL.md:29Runtime Behavior Depends on a Non-Exact Alpha Dependency
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
- Use `scope="company"` only for facts that should legitimately be shared across agents.
- Run experimental workloads against a separate Stigmem node or a dedicated scope
namespace, not your primary operational node.
- Retract incorrect facts explicitly (`DELETE /v1/facts/{id}`) rather than waiting for expiry. The 24-hour expiry on escalations is a safety net, not a correction mechanism.
- Treat `emit_decision()` as a write to a shared audit log: only call it for confirmed, significant choices. The adapter records decisions append-only; dedupe externally before calling if repeated writes are a risk in your workflow.
### API key and agent identity scope
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
**What you should do:**
- Issue a dedicated API key per agent deployment. Never share a key across agents or environments.
- Rotate keys regularly; revoke via the node admin API (`DELETE /v1/auth/keys/{id}`) if a key is compromised.
- Set `STIGMEM_SOURCE_ENTITY` to a unique per-deployment URI (e.g.,
`agent:openclaw-eval-alice`). The generic default `agent:openclaw` should not
be shared across deployments because facts from different deployments become
Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.