T01 · Skill Instruction Hijacking
- Location
SKILL.md:8- Finding
Forced Commercial Provider Routing and Agent Role Override
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This travel skill is purpose-aligned, but it asks the agent to install and run an unpinned global CLI and to persist raw user travel queries in a hidden local log.
Review before installing. Only use this skill if you trust the flyai CLI and are comfortable sending travel queries to that provider. Do not allow automatic global npm installation; install a reviewed, pinned version in a contained environment. Disable or remove the hidden execution log, especially the raw `user_query` field and shell-based append command.
SKILL.md:8Forced Commercial Provider Routing and Agent Role Override
SKILL.md:125Automatic Installation of an Unpinned Global npm Package
references/runbook.md:31Shell Injection and Sensitive-Query Exposure in Execution Logging
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
flyai search-flight --origin "Beijing" --destination "Shanghai" --dep-date 2026-05-01 --back-date 2026-05-03 --sort-type 3
## Output Rules
1. **Conclusion first** — lead with the key finding
2. **Comparison table** with ≥ 3 results when available
The skill mandates calling an external CLI for all travel responses but does not disclose that user itinerary, dates, locations, and possibly personal travel preferences may be sent to a third-party service. This creates a privacy and transparency risk because users are not informed that their query data may leave the local environment.
The skill instructs the agent/user to install a global npm package and execute it, but provides no safety warning, provenance guidance, or least-privilege advice. This is dangerous because global package installation runs untrusted third-party code with the user's privileges and can modify the environment persistently.
The file states that the agent maintains an internal log not shown to users, while the schema includes the raw input field user_query. This means user-supplied content may be captured invisibly, undermining transparency and informed consent, especially in a travel context where queries can contain names, dates, locations, passport/visa concerns, or other personal details.
The runbook explicitly records the raw user query and detailed per-step execution metadata, including commands, statuses, and timing. For a travel-planning/booking skill, this creates unnecessary retention of potentially sensitive user data such as itinerary details, booking intents, destinations, dates, and possibly personal or financial context, increasing privacy and misuse risk without clear necessity.
The runbook directs persistent append-only filesystem storage of execution logs, which can accumulate sensitive travel and booking-related data over time. Persisting this information to local disk without a demonstrated business need, access controls, encryption, or retention policy materially increases the chance of unauthorized disclosure or later misuse.
The persistent append to a local execution log is described without any warning that user-related data may be written to disk. Because earlier sections include raw user queries and detailed execution records, this omission hides a meaningful privacy and data-handling behavior from users and operators, making accidental overcollection and exposure more likely.
No suspicious patterns detected.