T01 · Skill Instruction Hijacking
- Location
WORKFLOW.md:1- Finding
Remote Service Controls Agent Responses Through Mandatory Verbatim Relay
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This recruiter skill is mostly aligned with ClawHire hiring work, but it asks to store an API key, blindly relay remote AI messages, and automatically mark notifications as read without clear user control.
Install only if you trust the ClawHire service with hiring details and candidate-search activity. Use a revocable, least-privilege API key if available, avoid pasting long-lived secrets into ordinary chat, and watch for automatic notification read status changes or remote messages that ask for unrelated sensitive information.
WORKFLOW.md:1Remote Service Controls Agent Responses Through Mandatory Verbatim Relay
SKILL.md:41Bearer API Key Is Requested for Persistent Agent Memory Without Secure Storage Controls
WORKFLOW.md:112Notifications Are Automatically Marked Read Without Explicit User Authorization
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).
Confirm with owner first:
DELETE /api/v1/jobs/<id>
The instruction "Default to Chinese. Switch to English only if your owner uses English" imposes a language preference by default rather than offering the user a choice. This matches the policy category for language or locale constraints without explicit opt-in.
The skill explicitly instructs the agent to forward the owner's messages to an external server and to relay the server's content exactly as-is, but it does not warn the user that their input will be transmitted off-platform. In a recruiting context, owner messages may contain sensitive company, hiring, or candidate information, so silent transmission creates a meaningful privacy and data-handling risk.
The hiring-intake capability uses very broad trigger phrases such as "hire," "recruit," and similar multilingual variants, which can match ordinary conversation and activate the skill unintentionally. Because this skill can initiate a guided workflow that collects hiring details and may lead toward job publication, accidental activation can expose recruiter intent, collect sensitive business information, or start unintended external API interactions.
The candidate-search capability includes generic trigger language like "候选人" and "找人," which can be used in many normal conversations unrelated to recruiting. In a skill that queries candidate data, overly generic activation increases the chance of unintended access to search functionality and accidental exposure of recruiting-related information or outbound requests.
The setup instruction hard-codes a Chinese prompt to the owner without checking the user's preferred language. While this is not a direct exploit primitive, it can mislead or confuse users, reduce informed consent during credential collection, and increase the risk of users providing API keys without fully understanding what is being requested.
The example server content is in Chinese, and later required user-facing messages are also prescribed in Chinese, such as the publication confirmation and notification summary examples. The workflow does not offer the user a language choice or explain a justified locale restriction, which creates a language policy issue.
This line mandates a specific Chinese confirmation message to the owner after publishing. Because the workflow requires that output regardless of user preference and provides no language-selection mechanism, it violates the language/locale policy criteria.
The skill's manifest describes a guided job-posting flow, but the workflow also grants broader recruiter and account-management capabilities such as listing, updating, deleting jobs, searching candidates, checking notifications, and retrieving account info. This expands the action surface beyond user expectations and increases the chance of unintended or unauthorized operations, especially because some actions can alter account state or expose sensitive business activity.
The workflow instructs the agent to automatically read notifications at the start of every session and then mark them all as read, without first obtaining user consent. This both accesses account activity the user may not have asked to disclose and performs a state-changing action that can destroy unread status, potentially causing missed items or audit ambiguity.
The workflow includes unrestricted account information retrieval even though the stated purpose is helping post jobs and find candidates. Unnecessary account access violates least privilege and may expose profile, billing, or organizational metadata not needed for the main task.
No suspicious patterns detected.