Back to skill

Security audit

carrusel-viral-formula100k

Security checks for vulnerabilities and agentic risk

Overview

The skill is for creating Instagram carousel content, but it relies on raw external API calls and environment credentials with limited user-facing disclosure.

Install only if you are comfortable with the agent sending carousel prompts and brand context to Gemini or similar services, using configured API tokens, and optionally editing a Canva design you provide. Review costs and remove or avoid environment keys you do not want used; treat the saved brand profile as persistent local data.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (9)

Vague Triggers

High
Confidence
98% confidence
Finding
La descripción define activación 'SIEMPRE' para frases muy comunes como 'hazme un carrusel', 'quiero hacer slides' o 'estructura mis diapositivas', lo que crea un disparador excesivamente amplio. Esto puede secuestrar conversaciones no relacionadas, forzar ejecución de pasos con herramientas externas y hacer que la skill actúe fuera de la intención real del usuario.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
La skill instruye a usar credenciales externas del entorno como GEMINI_API_KEY y APIFY_TOKEN para operar con servicios de terceros. Aunque no exfiltra explícitamente los secretos, normaliza su uso sin controles de consentimiento, alcance ni restricciones, aumentando el riesgo de exposición accidental o uso indebido de recursos facturables.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
La skill indica usar API keys y servicios externos, pero no incorpora advertencias claras sobre tratamiento de secretos, costos, retención de datos o envío a terceros. En la práctica, esto puede llevar a que el agente use recursos sensibles o facturables sin transparencia suficiente ni límites operativos.

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
La skill incluye ejecución de shell, Python y curl como parte de su flujo operativo, lo que excede ampliamente lo necesario para redactar un carrusel. En un entorno agentic, estas instrucciones pueden activar capacidades locales y de red con acceso a archivos, secretos y servicios externos, ampliando significativamente la superficie de ataque.

External Transmission

Medium
Category
Data Exfiltration
Content
La imagen se guarda en `entregables/imagenes/`.

#### Opción C — curl directo (si hay error SSL de Python)

```bash
API_KEY="$GEMINI_API_KEY"
Confidence
96% confidence
Finding
El uso de curl directo hacia la API de Gemini constituye transmisión externa de datos construidos por la skill, potencialmente incluyendo prompts derivados del contexto del usuario. Sin minimización de datos, consentimiento explícito y encapsulación segura, esta salida de red puede exponer información sensible y consumir servicios externos de manera opaca.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
La skill promete crear carruseles, pero amplía obligatoriamente su comportamiento para generar un calendario de contenido de 30 días con piezas derivadas no solicitadas. Esta expansión de alcance viola el principio de mínima acción y puede provocar salidas no deseadas, mayor exposición de contexto del usuario y ejecución de tareas fuera de la expectativa original.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The file states that the skill will collect screenshots or questionnaire answers and 'save' a persistent brand profile, but it provides no disclosure about what data is retained, for how long, where it is stored, or who can access it. In a creative assistant context, uploaded screenshots may contain personal, proprietary, or client branding information, so silent persistence creates privacy and data-governance risk even if there is no obvious malicious behavior.

Description-Behavior Mismatch

Medium
Confidence
98% confidence
Finding
The manifest states the skill knows 'los 35 formatos' and explicitly enumerates F01–F20 and G01–G15, which totals 35. This file is titled 'Los 37 formatos' and contains entries through G17, indicating the documented behavior/scope has expanded beyond what the manifest describes.

Intent-Code Divergence

Low
Confidence
99% confidence
Finding
The title at L01 claims '37 formatos', but the table lists F01–F20 and G01–G17, which adds up to 36 entries. This is a direct contradiction within the documentation itself, not merely an omission.

Static analysis

No suspicious patterns detected.