Back to skill

Security audit

Landing Page Generator

Security checks for vulnerabilities and agentic risk

Overview

This is a small landing-page generator with a real HTML-escaping weakness, but its behavior is disclosed, local, and limited to generating static output.

Reasonable to install for trusted local page generation. Do not pass untrusted product copy into it or publish generated pages from third-party input unless the script is updated to HTML-escape values first.

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
generate.sh:4
Finding

Unsanitized User Input Allows HTML and JavaScript Injection in Generated Pages

Content
View full analysis
${PRODUCT} ``` ```html

${PRODUCT}

${TAGLINE}

Get Started

Why ${PRODUCT}?

⚡ Fast

${DESC}

``` ```html

Ready to get started?

Join thousands who already use ${PRODUCT}.

Sign Up Free

© ${YEAR} ${PRODUCT}. All rights reserved.

``` ### Technical Analysis The script treats its three command-line arguments as trusted text and interpolates them directly into an HTML heredoc. It does not encode HTML metacharacters such as `&`, `<`, `>`, `"`, and `'`. An attacker who can control any of these arguments can terminate the intended text node or element and inject arbitrary HTML. For example, a description containing: ```html

``` would be emitted as executable markup rather than displayed as text. When the generated page is opened in a browser, the injected event handler executes. A script element or other active HTML content could similarly be introduced. This is an HTML-generation vulnerability rather than shell command injection. Shell syntax contained inside an already supplied argument is not re-evaluated as shell code by parameter expa ...[truncated 1477 chars]

Remediation
View remediation
`, `"`, and `'` in `PRODUCT`, `TAGLINE`, and `DESC`. 3. Apply encoding at output time and according to the destination context. The current inputs are used in HTML text and title content; future use in attributes, URLs, CSS, or JavaScript would require different context-specific encoding. 4. Validate input lengths and reject control characters or content outside the expected product-text format where appropriate. 5. Add regression tests using payloads such as `
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 (1)

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The generated document hard-codes lang="en", which imposes a specific language/locale in the output. This is a natural-language policy concern because the skill does not offer a user opt-in or indicate that the output is intentionally region-specific.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.