Skip to content

Skills installation from URL has no content-type or size validation #70

Description

@kumarabhirup

Description

src/agents/skills-install.ts fetches skill files from URLs. The fetch likely doesn't validate:

  • Content-Type header (could receive binary instead of markdown)
  • Response size (could be a multi-GB file causing OOM)
  • Content encoding (gzip bomb)

Impact

Low-Medium — A malicious skill URL could cause denial of service.

Suggested Fix

  • Validate Content-Type is text/markdown or text/plain
  • Enforce a maximum download size (e.g., 1MB)
  • Stream the response and abort if size exceeds limit
  • Validate the skill frontmatter after download

Metadata

Metadata

Assignees

No one assigned

    Labels

    securitySecurity vulnerabilities

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions