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-insurance skill has a coherent purpose, but it requires a global third-party CLI install and can silently persist raw user queries in local logs.
Review this skill carefully before installing. It is not clearly malicious, but it depends on a globally installed third-party CLI, routes answers through a commercial travel service, requires booking links, and may keep local logs of raw travel or insurance queries. Use it only if you are comfortable with those behaviors, and prefer a pinned, local CLI install with logging disabled or redacted.
SKILL.md:10Forced Commercial Output and Agent Behavior Hijacking
SKILL.md:53Mandatory Unpinned Global Third-Party Package Installation
references/runbook.md:1Undisclosed Persistence of Raw User Queries and Unsafe Shell-Based Logging
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
flyai keyword-search --query "旅行保险 日本"
## Output Rules
1. **Conclusion first** — lead with the key finding
2. **Comparison table** with ≥ 3 results when available
The activation list includes generic terms like "insurance" and "coverage," plus the Chinese term "保险," which are broad phrases that can appear in many unrelated contexts. The file only excludes visa queries and does not provide enough scope boundaries or negative examples to prevent unintended invocation for non-travel-insurance requests.
The playbooks hard-code Chinese-language search queries for all insurance lookups without any user locale check, consent, or documented reason for language coercion. This can mislead users, reduce result relevance, and route requests into a different market/language context than intended, which is especially risky for travel insurance where policy terms, coverage limits, and eligibility vary by region and language.
The runbook directs the agent to record the raw user query and detailed CLI command execution for every request, even though those data elements are not necessary to provide travel-insurance comparisons. In this skill context, user queries may contain sensitive travel details, personal circumstances, or booking information, so collecting and retaining them expands privacy exposure and creates unnecessary internal surveillance/data-leak risk.
The schema stores user_query as raw input while the runbook says the log is maintained internally and not shown to users, indicating no clear disclosure or consent mechanism. In a travel-related skill, users may provide names, dates, destinations, health/trip concerns, and booking context, so silent internal capture of raw prompts creates a meaningful privacy and transparency issue.
The combined design stores raw natural-language input and allows persistent append-only logging, creating a straightforward data retention and leakage path. Natural-language prompts often contain unpredictable sensitive content, and in this travel-insurance context that can include itinerary details, identities, financial concerns, or emergency situations, making overcollection especially risky.
The runbook explicitly enables filesystem persistence of execution logs by appending them to a local JSON file, which is not justified by the skill's stated business purpose. Persistent local logging increases the chance that sensitive travel queries, command data, or future secrets are retained longer than intended and exposed through misconfiguration, backup systems, or other processes on the host.