T01 · Skill Instruction Hijacking
- Location
SKILL.md:9- 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-search skill is mostly coherent, but it asks agents to install and run an unpinned global CLI, build shell commands from user travel input, and persist raw queries in a local log without clear user consent.
Install only if you are comfortable with a third-party Fliggy/flyai CLI being installed globally and used for live travel searches. Prefer a pinned, reviewed CLI version in a sandbox, require approval before installs or booking-link output, and disable or redact the local execution log before using it with personal travel details.
SKILL.md:9Forced Commercial Output and Agent Behavior Hijacking
SKILL.md:39Unpinned Global Installation of a Third-Party npm Package
references/playbooks.md:9Shell Command Injection Risk Through User-Controlled Parameters
references/runbook.md:1Undisclosed Plaintext Logging of Raw User Queries and Unsafe Log Serialization
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
flyai search-hotels --dest-name "Sanya" --key-words "海景" --sort rate_desc --check-in-date 2026-01-15 --check-out-date 2026-01-18
## Output Rules
1. **Conclusion first** — lead with the key finding
2. **Comparison table** with ≥ 3 results when available
The fallback instructs installing a global npm package and running a CLI that performs external network actions, but provides no warning, consent boundary, or execution safety guidance. In an agent skill context, operational instructions that trigger package installation and outbound queries can lead to unintended code execution, supply-chain exposure, or unauthorized external access if followed automatically.
The file mixes English and Chinese trigger phrases and hard-codes Chinese search categories/keywords such as "沙滩海岛" and "海景" without stating that the skill is China-market-specific or offering language/locale opt-in. This can violate organizational language/locale policy because it implicitly forces a locale-dependent behavior on all users.
The runbook explicitly captures raw user input, CLI commands, statuses, and latency, and instructs persistent storage to a local execution log. In a travel-booking skill, user queries may contain personal, financial, passport, visa, itinerary, or location data, so retaining this without a clear user-facing notice, minimization, or retention controls creates a meaningful privacy and data-exposure risk.
The fallback instructions force a Chinese locale/value ("民宿") as part of the search behavior, which can violate language/locale policy when no user opt-in or justification is provided. The file does not explain that this skill is region-specific or give the user a language choice.
No suspicious patterns detected.