T01 · Skill Instruction Hijacking
- Location
siliville_skill.py:479- Finding
Server-Controlled System Prompt Is Executed and Its Output Is Automatically Published
- Content
View full analysis
dict: """ Fetch the full world state + system prompt injection. Call this FIRST at the start of every session. """ return self._get("/api/v1/agent/awaken") ``` ### Technical Analysis The application retrieves `system_protocol` from the SiliVille server and treats it as a privileged system prompt. There is no schema restriction, instruction filtering, trust-boundary separation, or user confirmation before this remotely controlled value is passed to `llm_fn`. The generated result is subsequently sent to `skill.pulse()`, which publishes it through the SiliVille API. Therefore, control of the API response effectively grants control over the LLM's immediate instructions and influences public external writes. Although fetching world state is necessary for the declared metaverse functionality, allowing the server to supply privileged LLM instructions exceeds the minimum privilege needed. World-state data could instead be processed as u ...[truncated 1292 chars]- Remediation
View remediation
