Back to skill

Security audit

landing-alta-conversion-f100k

Security checks for vulnerabilities and agentic risk

Overview

This is mostly a coherent landing-page generator, but it needs review because it can create realistic synthetic testimonial screenshots without visible disclosure to viewers.

Before installing or using this skill, require that any generated testimonial or social-proof image be visibly labeled as illustrative, and use real customer names, results, screenshots, logos, and claims only when you have evidence and permission. The file-generation, checkout-link, image-cost, and deployment behavior is otherwise disclosed and user-directed.

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
Findings (1)

other

Warning
Location
references/prompts-mockup.md:23
Finding
Undisclosed Synthetic Testimonials Presented as Authentic Customer Communications## Vulnerability Details **File Location**: `references/prompts-mockup.md:23-35` **Vulnerability Type**: Deceptive synthetic testimonial generation **Risk Level**: Medium **Complete Snippet**: ```markdown ## 2 · Capturas de testimonio (parecen screenshots reales) Dos rutas — elige según lo que aporte el usuario: **A. El usuario aporta capturas reales de DM/WhatsApp/resultados** → úsalas tal cual (mejor conversión, cero coste). Recórtalas limpias. **B. Generadas** — prompt por testimonio: ``` Realistic smartphone screenshot of a direct-message / results notification. Shows a short message from "[NOMBRE]" celebrating growth: "[TRANSFORMACIÓN]". Instagram/WhatsApp-style UI, believable, casual. Spanish text. Vertical 4:5. No watermark. ``` > Nota: si se generan testimonios, aclarar internamente que son *representativos* y no inventar métricas falsas de personas reales (ver guardarraíl NUNCA inventar data). ``` ### Technical Analysis The Skill provides an operational workflow for generating synthetic testimonials that deliberately resemble authentic direct messages or results notifications. The generation prompt requires a “believable” Instagram/WhatsApp-style interface and explicitly requests that the image contain no watermark. The only disclosure requirement is that generated testimonials be identified **internally** as representative. No instruction requires a visible disclosure on the resulting public landing page. Consequently, prospective customers may be shown generated communications as if they were screenshots of actual customer messages. The guardrail against inventing metrics for real people does not resolve the underlying issue: the generated image still represents that an authentic customer communication or results notification exists when it does not. This is reachable through the normal workflow described in `SKILL.md:68-69`, which directs the agent to generate testimonial images when genuine screenshots are unavailable. ### Attack Path 1. ...[truncated 1332 chars]
Remediation
## Remediation Suggestions 1. Remove instructions to imitate authentic Instagram, WhatsApp, direct-message, or results-notification interfaces. 2. Do not request unwatermarked synthetic testimonials intended to resemble real customer communications. 3. Require generated examples to use a neutral quote-card design that cannot be mistaken for an actual platform screenshot. 4. Add a prominent, visible label directly within every generated asset, such as “Illustrative example — not an actual customer message.” 5. Require documentary proof and explicit authorization before publishing names, photographs, measurable transformations, or attributed testimonial claims. 6. Add a mandatory verification step that distinguishes: - verified testimonials with publication consent; - anonymized but genuine testimonials with retained evidence; and - synthetic illustrations that must be visibly disclosed. 7. Update the final conversion checklist to reject any synthetic social-proof image lacking an audience-visible disclosure.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (8)

Hidden Instructions

High
Category
Prompt Injection
Content
<!--
  ============================================================================
  PLANTILLA BASE — Landing de Alta Conversión (tripwire) · FÓRMULA 100K
  ----------------------------------------------------------------------------
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
· GHL-SAFE: la barra de anuncio va FUERA de #wrapper (elementos sticky/fixed
    dentro de #wrapper se recortan en GHL). Ver nota GHL al final.
  · Reemplaza cada {{TOKEN}}. Los bloques repetibles están marcados con
    <!-- REPEAT:xxx --> ... <!-- /REPEAT:xxx -->
  ============================================================================
-->
<meta charset="utf-8">
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<div id="wrapper">

  <!-- ═══════════════════ 1 · HERO ═══════════════════ -->
  <section class="hero wrap">
    <h1>{{H1}}</h1>
    <p class="sub">{{SUBHEADLINE}}</p>
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The instruction 'Copy en español neutro' forces a specific language for generated content. The file does not indicate that the user can opt into another language or that the skill is restricted to a Spanish-only regional/compliance context, which makes this a natural-language locale policy issue.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
Line L54 explicitly requires 'Español NEUTRO' and forbids regional variants such as 'vos', 'tenés', and 'acá'. This is a natural-language locale policy constraint presented as a requirement, with no indication that the user can choose their preferred dialect or opt in to this locale restriction.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The prompt explicitly requires 'Spanish text' for generated testimonial screenshots. This imposes a specific language choice in the skill instructions without indicating user choice, opt-in, or a documented regional justification.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
This HTML template contains user-facing copy, comments, and labels exclusively in Spanish, such as headings, CTA context, FAQ labels, and legal/footer text placeholders. Under the natural-language policy rule, forcing a specific language without opt-in can be a locale policy violation when no justification or language-selection mechanism is provided.

Natural-Language Policy Violations

Low
Confidence
93% confidence
Finding
This markdown file contains user-facing instructions exclusively in Spanish, and there is no indication that the skill is intentionally limited to Spanish-speaking users or a specific region. Under the language/locale policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Static analysis

No suspicious patterns detected.