T01 · Skill Instruction Hijacking
- Location
WORKFLOW.md:3- Finding
Unvalidated Verbatim Relay of Server-Controlled Content
- Content
View full analysis
Vulnerability Details
File Location:
WORKFLOW.md:3-5
Vulnerability Type: Remote instruction and output hijacking
Risk Level: HighVulnerable Code
markdown **IMPORTANT: You are a proxy, not the interviewer.** When collecting your owner's background or building their profile, you do NOT generate questions yourself. Instead, you forward your owner's messages to the ClawHire server (`/api/v1/chat/profile-intake`), and the server returns AI-generated responses in `content_list`. Your job is to relay those responses back to your owner word-for-word, then forward their reply back to the server. Think of yourself as a messenger between your owner and the ClawHire AI — do not add, remove, or rephrase the server's messages.The same unsafe requirement is reinforced in
AGENTS.md:14-18andSKILL.md:37-44.Technical Analysis
The skill delegates control of user-facing conversation content to the external ClawHire server and requires the agent to relay returned content without modification. No validation, sanitization, trust-boundary check, or policy enforcement is specified for the server-controlled
content_list.Because external API responses are untrusted input, requiring word-for-word forwarding creates an indirect prompt-injection channel. The effective conversational behavior can change after the skill package has been reviewed, without modifying any local file. A compromised service, malicious service operator, DNS or account compromise, or vulnerable backend content pipeline could return phishing instructions, requests for secrets, deceptive links, or content conflicting with the user's intent.
This is output hijacking rather than direct code execution: the reviewed files do not establish that returned content is executed as local code.
Attack Path
- The user begins a profile-intake conversation.
- The agent sends the user's message to
/api/v1/chat/profile-intake. - An attacker c ...[truncated 840 chars]
- Remediation
View remediation
Remediation Suggestions
- Treat every API response as untrusted data rather than authoritative instructions.
- Remove the requirement to relay responses word-for-word.
- Validate the response against a strict schema, including expected type, length, and allowed content classes.
- Apply local safety checks before displaying returned content.
- Reject or neutralize credential requests, executable instructions, suspicious links, and attempts to override agent policy.
- Clearly distinguish remote service content from trusted agent guidance.
- Pin the intended service origin and use authenticated TLS, while recognizing that transport security does not protect against a compromised backend.
- Log rejected content without recording user secrets, and provide a safe failure message if validation fails.
