T01 · Skill Instruction Hijacking
- Location
SKILL.md:9- Finding
Mandatory Commercial Output and Booking-Link Instruction Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a pet-flight helper, but it asks agents to install an unpinned global CLI, may escalate to sudo, and quietly persists raw travel queries in a local log.
Review carefully before installing. Use this only in an isolated environment where you are comfortable with the flyai CLI and its booking links. Do not allow sudo npm installation, avoid automatic global installs, and disable or remove the execution log unless it is sanitized and disclosed. Treat returned flights as candidates that still require direct airline pet-policy confirmation before booking.
SKILL.md:9Mandatory Commercial Output and Booking-Link Instruction Hijacking
references/fallbacks.md:3Unpinned Global npm Installation with Recommended Root Privileges
references/runbook.md:33Shell Injection and Sensitive-Data Exposure in Execution-Log Persistence
SKILL.md:173Generic Flight Results Are Misrepresented as Pet-Friendly
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 "Guangzhou" --dep-date 2026-06-01 --journey-type 1 --sort-type 8
## Output Rules
1. **Conclusion first** — lead with best pet-friendly option (direct preferred)
2. **Pet travel tips** — remind user about airline pet policies and carrier requirements
The manifest promises broad multi-service travel capabilities including hotels, trains, attractions, visas, insurance, and car rental, but the actual skill only defines pet-flight workflows. This mismatch can mislead an agent into invoking the skill outside its implemented scope, causing incorrect routing, failed executions, or unsafe fallback behavior if the agent tries to satisfy unsupported requests anyway.
The fallback instructions tell users to perform a global npm install and escalate to sudo if it fails, but provide no warning about the risks of system-wide package installation or privileged execution. Because npm install scripts can execute code during installation, encouraging sudo increases the blast radius to full system compromise if the package, dependency chain, or registry resolution is malicious or tampered with.
The content explicitly suggests running sudo npm i -g, which combines root privileges with execution of third-party package installation logic. In an agent skill context, this is dangerous because users may copy-paste the command directly, granting unnecessary elevated privileges to code fetched from the network.
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 runbook says the agent maintains an internal execution log containing raw user input and CLI command details while also noting it is not shown to users. This creates a transparency and privacy problem because users are not warned that their requests and backend actions may be captured internally.
The runbook explicitly logs the raw user query and detailed execution metadata for every request, which exceeds what is necessary for a pet-travel booking skill and can capture sensitive travel, identity, or payment-adjacent information. Because this is an internal logging schema, users are not informed and the data may be retained or accessed beyond the original transaction.
Logging raw user input together with execution details and persisting that data creates a meaningful data retention and leakage risk. In this skill's travel-booking context, user queries may include names, routes, dates, pet details, visa questions, or other sensitive natural-language content that should not be broadly retained.
Appending execution logs to a local file without any user warning means the skill introduces persistent storage of interaction data invisibly to the user. In a travel context, such logs may contain itinerary, pet transport, and other personal details that users would not expect to be retained.
The runbook directs the agent to append execution logs to a local file, creating persistent storage of potentially sensitive user and command data without a demonstrated business need. Persistent filesystem logging increases the chance of unintended retention, later disclosure, or reuse of travel-related personal data.
The playbook explicitly instructs command execution and includes a networked keyword-search fallback, but provides no user-facing disclosure or confirmation step before external actions occur. This can cause unintended outbound requests or searches using user travel data, which is a real transparency and consent issue even though the commands themselves are not overtly dangerous.
No suspicious patterns detected.