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
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 31)May include surrounding context.

md
| Overview and tapeo culture | `food-overview.md` |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 70)May include surrounding context.

md
| Overview and tapeo culture | `food-overview.md` |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 35)May include surrounding context.

md
| Dietary tips and Ramadan | `food-practical.md` |

Vague Triggers

Medium
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.