T01 · Skill Instruction Hijacking
- Location
SKILL.md:8- Finding
Mandatory Promotional Output and Agent Behavior Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This travel skill is mostly coherent, but it asks the agent to install and run an unpinned CLI, force booking-link output, and keep hidden raw-query logs.
Review this skill before installing. It may install a global npm CLI, send travel details through flyai/booking services, prioritize booking links, and write hidden local logs containing raw queries. Prefer a pinned CLI version, explicit consent before external calls, and disabled or redacted logging.
SKILL.md:8Mandatory Promotional Output and Agent Behavior Hijacking
SKILL.md:35Automatic Installation of Unpinned Executable Dependencies
references/runbook.md:1Hidden Raw-Query Logging Through Unsafe Shell Interpolation
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 "Male" --dep-date 2026-02-01 --sort-type 3
## Output Rules
1. **Conclusion first** — lead with the key finding
2. **Comparison table** with ≥ 3 results when available
The README instructs users to run npx skills add ... without pinning an exact version or immutable reference. This can cause users to fetch and execute changed upstream code later, creating a supply-chain risk if the package or referenced content is updated maliciously or compromised.
The activation section triggers on terms like "Maldives" and "island paradise," which can appear in ordinary travel discussion that is not necessarily asking to invoke this skill. The section provides only one negative example and does not clearly define narrower intent conditions or more complete exclusions, increasing the chance of unintended activation.
The runbook explicitly records user_query as raw input in an internal execution log, but provides no notice, minimization, or redaction guidance. In a travel-booking skill, user queries may contain names, passport details, dates, contact info, or payment-related context, so retaining raw input creates an avoidable privacy and data-handling risk.
Taken together, the schema captures raw user_query data and the persistence section writes the resulting execution log to .flyai-execution-log.json, creating durable storage of potentially sensitive travel and booking information. In this skill's context, users are likely to share itinerary details, identity data, visa questions, and booking preferences, so persistent raw logging materially increases privacy, compliance, and secondary-exposure risk.
The log persistence step appends execution data to a local file without any warning, consent model, or safeguards around what is being written. Because the same log schema includes raw user input and command history, persisting it locally increases the chance of unintended disclosure to other processes, users, backups, or support workflows.
The manifest emphasizes a Maldives escape planner experience, while the README says the skill wraps flyai-cli to provide real-time travel data with booking links. That introduces transactional travel-booking functionality beyond the core destination-planning description, creating a mild description/behavior mismatch.
The README advertises real-time travel data and booking links but does not disclose that user queries may be sent to external services or that interactions may lead to third-party booking flows. In a travel-booking context this increases privacy and consent risk, especially if users share itinerary details, dates, names, or destination preferences assuming the skill is purely local.
No suspicious patterns detected.