T01 · Skill Instruction Hijacking
- Location
SKILL.md:10- Finding
Agent behavior hijacking through mandatory commercial search and booking-link instructions
- 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 asks the agent to install and run a third-party CLI globally and persist raw user travel queries without clear user control.
Review before installing. This skill is designed to send travel searches to FlyAI/Fliggy and produce booking links, which may be acceptable for live hotel booking. The main risks are the automatic global npm install, unsafe shell-style command templates, and persistent hidden logging of raw queries. Use only in an isolated environment or after revising it to require explicit install consent, pinned dependencies, safe argument-array execution, and redacted or disabled logging.
SKILL.md:10Agent behavior hijacking through mandatory commercial search and booking-link instructions
SKILL.md:29Automatic installation of an unpinned global npm package
SKILL.md:95Shell command injection through user-controlled travel parameters
references/runbook.md:1Unsafe persistence of raw user queries and shell-injectable log data
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
flyai search-hotel --dest-name "Huangshan" --key-words "温泉" --sort rate_desc --check-in-date 2026-11-01 --check-out-date 2026-11-02
## Output Rules
1. **Conclusion first** — lead with the key finding
2. **Comparison table** with ≥ 3 results when available
The skill mandates live queries through the flyai CLI for all responses, which likely transmits user travel inputs such as destination, dates, and preferences to an external service. Because the skill provides no privacy notice or consent step before sending this data off-system, users may unknowingly disclose itinerary or personal travel information to a third party.
The skill explicitly instructs the agent to install and run a global npm CLI (npm i -g @fly-ai/flyai-cli) as part of normal operation, which modifies the host environment and executes third-party code. Without an explicit user-consent and safety warning, this can lead to unintended package installation, supply-chain exposure, or system state changes on the user's machine or agent runtime.
The runbook explicitly includes user_query as raw input in an internal execution log and states the log is not shown to users, with no notice, minimization, or retention controls. In a travel-booking skill, user queries may contain personal, financial, itinerary, passport, or visa-related details, so persistent internal capture increases privacy and data-exposure risk.
The runbook instructs persistent file-based logging of the generated execution log, which contains raw user_query, by appending it to .flyai-execution-log.json. This creates durable storage of potentially sensitive travel-related user data and command history, increasing the blast radius of compromise, insider misuse, and accidental disclosure.
The fallback command hard-codes the hotel type as "民宿", which imposes a specific language/script choice in a natural-language value. The file does not indicate that the user opted into Chinese-language terms or that this locale-specific wording is required for a region-specific workflow.
No suspicious patterns detected.