T01 · Skill Instruction Hijacking
- Location
SKILL.md:10- Finding
Vendor-Controlled Instruction and Output Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This travel skill is coherent as a vendor travel-booking integration, but it asks agents to install unpinned global code automatically and persist raw user travel queries without clear user control.
Review this skill before installing. Use it only if you are comfortable with a vendor-controlled travel CLI, booking links in answers, networked travel searches, and local logs of your queries. Prefer a pinned CLI version in an isolated environment, require approval before installing packages, and disable or redact persistent logging.
SKILL.md:10Vendor-Controlled Instruction and Output Hijacking
SKILL.md:119Automatic Installation and Execution of Unpinned npm Dependencies
references/runbook.md:33Undisclosed Persistence of Raw User Queries and CLI 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 "Kunming" --dep-date 2026-04-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 a specific package version or immutable source reference. This can cause consumers to fetch whatever package/version is current at execution time, increasing supply-chain risk if the package is updated maliciously, hijacked, or if behavior changes unexpectedly. In this context, the skill is explicitly designed for installation and execution by agents/users, so unpinned bootstrap commands are more dangerous than ordinary documentation text.
The skill explicitly instructs the agent to install a global npm package as part of normal execution, without requiring user approval or warning that it will modify the system. This creates a supply-chain and host-modification risk: an agent following the skill could change the user's environment or execute untrusted install scripts from the npm ecosystem.
The prerequisites section normalizes a global npm install as a required setup step but provides no safety notice, approval gate, or alternative non-mutating path. In an agent setting, this can cause unauthorized system changes and exposure to malicious or compromised package lifecycle scripts.
The fallback logic tells the agent to attempt a global installation automatically when the command is missing, which is especially risky because it turns a read-only information request into an environment-changing action. If exploited or blindly followed, this behavior could install untrusted code and persist changes on the host without informed user consent.
The trigger phrase "Yunnan trip" is broad enough to match ordinary conversational queries rather than a clearly scoped invocation condition. In a travel-booking skill that can drive flights, hotels, and itinerary actions, this can cause unintended playbook activation and steer the agent into executing booking-oriented flows when the user may only be seeking general information.
The trigger phrase "Dali and Lijiang" is ambiguous because it can naturally appear in casual travel discussion, comparison requests, or informational questions without implying the user wants this specific playbook run. Given the skill's ability to support reservations and ticketing, overlap between normal discussion and activation raises the risk of inappropriate tool selection and unintended transactional guidance.
The trigger phrase "tropical Yunnan" is vague and underspecified, making it likely to activate on broad descriptive discussion rather than a deliberate request for the Xishuangbanna playbook. In this skill context, vague triggers are more dangerous because the assistant is connected to travel-planning and booking-related capabilities, so misfires can influence recommendations or downstream actions.
The runbook explicitly records the raw user query and persists the generated log to a local file, creating a clear data-retention path for potentially sensitive user information. In a travel-booking skill, user queries may contain names, dates, locations, passport/visa details, contact information, or other personal travel data, so storing raw input without notice, minimization, redaction, or retention controls increases privacy and compliance risk.
No suspicious patterns detected.