Back to skill

Security audit

Valencia

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Valencia guide, but it asks users to store sensitive personal and government details in a persistent plaintext profile without privacy safeguards.

Before installing, treat this as a local Markdown reference, not authoritative legal or tax advice. Do not put full NIE, SIP, Social Security numbers, exact address, third-party contacts, or detailed immigration and income information into ~/valencia/profile.md; use coarse statuses or masked values, restrict file permissions, and verify visa, tax, healthcare, school, and business requirements with official sources or qualified local professionals.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
memory-template.md:8
Finding

Persistent Plaintext Storage of Sensitive Personal and Government Information

Content
View full analysis
Remediation
View remediation
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 38)May include surrounding context.

md
| Overview & dining scene | `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 42)May include surrounding context.

md
| Horarios, tipping, reservations | `food-practical.md` |

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · memory-template.md (reported line 4)May include surrounding context.

md
# Valencia — Personal Profile

## Status
<!-- Current stage of your Valencia journey -->
- **Stage**: [Researching | Planning | Moving | Settled]
- **Arrival date**: [Date or planned date]
- **Expected duration**: [Visit | 1-2 years | Long-term | Permanent]

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill activates on essentially any Valencia-related request, which is overly broad and can cause unintended invocation on generic queries about the city. While this is not a direct code-execution issue, it can route users into the skill when a narrower or more appropriate capability should handle the request, increasing the chance of irrelevant guidance or context leakage across tasks.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The section explicitly frames learning Spanish as the expected path for integration and later tells readers not to 'only speak English' and to learn basic Spanish. This is a natural-language locale preference presented as a normative requirement rather than an optional choice, with no user opt-in or accommodation for language preference.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The homeschooling section presents a legally sensitive topic as a practical option while describing it as 'tolerated' and a 'gray area,' but it does not clearly instruct readers to verify current law or obtain official/legal advice before acting. In a relocation/education guidance skill, users may rely on this as actionable compliance guidance and could expose themselves to truancy, child welfare, or administrative consequences if the information is outdated or incomplete.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The template explicitly solicits sensitive personal and immigration-related data such as nationality, visa status, NIE status, employment details, income range, and family information without any privacy notice, minimization guidance, or safe-handling warning. In an agent memory context, this increases the risk of unnecessary collection, retention, and downstream exposure of personally identifiable and legally sensitive data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Later sections of the template request contacts, exact address, emergency references, and document identifiers including NIE, SIP, and Social Security numbers, again without warning users about privacy implications. If persisted in memory or logs, these fields could enable identity theft, stalking, profiling, or unauthorized access to personal accounts and services.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This file gives detailed immigration, visa, residency, and tax guidance with specific thresholds, timelines, and eligibility statements, but it does not warn users that these rules can change, vary by consulate, and depend on individual circumstances. A user could rely on outdated or oversimplified information and make costly legal, travel, or tax decisions, especially because the skill presents the material as authoritative and actionable.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

This file provides specific legal, tax, payroll, and compliance guidance, including rates, thresholds, deadlines, and procedural steps, without a prominent warning that these rules can change and may vary by circumstance. Users may reasonably rely on outdated or oversimplified information when forming a business, hiring staff, or filing taxes, which can lead to noncompliance, penalties, or liability.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The phrase 'Valencia's biggest draw for northern Europeans' frames the guidance around a specific audience perspective rather than neutrally presenting climate information. This is a natural-language locale/audience preference that is not offered as an opt-in or user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The dedicated heading 'For Northern Europeans' gives preferential treatment to one regional audience and may conflict with language/locale neutrality expectations. While other regions are mentioned later, this sectioning still imposes a specific locale framing rather than inviting user selection.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
75% confidence
Finding

Lines L039-L040 state that Valencians eat paella at lunch 'never dinner' and that it is 'not served individually,' presenting cultural preferences as hard rules. This is a natural-language policy concern because it dictates behavior in a rigid way rather than offering user choice or clarifying that these are traditional norms.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

Lines L103-L115 provide a fixed Spanish phrase set for dietary requests, and similar sections elsewhere assume Spanish usage as the default interaction language. Because the file does not offer an explicit language choice or opt-in, this can be interpreted as a locale/language preference being imposed rather than optional guidance.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The guide highlights 'English-speaking available' as a recommendation, which can embed an implicit language preference rather than offering neutral multilingual options. Under the policy rule, natural-language content that pushes a specific language without user opt-in can be a locale-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 guidance tells users to "Learn basic Spanish" for emergencies, which imposes a language expectation without any explicit opt-in or alternative language support. Under the stated policy, locale or language constraints should either be optional or clearly justified with user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

Line L299 states 'Not learning Spanish' as a common mistake, which frames use of a specific language as a normative requirement. This can be read as a language-policy preference without user opt-in or acknowledgement of alternatives.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

Line L185 states 'LinkedIn profile in English' as a standalone tip, which can be read as a prescriptive language preference rather than an optional suggestion. The policy requires flagging language or locale guidance that forces a specific language without user opt-in, and this line does not offer a choice or explain when another language may be appropriate.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The file contains natural-language guidance about language use and presents Spanish as universally spoken in a way that removes nuance and user choice. Under the policy, locale or language constraints should either offer user opt-in or be clearly justified; this phrasing is overly absolute.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.