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 flight-search skill is coherent in purpose, but it needs review because it auto-installs a global npm CLI and can silently retain raw travel queries in a local log.
Review before installing. This skill may install a third-party npm package globally, route results through flyai/Fliggy booking links, and keep raw travel queries in a local log. Install only if you are comfortable with that provider dependency, and prefer requiring approval for installs and disabling or removing persistent raw-query logging.
SKILL.md:9Mandatory Commercial Output and Agent Behavior Hijacking
SKILL.md:36Unpinned Global Installation of a Third-Party npm Package
references/runbook.md:34Shell Command Injection Through Raw Query Logging
references/runbook.md:1Undisclosed Persistence of Raw User Queries and Command History
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
flyai search-flight --origin "Wuhan" --destination "Lijiang" --dep-date-start 2026-06-15 --dep-date-end 2026-07-15 --seat-class-name economy --sort-type 3
## Output Rules
1. **Conclusion first** — lead with cheapest option (budget priority)
2. **Grad tip** — note popular grad destinations and timing
The manifest description claims a broad travel-booking capability across multiple product types. However, the skill instructions and all concrete command examples in this file are limited to flyai search-flight and one flight-related keyword-search, with no documented workflow for hotels, trains, attractions, visas, insurance, or car rental.
The skill instructs the agent to automatically run a global package installation (npm i -g @fly-ai/flyai-cli) whenever the CLI is missing, without requiring user consent. This causes an unreviewed system modification and introduces supply-chain risk, since the agent may fetch and execute remote package install scripts with the user's privileges.
The playbook hard-codes trigger phrases in English and Chinese for activation, but does not state that language selection is optional or user-driven. This is a natural-language policy concern because the skill prescribes specific languages/locales rather than explicitly offering a choice or documenting a justified locale restriction.
The runbook says the execution log is maintained internally and not shown to users, while capturing raw input and execution details. Silent collection and optional persistence of travel-related queries is risky because users are not informed that potentially sensitive trip, identity, or booking information may be retained behind the scenes.
The runbook explicitly stores the raw user query and detailed execution telemetry, and may append that data to a local file. In a travel-booking skill, user queries can contain personal, financial, itinerary, or visa-related information, so retaining them without clear necessity, minimization, or consent creates an unnecessary data exposure surface.
This documentation creates an intent mismatch inside the skill guidance: the prerequisite example invokes search-flight with --sort-type 2, while the parameters section states the default is 3 and describes that as the budget-priority default. That contradiction can cause the agent to execute behavior inconsistent with the stated booking intent.
No suspicious patterns detected.