Back to skill

Security audit

Seville

Security checks for vulnerabilities and agentic risk

Overview

This is a plain Seville city-guide skill with some content-quality caveats, but no hidden code, credential use, persistence, or privileged behavior.

Reasonable to install as a city guide. Verify time-sensitive prices, salaries, lodging rules, and event details yourself, and treat the Airbnb and language recommendations as opinionated local-context notes rather than compliance or accessibility guarantees.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (19)

Ae1

High
Category
analysis-evasion
Content
| Overview and tapeo culture | `food-overview.md` |
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
| Overview and tapeo culture | `food-overview.md` |
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
| Dietary tips and Ramadan | `food-practical.md` |
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Vague Triggers

Medium
Confidence
92% confidence
Finding
The invocation guidance says the skill applies when the user asks about Sevilla "for any purpose," which is very broad and lacks exclusion conditions or negative examples. This can overlap with many ordinary travel, relocation, culture, or business questions and may cause unintended skill activation.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The statement 'You don't speak Spanish' under 'Why Avoid' discourages non-Spanish speakers from considering the neighborhood without offering nuance, accommodations, or alternatives. In a travel/navigation skill, this can produce exclusionary guidance and reinforce discriminatory access barriers rather than helping users make informed choices.

Natural-Language Policy Violations

Medium
Confidence
98% confidence
Finding
The summary explicitly says the area is ideal for 'Spanish speakers' and not ideal for 'Non-Spanish speakers,' which is exclusionary and overgeneralized. Because this is presented as a recommendation in a consumer-facing city guide, it can unfairly steer users based on language identity rather than concrete, contextual accessibility information.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The text advises against Triana for people who do not speak Spanish, which creates language-based exclusionary guidance rather than presenting it as a tradeoff the user can evaluate. In a city-guide skill, this can steer users away from an area based on protected or sensitive characteristics proxying language ability, even when the likely intent is to describe integration difficulty.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The 'Not ideal for' section explicitly lists non-Spanish speakers, which is a direct exclusionary recommendation based on language ability instead of a neutral accessibility note. In this context the harm is primarily biased or unfair guidance to users, not technical compromise, but it is still a genuine policy/security-quality issue.

Natural-Language Policy Violations

Medium
Confidence
85% confidence
Finding
The language section states 'Spanish essential,' which is a natural-language requirement favoring a specific language without user opt-in. Under the policy, locale or language constraints should either offer a choice or be clearly justified as region-specific compliance rather than presented as a blanket requirement.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill explicitly frames certain Airbnb areas as 'less regulated' and advises avoiding places with higher enforcement, which can steer users toward potentially unlicensed lodging and evasion of local compliance rules. In a travel guidance skill, this is risky because users may interpret it as practical advice for bypassing regulation rather than as a neutral description of market conditions.

Natural-Language Policy Violations

Low
Confidence
79% confidence
Finding
The phrase "Learn basic Spanish — it transforms the experience" introduces a normative language expectation rather than neutrally offering language options. Under the language/locale policy, skills should avoid forcing or pressuring a specific language unless the user is given a choice or the constraint is clearly justified.

Natural-Language Policy Violations

Low
Confidence
86% confidence
Finding
Line L243 uses prescriptive language about language use that can be read as forcing a specific language/locale. The file does not frame this as an optional preference or provide any user opt-in, which matches the language/locale policy concern for natural-language content.

Missing User Warnings

Low
Confidence
83% confidence
Finding
This markdown file includes extensive guidance on ordering and trying alcoholic drinks, including a "Must-try" recommendation, but provides no cautionary note about alcohol use, legal drinking considerations, or avoiding alcohol where inappropriate. For a user-facing guide, this is a behavior-related omission that could affect user safety.

Natural-Language Policy Violations

Low
Confidence
89% confidence
Finding
Line L248 lists "No English menu (or bad translation)" as a positive signal, which encodes a natural-language preference against English-language accessibility. This can conflict with language/locale policy expectations because it presents a specific language constraint as desirable without offering user choice or noting that this is only relevant for users seeking a local-language experience.

Natural-Language Policy Violations

Low
Confidence
85% confidence
Finding
This is a natural-language locale statement that may be read as a hard language constraint. Under the policy, skills should not force a specific language without opt-in unless the constraint is clearly justified; here it is presented as a general requirement without explanation or alternatives.

Natural-Language Policy Violations

Low
Confidence
78% confidence
Finding
The 'Best For' section lists 'Spanish speakers' as a preferred audience, which can function as a language-based suitability constraint in the skill's natural-language guidance. Because the file does not explain this as an optional preference or provide an explicit language choice, it may conflict with language/locale neutrality expectations.

Natural-Language Policy Violations

Low
Confidence
82% confidence
Finding
The section 'How to Actually Learn' includes language like 'Force yourself out of comfort zone' and recommends consuming media 'in Spanish' as the expected path, which frames a specific language as the default user behavior. Under the stated policy, forcing or prescriptively requiring a specific language without user opt-in can be a locale/language policy concern.

Natural-Language Policy Violations

Low
Confidence
78% confidence
Finding
The title and content consistently use Spanish place names and the localized city name "Sevilla" rather than offering a language or locale choice. This can be read as imposing a specific locale presentation without any indication that the user opted into Spanish naming conventions.

Natural-Language Policy Violations

Low
Confidence
86% confidence
Finding
Line L010 says users should 'Learn basic Spanish' and provides example phrases, which imposes a language preference in natural-language guidance. Under the policy, forcing a specific language without user opt-in can be a locale/language policy violation, and this file does not present it as an optional choice.

Static analysis

No suspicious patterns detected.