T01 · Skill Instruction Hijacking
- Location
SKILL.md:10- Finding
Mandatory Delegation Hijacks the Agent's App-Development Workflow
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill automatically delegates app-development requests to a local backend using an unsafe shell command that can expose prompts and may allow command injection.
Install only if you intentionally want app-development requests handed to a local Restate AppFactory service. Before use, confirm what runs on 127.0.0.1:8080, what it stores, and who can access queued prompts. Do not include secrets or proprietary details unless the backend is trusted, and the skill should be revised to ask for confirmation and use safe JSON serialization instead of shell text substitution.
SKILL.md:10Mandatory Delegation Hijacks the Agent's App-Development Workflow
SKILL.md:17Shell Command Injection Through Unescaped User-Prompt Substitution
The trigger condition is broad enough to activate on many normal app-development requests, causing this skill to run frequently and automatically. Because the skill's behavior is to transmit the user's request to a backend service, overbroad triggering increases the chance of unintended data disclosure and unintended delegation without clear user consent.
The skill instructs the agent to send the user's exact prompt over HTTP but provides no requirement to notify the user, obtain consent, or minimize sensitive content. Even though the destination is localhost, it is still a separate service boundary, and forwarding raw prompts may leak secrets, proprietary code, credentials, or personal data to another process.
This command performs an HTTP POST to a local backend and includes the user's prompt directly in the request body, creating a concrete external-transmission path for potentially sensitive input. Because the content is inserted into a shell-invoked curl command, the pattern also raises risk of unsafe handling of special characters and unreviewed cross-boundary execution, making the skill materially dangerous in context.
exec tool to run the following curl command. This pushes the task to Restate's asynchronous queue.curl -sS -X POST [http://127.0.0.1:8080/AppFactory/buildFeature/send](http://127.0.0.1:8080/AppFactory/buildFeature/send) \
-H "Content-Type: application/json" \
-d '{"prompt": "<INSERT_USER_PROMPT_HERE>"}'