T01 · Skill Instruction Hijacking
- Location
SKILL.md:10- Finding
Mandatory Agent Role Override and Commercial Output Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill needs review because it can install and run an external travel CLI, force booking links and branding, and store raw user requests without clear consent.
Install only if you are comfortable with a skill that may install a global third-party npm CLI, run shell commands for travel searches, show third-party booking links, and keep local plaintext execution logs. Prefer running it in an isolated workspace or container, approve package installation manually, and avoid entering sensitive travel, identity, payment, or itinerary details unless logging is removed or disabled.
SKILL.md:10Mandatory Agent Role Override and Commercial Output Hijacking
SKILL.md:36Unpinned Global Installation of a Third-Party CLI Package
SKILL.md:78Shell Command Injection Through User-Controlled Search Parameters
references/runbook.md:3Unsafe Plaintext Logging of Raw Queries and Commands
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
flyai search-poi --city-name "Beijing" --category "博物馆"
## Output Rules
1. **Conclusion first** — lead with the key finding
2. **Comparison table** with ≥ 3 results when available
The playbooks hardcode Chinese category labels for all searches without documenting that the backend expects Chinese taxonomy or that the skill is limited to a compatible locale. In non-Chinese cities or multilingual contexts, this can return poor, incomplete, or misleading results, causing silent failure or quality degradation that users cannot easily detect.
The trigger phrase "art gallery" is broad enough to match ordinary conversation that may not be an explicit request to invoke this skill. That can cause unintended activation and execution of the associated POI search command, leading to irrelevant tool use, confusion, and possible overreach in mixed travel-planning contexts.
The trigger phrase "memorial" is highly vague and may refer to events, people, days of remembrance, or historical discussion rather than venue search. This increases the risk of accidental skill activation and incorrect command execution, especially in conversational settings where the word appears outside a travel-search intent.
The runbook explicitly records user_query as raw input and appends the log to a local file, creating unnecessary retention of potentially sensitive natural-language data. In a travel skill, user queries may include destinations, dates, names, visa details, booking preferences, or other personal information, so persistent plaintext logging increases privacy and leakage risk if the host, workspace, or logs are accessed by unauthorized parties.
This schema persists raw natural-language queries to .flyai-execution-log.json, which can capture sensitive freeform data that users may provide incidentally or directly. Because the skill supports travel-related tasks such as flights, hotels, visas, and insurance, the logged text may contain personal, financial, or itinerary details, making retention more dangerous than in a low-sensitivity context.
This markdown file includes a natural-language fallback step saying to try Chinese/English variants, but it does not specify when to use each variant, what forms are allowed, or any exclusion conditions. The lack of specificity could lead to inconsistent or overly broad behavior when resolving city names.
No suspicious patterns detected.