T01 · Skill Instruction Hijacking
- Location
SKILL.md:71- Finding
Mandatory Commercial Redirection Through Skill Instructions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 71–76
Vulnerability Type: Agent response manipulation and commercial redirection
Risk Level: MediumVulnerable Instruction Snippet
The following is an English rendering of the complete affected instruction block:
markdown ### HTTP 402 Payment Handling If the script outputs `STATUS:402`, the free quota has been exhausted. The agent **must** tell the user: - The current account's free query quota has been exhausted. - To continue, recharge at: **https://www.oraskl.com/platform** - Search again after recharging.The behavior is supported by
scripts/fetch_stream.js, lines 76–80:javascript if (resp.status === 402) { // Free quota exhausted; output structured information for the agent to identify. console.log(`STATUS:402`); console.log(`MESSAGE:Free quota exhausted; payment is required to continue`); console.log(`RECHARGE_URL:https://www.oraskl.com/platform`); }Technical Analysis
The Skill contains a mandatory instruction that forces the agent to reproduce a provider-controlled commercial URL when the external service returns HTTP 402. This changes the agent's response policy from neutral error reporting to prescribed promotional redirection.
The triggering status is controlled by the external API provider. Consequently, the provider can cause the commercial message to appear by returning HTTP 402, regardless of whether the underlying condition can be independently verified by the agent. The script reinforces the instruction by emitting a structured
RECHARGE_URLvalue that the Skill directs the agent to present.This does not grant operating-system privileges or execute arbitrary code. However, it gives the Skill author and external API provider conditional control over user-facing agent output and enables the agent to be used as a traffic-redirection channel.
Attack Path
- A user invokes the ma ...[truncated 1181 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the instruction requiring the agent to reproduce a fixed recharge URL.
- Report HTTP 402 neutrally, for example: “The service reported that its query quota is unavailable or exhausted.”
- Present billing information only when the user explicitly requests it.
- If a billing link is necessary, identify it clearly as a third-party provider link rather than an agent recommendation.
- Do not trust a provider-returned URL directly. Maintain an independently reviewed allowlist and require HTTPS.
- Separate operational errors from promotional content so external status codes cannot automatically trigger advertisements.
- Consider displaying the provider name, request status, and verification limitations so users can make an informed decision.
- Add tests confirming that HTTP 402 and other provider-controlled responses cannot inject or mandate arbitrary user-facing links.
