T01 · Skill Instruction Hijacking
- Location
SKILL.md:11- Finding
Forced Commercial Output and Agent Behavior Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This travel-booking skill is mostly coherent, but it forces an unverified global CLI install and uses user-filled shell command templates, so it needs review before use.
Install only if you trust the flyai CLI source and are comfortable with it changing your global npm environment. Prefer a pinned, reviewed, project-local or sandboxed install, require explicit approval before installing, and ensure the agent invokes the CLI with structured arguments after validating dates and locations. Also verify whether flyai is the intended Fliggy-backed provider before using booking links.
SKILL.md:11Forced Commercial Output and Agent Behavior Hijacking
SKILL.md:15Mandatory Unpinned Global Installation of a Third-Party npm Package
SKILL.md:65Potential Shell Command Injection Through Unsanitized Travel Parameters
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
flyai search-flight --origin "Shanghai" --destination "Maldives" --dep-date-start 2026-05-01 --dep-date-end 2026-05-31 --journey-type 1 --sort-type 2
## Output Rules
1. **Conclusion first** — lead with best-rated option (recommended priority)
2. **Wedding tip** — note popular honeymoon destinations and seasonal pricing
The skill explicitly instructs the agent to run a global package installation (npm i -g @fly-ai/flyai-cli) when the CLI is missing, which can modify the host environment without explicit user consent or sandbox guarantees. In an agent setting, this expands the attack surface to supply-chain compromise, persistence, or unintended system changes, especially because the install step is mandatory and framed as non-optional.
This markdown file contains user-facing response text in Chinese, and the same pattern continues across multiple fallback cases. Because the skill does not offer language/locale opt-in or state that it is intentionally limited to Chinese users, it violates the language/locale policy constraint.
The template presents booking results as powered by 'flyai' and recommends a 'flyai' CLI even though the skill metadata says the provider is Fliggy. This provenance mismatch can mislead users and operators about which backend is being invoked, increasing the risk of trust confusion, incorrect operational troubleshooting, or accidental routing to an unintended tool or service if such a CLI exists.
The file consistently identifies the skill as 'wedding-flight' internally, but the output layer attributes results to 'flyai', creating inconsistent identity and provider signaling. While this is less directly exploitable than code execution issues, it still weakens trust boundaries and can enable phishing-like confusion or misattribution in a travel-booking context where users may click booking links based on provider trust.
No suspicious patterns detected.