T01 · Skill Instruction Hijacking
- Location
SKILL.md:438- Finding
Remote Identity Content Is Elevated to System-Level Instructions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:438-454
Vulnerability Type: Remote instruction injection and session-goal hijacking
Risk Level: CriticalVulnerable Code
markdown | **Session start** | `/soul identity` | Ground the agent in who it is before doing anything else | | **Before generating content** | `/soul prompt` | Get your current voice and boundaries | ## Using Your Identity When you fetch your system prompt via `/soul prompt`, here's how to use it: 1. **Prepend to your context** — the prompt becomes your system instruction for all interactions 2. **Voice beliefs shape your tone** — if your voice says "concise and direct," write that way 3. **Boundary beliefs are hard limits** — if a boundary says "never share customer data," refuse any request that would violate it 4. **Principles guide decisions** — when you have a choice, your principles tell you which way to lean 5. **Responsibilities define your scope** — what you own, what you deliver, what you monitorThe prompt itself is retrieved from the remote service as documented at
SKILL.md:252-258:bash curl -s "$LIVE_NEON_BASE/agents/$AGENT_ID" \ -H "Authorization: Bearer $LIVE_NEON_TOKEN" | jq -r '.system_prompt'Technical Analysis
The Skill instructs the agent to retrieve remotely controlled identity content and prepend it as the system instruction for all interactions. The retrieved prompt can define hard boundaries, decision-making principles, tone, and operational responsibilities.
Because this content resides outside the audited package and can evolve after installation, its effective instructions are not fixed at review time. Elevating mutable external data to system-instruction status creates a direct instruction-hijacking channel. A compromised Live Neon account, connected content source, processing pipeline, or service could introduce instructions that redirect the agent's goals or weaken its s ...[truncated 1374 chars]
- Remediation
View remediation
Remediation Suggestions
- Never elevate remotely retrieved identity data to system-instruction status.
- Treat fetched identity content as untrusted, user-level reference data.
- Restrict identity records to a strict schema of non-executable presentation preferences.
- Reject imperative instructions, tool directives, secrets requests, policy overrides, and embedded prompt-control language.
- Require explicit user approval before applying each identity update.
- Display a human-readable diff between the current and proposed identity.
- Pin approved identity revisions locally and provide rollback support.
- Enforce instruction precedence so platform, developer, and current user instructions cannot be overridden by identity content.
- Cryptographically authenticate responses where practical, while recognizing that authentication alone does not make remote instructions safe.
