T01 · Skill Instruction Hijacking
- Location
SKILL.md:9- Finding
Mandatory Commercial Output and Agent Behavior Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill provides travel search results, but it requires automatic global installation of an unpinned CLI and persists raw user queries in a local log.
Install only if you are comfortable with an external travel CLI being installed globally, used as the sole data source, and producing booking-link responses with flyai branding. Prefer manual installation of a pinned, reviewed CLI version in an isolated environment, and disable or remove the persistent raw-query execution log before use.
SKILL.md:9Mandatory Commercial Output and Agent Behavior Hijacking
SKILL.md:57Automatic Unpinned Global Installation of a Third-Party npm Package
references/runbook.md:7Shell Command Injection and Sensitive Query Retention in Execution Logging
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
flyai search-poi --city-name "Chengdu" --category "动物园"
## Output Rules
1. **Conclusion first** — lead with the key finding
2. **Comparison table** with ≥ 3 results when available
The playbook hard-codes the search category as the Chinese term "动物园", which imposes a specific language/locale behavior. The file does not offer a language choice or explain why a Chinese-only query is required for this skill.
The playbook hard-codes the search category as the Chinese term "海洋馆", which imposes a specific language/locale behavior. The file does not offer a language choice or explain why a Chinese-only query is required for this skill.
The playbook hard-codes the search keyword as the Chinese term "野生动物园", which imposes a specific language/locale behavior. The file does not offer a language choice or explain why a Chinese-only query is required for this skill.
The runbook explicitly defines an internal execution log that captures user_query as raw input and states it is not shown to users. Storing raw user input without disclosure or minimization creates a privacy risk because queries may contain personal, travel, financial, or other sensitive data, and users are given no notice that their inputs are being retained internally.
The schema explicitly instructs retention of user_query as {raw input} in an execution log, which is a direct data-retention issue. In this skill context, users may submit travel plans, locations, booking details, visa questions, and potentially passport or insurance-related information, making raw-input retention more sensitive than in a low-risk informational skill.
The runbook instructs the agent to append execution logs to a local filesystem file, which can persist sensitive interaction data beyond the session. Because the same log schema includes raw user input and command history, local persistence increases the risk of unauthorized access, accidental exposure, or collection of sensitive data without user awareness.
No suspicious patterns detected.