T01 · Skill Instruction Hijacking
- Location
SKILL.md:10- Finding
Forced Commercial 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 purpose-related but should go to Review because it can automatically install and run a global third-party booking CLI, force commercial booking links, and persist raw trip queries locally.
Install only if you are comfortable with a third-party flyai/Fliggy CLI being installed globally and used as the exclusive source for travel results. Avoid entering passport details, full names, credentials, or other sensitive information unless logging is removed or clearly controlled; prefer a pinned, reviewed, local install and disable raw-query persistence.
SKILL.md:10Forced Commercial Output and Agent Behavior Hijacking
SKILL.md:127Automatic Installation of an Unpinned Global npm Dependency
references/runbook.md:8Plaintext Persistence of Raw User Queries and Unsafe Shell-Based Log Serialization
The skill instructs the agent to install software globally with npm if the CLI is missing, but the user-facing description does not clearly disclose that system modification may occur. This is dangerous because users may invoke a seemingly informational travel skill without realizing it can execute package installation commands, expanding trust and supply-chain risk.
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
Budget multi-city orchestration
## Output Rules
1. **Conclusion first** — lead with the key finding
2. **Comparison table** with ≥ 3 results when available
The activation logic is overly broad for a travel skill and can trigger on ordinary travel-related requests, causing the agent to invoke this skill outside the user's likely intent. Because this skill's workflow includes mandatory CLI execution and potential package installation, accidental activation increases the chance of unnecessary command execution on the host.
The instruction 'never answer without executing' removes a safe non-executing response mode and pressures the agent to invoke tools even when the user may only want advice, clarification, or high-level information. Because this skill supports transactional travel operations like flights, hotels, trains, and tickets, execution-only behavior raises the risk of unintended tool use, premature booking flows, and reduced opportunity for user confirmation.
The trigger phrase uses an unconstrained placeholder ('{region}'), which can cause overly broad matching and unintended invocation for loosely related user inputs. In an action-capable travel skill, ambiguous triggering increases the chance the agent enters an execution flow and performs booking/search behavior when the user only intended general discussion or partial planning.
The runbook explicitly records user_query as raw input and appends the full execution log to a local file, creating unnecessary retention of potentially sensitive natural-language data. In a travel/booking skill, users may include passport details, names, dates, locations, budget, visa questions, and other personal information, so persistent plaintext logging increases privacy exposure and leak risk.
Persisting raw free-form user queries to .flyai-execution-log.json creates a durable local record that may contain secrets or personal travel data and can be exposed through local compromise, backups, support bundles, or accidental sharing. Because this skill supports bookings and travel planning, the data category is more sensitive than generic chat content, making the retention risk more significant in context.
No suspicious patterns detected.