T01 · Skill Instruction Hijacking
- Location
SKILL.md:10- Finding
Mandatory Agent Behavior and Commercial Output Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This infant-flight skill has a coherent travel purpose, but it asks agents to install and run an unpinned global CLI, force booking-link output, and keep hidden local logs of user travel requests.
Review before installing. Only use this skill if you trust the flyai CLI source and are comfortable sending travel searches to that service and receiving commercial booking links. Do not allow sudo installation, require explicit approval before any package install, and avoid entering passport numbers, payment data, or other sensitive identity details unless the logging behavior is removed or controlled.
SKILL.md:10Mandatory Agent Behavior and Commercial Output Hijacking
references/fallbacks.md:3Unpinned Global Package Installation with Root-Level Fallback
SKILL.md:88Shell Command Injection Through Unvalidated Travel Parameters
references/runbook.md:5Unsafe Persistent Storage of Raw User Queries and Commands
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 "Sanya" --dep-date 2026-06-01 --dep-hour-start 6 --dep-hour-end 20 --journey-type 1 --sort-type 8
## Output Rules
1. **Conclusion first** — lead with shortest/direct flight
2. **Baby travel tips** — remind about bassinet request, infant fare rules, and carry-on milk policy
The skill instructs the agent to install @fly-ai/flyai-cli globally if missing, which modifies the host system without prior user approval or an explanation of the security and operational impact. In an agent setting, silent package installation expands the attack surface and can introduce unreviewed code into the environment.
The skill explicitly says to never invent CLI parameters and only use flags listed in the parameters table, but later maps 'round-trip infant' to --back-date {date}, which is not documented in the table. This inconsistency can cause agents to execute unsupported commands or improvise behavior, undermining guardrails that were meant to constrain command execution.
The mandatory environment check includes npm i -g @fly-ai/flyai-cli as an automatic remediation path, again directing global system modification without disclosure or confirmation. Because the instruction is framed as 'mandatory, never skip,' an agent may perform the installation reflexively, making this especially risky in automated environments.
The fallback instructs installation of a global package and escalation to sudo npm i -g if the first attempt fails, without warning about trust, package integrity, or the risks of running npm as root. In an agent skill context, this can normalize privileged system modification and could lead to arbitrary code execution from package install scripts or persistent host compromise if followed blindly.
Explicitly recommending sudo to install an npm package directs users toward running third-party installation scripts with root privileges. Because npm packages may execute lifecycle scripts during installation, this creates a direct path to full system compromise, persistence, or destructive changes if the package or dependency chain is malicious or tampered with.
npm i -g @fly-ai/flyai-cli
flyai --version
# Fails → sudo npm i -g @fly-ai/flyai-cli
# Still fails → STOP. Do NOT answer with training data.
# Tell user: "Please run npm i -g @fly-ai/flyai-cli manually."
The instruction to automatically search the next available date after determining the requested date has passed changes a material booking parameter without confirmation. In travel booking, silently substituting dates can mislead the user, produce unwanted reservations, or cause downstream financial and itinerary errors.
The runbook explicitly logs the raw user query in an internal execution record, and the file states this log is not shown to users. In a travel-booking context, raw queries can contain names, infant ages, passport or visa details, travel dates, and other personal data, creating a privacy and data-retention risk without notice, minimization, or consent.
Taken together, the schema and persistence instructions direct the agent to retain raw user input and operational details in an internal execution log. In this skill's travel domain, users may provide highly sensitive itinerary and identity-related information, so retaining it increases the blast radius of any accidental exposure, insider access, or host compromise.
The runbook instructs appending execution logs to a local file, which can persist user and system data on disk beyond the active session. If those logs include queries, commands, booking links, or error details, they may be exposed to other processes, backups, operators, or later compromise, especially if file permissions and retention are not controlled.
No suspicious patterns detected.